the new engineer´s / Mbed 2 deprecated Liniensensor_Bendel_V2

Dependencies:   BertlLib mbed

Fork of Liniensensor_Bendel by the new engineer´s

Committer:
schoeni_91
Date:
Mon Mar 14 18:19:29 2016 +0000
Revision:
4:e7be677a73e5
Parent:
3:b6754e794335
Version 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Lippi 3:b6754e794335 1
Lippi 3:b6754e794335 2 #include "mbed.h"
Lippi 3:b6754e794335 3 #include "Serial_HL.h"
Lippi 3:b6754e794335 4 #include "Bertl14.h"
Lippi 3:b6754e794335 5 #include "BertlObjects.h"
Lippi 3:b6754e794335 6
Lippi 3:b6754e794335 7 // main=2^0 LS ENC 2^2
Lippi 3:b6754e794335 8 BusOut boardPow(p30, P1_6, P1_7);
Lippi 3:b6754e794335 9 Timer t1, t2;
Lippi 3:b6754e794335 10 AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17);
Lippi 3:b6754e794335 11
schoeni_91 4:e7be677a73e5 12 void FollowUntilEnd ();
schoeni_91 4:e7be677a73e5 13 void TurnUntilLine();
Lippi 3:b6754e794335 14 int main(void)
Lippi 3:b6754e794335 15 {
schoeni_91 4:e7be677a73e5 16 pex.WaitUntilFrontButtonPressed();
Lippi 3:b6754e794335 17 boardPow=3;
Lippi 3:b6754e794335 18 wait_ms(10);
Lippi 3:b6754e794335 19 InitBertl();
Lippi 3:b6754e794335 20 pex.useISR=0;
Lippi 3:b6754e794335 21 leds=9;
Lippi 3:b6754e794335 22 pex.ClearLeds();
Lippi 3:b6754e794335 23 t1.start();
schoeni_91 4:e7be677a73e5 24 while(1)
schoeni_91 4:e7be677a73e5 25 {
schoeni_91 4:e7be677a73e5 26 wait_ms(1000);
schoeni_91 4:e7be677a73e5 27 FollowUntilEnd ();
schoeni_91 4:e7be677a73e5 28 wait_ms(1000);
schoeni_91 4:e7be677a73e5 29 TurnUntilLine();
Lippi 3:b6754e794335 30 }
schoeni_91 4:e7be677a73e5 31 while(1){}
schoeni_91 4:e7be677a73e5 32
Lippi 3:b6754e794335 33
Lippi 3:b6754e794335 34 return 1;
Lippi 3:b6754e794335 35 }
schoeni_91 4:e7be677a73e5 36
schoeni_91 4:e7be677a73e5 37 void FollowUntilEnd ()
schoeni_91 4:e7be677a73e5 38 {
schoeni_91 4:e7be677a73e5 39 t1.reset();
schoeni_91 4:e7be677a73e5 40 while(1) {
schoeni_91 4:e7be677a73e5 41
schoeni_91 4:e7be677a73e5 42
schoeni_91 4:e7be677a73e5 43 if (ls3.Read()>400) {
schoeni_91 4:e7be677a73e5 44 mL.SetPow(0.0);
schoeni_91 4:e7be677a73e5 45 mR.SetPow(0.25);
schoeni_91 4:e7be677a73e5 46 t1.reset();
schoeni_91 4:e7be677a73e5 47 }
schoeni_91 4:e7be677a73e5 48
schoeni_91 4:e7be677a73e5 49 else {
schoeni_91 4:e7be677a73e5 50 mL.SetPow(0.25);
schoeni_91 4:e7be677a73e5 51 mR.SetPow(0.0);
schoeni_91 4:e7be677a73e5 52 }
schoeni_91 4:e7be677a73e5 53
schoeni_91 4:e7be677a73e5 54 if (t1.read_ms()>500) {
schoeni_91 4:e7be677a73e5 55 mL.SetPow(0.0);
schoeni_91 4:e7be677a73e5 56 mR.SetPow(0.0);
schoeni_91 4:e7be677a73e5 57 return;
schoeni_91 4:e7be677a73e5 58
schoeni_91 4:e7be677a73e5 59 }
schoeni_91 4:e7be677a73e5 60
schoeni_91 4:e7be677a73e5 61 }
schoeni_91 4:e7be677a73e5 62
schoeni_91 4:e7be677a73e5 63 }
schoeni_91 4:e7be677a73e5 64
schoeni_91 4:e7be677a73e5 65 void TurnUntilLine()
schoeni_91 4:e7be677a73e5 66 {
schoeni_91 4:e7be677a73e5 67 mL.SetPow2(0.15);
schoeni_91 4:e7be677a73e5 68 mR.SetPow2(-0.15);
schoeni_91 4:e7be677a73e5 69
schoeni_91 4:e7be677a73e5 70 while(1){
schoeni_91 4:e7be677a73e5 71
schoeni_91 4:e7be677a73e5 72 if (ls3.Read()>400){
schoeni_91 4:e7be677a73e5 73 mL.SetPow2(0.0);
schoeni_91 4:e7be677a73e5 74 mR.SetPow2(0.0);
schoeni_91 4:e7be677a73e5 75 return;
schoeni_91 4:e7be677a73e5 76 }
schoeni_91 4:e7be677a73e5 77 }
schoeni_91 4:e7be677a73e5 78 }