it is veri gud program

Dependencies:   BertlLib mbed

Fork of BertlTemplate2 by michael hollegha

Committer:
david_burg
Date:
Tue May 30 09:46:24 2017 +0000
Revision:
5:ea4229d52ab6
Parent:
4:4b71af20b3b7
martin take

Who changed what in which revision?

UserRevisionLine numberNew contents of line
david_burg 5:ea4229d52ab6 1
hollegha2 0:fa9b473d690b 2
hollegha2 0:fa9b473d690b 3 #include "mbed.h"
hollegha2 0:fa9b473d690b 4 #include "Serial_HL.h"
hollegha2 0:fa9b473d690b 5 #include "Bertl14.h"
hollegha2 0:fa9b473d690b 6 #include "BertlObjects.h"
hollegha2 0:fa9b473d690b 7
hollegha2 2:d24a3d2438a4 8 // main=2^0 LS ENC 2^2
hollegha2 2:d24a3d2438a4 9 BusOut boardPow(p30, P1_6, P1_7);
hollegha2 0:fa9b473d690b 10
hollegha2 4:4b71af20b3b7 11 // ls5 nur beim Betrl15
david_burg 5:ea4229d52ab6 12 AnalogInHL ls1(p18), ls2(p16), ls3(p19), ls4(p17); // B14
david_burg 5:ea4229d52ab6 13 void FollowLineUntilEnd();
david_burg 5:ea4229d52ab6 14 void TurnUntilLine();
hollegha2 4:4b71af20b3b7 15
hollegha2 0:fa9b473d690b 16 int main(void)
hollegha2 0:fa9b473d690b 17 {
hollegha2 0:fa9b473d690b 18 InitBertl();
hollegha2 0:fa9b473d690b 19 pex.useISR=0; leds=9;
hollegha2 0:fa9b473d690b 20 pex.ClearLeds();
david_burg 5:ea4229d52ab6 21 pex.WaitUntilButtonPressed();
david_burg 5:ea4229d52ab6 22 boardPow = 3;
david_burg 5:ea4229d52ab6 23 wait_ms(10);
david_burg 5:ea4229d52ab6 24
david_burg 5:ea4229d52ab6 25 while(1)
david_burg 5:ea4229d52ab6 26 {
david_burg 5:ea4229d52ab6 27
david_burg 5:ea4229d52ab6 28 FollowLineUntilEnd();
david_burg 5:ea4229d52ab6 29 wait_ms(1000);
david_burg 5:ea4229d52ab6 30 TurnUntilLine();
david_burg 5:ea4229d52ab6 31 wait_ms(1000);
david_burg 5:ea4229d52ab6 32 }
david_burg 5:ea4229d52ab6 33 }
david_burg 5:ea4229d52ab6 34
david_burg 5:ea4229d52ab6 35 void FollowLineUntilEnd()
david_burg 5:ea4229d52ab6 36 {
david_burg 5:ea4229d52ab6 37 mL.SetPow(0.2); mR.SetPow(0.2);
hollegha2 0:fa9b473d690b 38
hollegha2 0:fa9b473d690b 39 while(1)
hollegha2 0:fa9b473d690b 40 {
david_burg 5:ea4229d52ab6 41 if(ls1.Read() > 900)
david_burg 5:ea4229d52ab6 42 {
david_burg 5:ea4229d52ab6 43 mL.SetPow(0); mR.SetPow(0.8);
david_burg 5:ea4229d52ab6 44 }
david_burg 5:ea4229d52ab6 45 else
david_burg 5:ea4229d52ab6 46 {
david_burg 5:ea4229d52ab6 47 mL.SetPow(0.8); mR.SetPow(0);
david_burg 5:ea4229d52ab6 48 }
david_burg 5:ea4229d52ab6 49
david_burg 5:ea4229d52ab6 50 if(ls1.Read() < 300 && ls2.Read() < 300 && ls3.Read() < 300 && ls4.Read() < 300)
david_burg 5:ea4229d52ab6 51 {
david_burg 5:ea4229d52ab6 52 mL.SetPow(0); mR.SetPow(0);
david_burg 5:ea4229d52ab6 53 return;
david_burg 5:ea4229d52ab6 54 }
david_burg 5:ea4229d52ab6 55
hollegha2 0:fa9b473d690b 56 }
david_burg 5:ea4229d52ab6 57 }
hollegha2 0:fa9b473d690b 58
david_burg 5:ea4229d52ab6 59 void TurnUntilLine()
david_burg 5:ea4229d52ab6 60 {
david_burg 5:ea4229d52ab6 61 mL.SetPow(0.8); mR.SetPow(-0.8);
david_burg 5:ea4229d52ab6 62 while(1)
david_burg 5:ea4229d52ab6 63 {
david_burg 5:ea4229d52ab6 64 if(ls1.Read() > 900 || ls2.Read() > 900 || ls3.Read() > 900 || ls4.Read() > 900)
david_burg 5:ea4229d52ab6 65 {
david_burg 5:ea4229d52ab6 66 mL.SetPow(0);mR.SetPow(0);
david_burg 5:ea4229d52ab6 67 return;
david_burg 5:ea4229d52ab6 68 }
david_burg 5:ea4229d52ab6 69
david_burg 5:ea4229d52ab6 70 }
hollegha2 0:fa9b473d690b 71 }
david_burg 5:ea4229d52ab6 72