Programm;

Dependencies:   bertl14 mbed

Committer:
heinrich_kevin
Date:
Mon Feb 01 10:49:27 2016 +0000
Revision:
0:3b2842ecf7dd
.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
heinrich_kevin 0:3b2842ecf7dd 1 //******************************************************************************************************
heinrich_kevin 0:3b2842ecf7dd 2 //Aufgabenstellung:
heinrich_kevin 0:3b2842ecf7dd 3
heinrich_kevin 0:3b2842ecf7dd 4 //BERTL fährt nach vorne bis einer der vorderen Taster einen Widerstand erkennt, dann fährt er zurück.
heinrich_kevin 0:3b2842ecf7dd 5 //BERTL fährt rückwärts bis einer der hinteren Taster einen Widerstand erkennt, dann fährt er nach vorne.
heinrich_kevin 0:3b2842ecf7dd 6 //Wenn der BERTL eingeklemmt ist (Tasten sind vorne und hinten aktiviert), dann fährt er nicht.
heinrich_kevin 0:3b2842ecf7dd 7
heinrich_kevin 0:3b2842ecf7dd 8 //Zusätzlich:
heinrich_kevin 0:3b2842ecf7dd 9 //Wenn der BERTL nach vorne fährt, sollen alle vorderen LEDs (D1, D2, D4, D5) leuchten,
heinrich_kevin 0:3b2842ecf7dd 10 //wenn er nach rückwärts fährt, sollen alle hinteren LEDs (D6 - D9) leuchten.
heinrich_kevin 0:3b2842ecf7dd 11 //Wenn er gar nicht fährt, dann sind die LEDs aus.
heinrich_kevin 0:3b2842ecf7dd 12 //********************************************************************************************************
heinrich_kevin 0:3b2842ecf7dd 13
heinrich_kevin 0:3b2842ecf7dd 14 #include "mbed.h"
heinrich_kevin 0:3b2842ecf7dd 15 #include "bertl14.h"
heinrich_kevin 0:3b2842ecf7dd 16
heinrich_kevin 0:3b2842ecf7dd 17 int main()
heinrich_kevin 0:3b2842ecf7dd 18 {
heinrich_kevin 0:3b2842ecf7dd 19 int taster;
heinrich_kevin 0:3b2842ecf7dd 20 bertl_PC9555_init();
heinrich_kevin 0:3b2842ecf7dd 21 //Start BERTL-PING-PONG
heinrich_kevin 0:3b2842ecf7dd 22 //Begin to drive FORWARD
heinrich_kevin 0:3b2842ecf7dd 23 bertl_engine(100,100);
heinrich_kevin 0:3b2842ecf7dd 24 bertl_PC9555_leds(LED_F_ALL);
heinrich_kevin 0:3b2842ecf7dd 25 while(true)
heinrich_kevin 0:3b2842ecf7dd 26 {
heinrich_kevin 0:3b2842ecf7dd 27 // Get the value
heinrich_kevin 0:3b2842ecf7dd 28
heinrich_kevin 0:3b2842ecf7dd 29 taster = bertl_PC9555_switches();
heinrich_kevin 0:3b2842ecf7dd 30 // If the Forward switches are pressed, the BERTL change his direction and drive REVERSE
heinrich_kevin 0:3b2842ecf7dd 31 // The Backward LEDs turn on
heinrich_kevin 0:3b2842ecf7dd 32 if(taster == 4 || taster == 1 || taster == 8 || taster == 5 || taster == 12 || taster == 9 || taster == 13)// => see bertl14.h
heinrich_kevin 0:3b2842ecf7dd 33 {
heinrich_kevin 0:3b2842ecf7dd 34 bertl_engine(-100, -100);
heinrich_kevin 0:3b2842ecf7dd 35 bertl_PC9555_leds(LED_B_ALL);
heinrich_kevin 0:3b2842ecf7dd 36 }
heinrich_kevin 0:3b2842ecf7dd 37 // If the Backward switches are pressed, the BERTL change his direction and drive FORWARD
heinrich_kevin 0:3b2842ecf7dd 38 // The Forward LEDs turn on
heinrich_kevin 0:3b2842ecf7dd 39 else if(taster == 16 || taster == 2 || taster == 32 || taster == 18 || taster == 48 || taster == 34 || taster == 50)// => see bertl14.h
heinrich_kevin 0:3b2842ecf7dd 40 {
heinrich_kevin 0:3b2842ecf7dd 41 bertl_engine(100,100);
heinrich_kevin 0:3b2842ecf7dd 42 bertl_PC9555_leds(LED_F_ALL);
heinrich_kevin 0:3b2842ecf7dd 43 }
heinrich_kevin 0:3b2842ecf7dd 44 // If switches on both sites are pressed, the BERTL stop driving and ALL LEDs are off
heinrich_kevin 0:3b2842ecf7dd 45 else if(taster != 0)
heinrich_kevin 0:3b2842ecf7dd 46 {
heinrich_kevin 0:3b2842ecf7dd 47 bertl_engine(0,0);
heinrich_kevin 0:3b2842ecf7dd 48 bertl_PC9555_leds(LED_OFF);
heinrich_kevin 0:3b2842ecf7dd 49 }
heinrich_kevin 0:3b2842ecf7dd 50 }
heinrich_kevin 0:3b2842ecf7dd 51 //END BERTL-PING-PONG
heinrich_kevin 0:3b2842ecf7dd 52 }