Martin Werluschnig
/
Rasenmaeher_Angabe
Rasenmaeher_Angabe
Diff: RasenMaeher.cpp
- Revision:
- 5:952090ddc8eb
- Child:
- 6:5d2d394eb087
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RasenMaeher.cpp Tue Jun 12 11:19:48 2018 +0000 @@ -0,0 +1,90 @@ + +#include "mbed.h" +#include "Serial_HL.h" +#include "Bertl14.h" +#include "BertlObjects.h" + +// main=2^0 LS ENC 2^2 +BusOut boardPow(p30, P1_6, P1_7); +AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17); // B15 + +// Alle Funktionen die den Bertl bewegen werden mit +// ausgeschalteten Motoren betreten und mit ausgeschalteten Motoren +// wieder verlassen + +void ForewardUntilWall(); + +void SomeStepsBack(); + +void TurnLeft(); + +void TurnRight(); + +void FrontBlinkerTask(); + +void BackBlinkerTask(); + +// Line==left ret 1 Line==right ret 2 +int CheckLineSensors(); + +int main(void) +{ + boardPow=3; wait_ms(10); + InitBertl(); leds=9; + pex.ClearLeds(); + + int dir; + while(1) + { + ForewardUntilWall(); + dir = CheckLineSensors(); + wait_ms(200); // for debugging + SomeStepsBack(); + wait_ms(200); // for debugging + if( dir==1 ) + TurnLeft(); + else + TurnRight(); + wait_ms(200); // for debugging + } + + return 1; +} + +void ForewardUntilWall() +{ + // Motorten einschalten + while(1) + { + FrontBlinkerTask(); + // CheckLineSensors(); + // für Aufgabe 3 CheckButtons() + // if( Button_pressed or LinSensor ) + // break; + } + // Motoren ausschalten +} + +void SomeStepsBack() +{ + // Motoren auf rückwärts + // wait_ms(100); + // Motoren ausschalten +} + +void TurnLeft() +{ +} + +void TurnRight() +{ +} + +void FrontBlinkerTask() +{ +} + +void BackBlinkerTask() +{ +} +