David Burg
/
PingPongSenSon
it is veri gud program
Fork of BertlTemplate2 by
BertlTemplate.cpp@5:ea4229d52ab6, 2017-05-30 (annotated)
- 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?
User | Revision | Line number | New 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 |