![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
bertl
Fork of BertlTemplate2 by
Diff: BertlTemplate_Kurven_Fahren.cpp
- Revision:
- 4:260550801324
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BertlTemplate_Kurven_Fahren.cpp Mon May 02 17:10:27 2016 +0000 @@ -0,0 +1,108 @@ + +#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); +Timer t2, t3; +//--------------------------------------------------------------- + + + +void LeftCurve() +{ + t3.reset(); + mL.SetPow2(0.2); + mR.SetPow2(0.4); + while (1) { + if(t3.read_ms()>5000) + break; + if(t2.read_ms()>100) + { + t2.reset(); + pex.ToggleLeds(LED_FL1); + } + } + mL.SetPow2(0.0); + mR.SetPow2(0.0); + pex.ClearLeds(); +} + +//--------------------------------------------------------------- + +void RightCurve() +{ + t3.reset(); + mL.SetPow2(0.4); + mR.SetPow2(0.2); + while (1) { + if(t3.read_ms()>5000) + break; + if(t2.read_ms()>100) + { + t2.reset(); + pex.ToggleLeds(LED_FR1); + } + } + mL.SetPow2(0.0); + mR.SetPow2(0.0); + pex.ClearLeds(); +} + + +//--------------------------------------------------------------- +void Forward() +{ + t3.reset(); + mL.SetPow2(0.2); + mR.SetPow2(0.2); + while (1) { + if(t3.read_ms()>5000) + break; + if(t2.read_ms()>100) + { + t2.reset(); + pex.ToggleLeds(LED_ALL_FRONT); + } + } + mL.SetPow2(0.0); + mR.SetPow2(0.0); + pex.ClearLeds(); +} + +//--------------------------------------------------------------- +//--------------------------------------------------------------- + + +int main(void) +{ + boardPow=1; + wait_ms(10); + InitBertl(); + pex.useISR=0; + leds=9; + pex.ClearLeds(); + + + pex.WaitUntilButtonPressed(); + + t2.start(); + t3.start(); + + while(1) { + pex.ReadButtons(); + if( pex.IsButton (BTN_FLL|BTN_FL) ) + LeftCurve(); + if( pex.IsButton(BTN_FRR|BTN_FR)) + RightCurve(); + if( pex.IsButton(BTN_FM)) + Forward(); + } + return 1; +} + + + +