![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Porn
Fork of UltrasonicCasper by
main.cpp@3:bebb73b82a17, 2015-04-11 (annotated)
- Committer:
- Risifutti
- Date:
- Sat Apr 11 08:10:49 2015 +0000
- Revision:
- 3:bebb73b82a17
- Parent:
- 2:39179781a18c
R?GE
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DavidMeza | 0:7eded57f1445 | 1 | #include "mbed.h" |
DavidMeza | 0:7eded57f1445 | 2 | #include "HCSR04.h" |
DavidMeza | 0:7eded57f1445 | 3 | |
CTxD | 2:39179781a18c | 4 | // Set's the Serial port |
oscargrodri | 1:a8d4271903ac | 5 | Serial pc(USBTX, USBRX); |
CTxD | 2:39179781a18c | 6 | |
CTxD | 2:39179781a18c | 7 | // Defines the LED colors |
DavidMeza | 0:7eded57f1445 | 8 | DigitalOut led(LED_RED); |
DavidMeza | 0:7eded57f1445 | 9 | DigitalOut led2(LED_GREEN); |
DavidMeza | 0:7eded57f1445 | 10 | |
CTxD | 2:39179781a18c | 11 | // Defines the sensors (Left and Right) |
CTxD | 2:39179781a18c | 12 | HCSR04 sensorLEFT(PTA12, PTD4); |
CTxD | 2:39179781a18c | 13 | HCSR04 sensorRIGHT(PTA4, PTA5); |
DavidMeza | 0:7eded57f1445 | 14 | |
CTxD | 2:39179781a18c | 15 | // Get the left distance variable |
CTxD | 2:39179781a18c | 16 | int distLeft(int dLEFT){ |
CTxD | 2:39179781a18c | 17 | return dLEFT; |
CTxD | 2:39179781a18c | 18 | } |
CTxD | 2:39179781a18c | 19 | |
CTxD | 2:39179781a18c | 20 | // Get the right distance variable |
CTxD | 2:39179781a18c | 21 | int distRight(int dRIGHT){ |
CTxD | 2:39179781a18c | 22 | return dRIGHT; |
CTxD | 2:39179781a18c | 23 | } |
CTxD | 2:39179781a18c | 24 | |
CTxD | 2:39179781a18c | 25 | |
Risifutti | 3:bebb73b82a17 | 26 | //SELVKØRENDE I MØRKET! |
Risifutti | 3:bebb73b82a17 | 27 | void selfDrive(){ |
Risifutti | 3:bebb73b82a17 | 28 | |
Risifutti | 3:bebb73b82a17 | 29 | int dLEFT = sensorLEFT.distance(CM); |
Risifutti | 3:bebb73b82a17 | 30 | int dRIGHT = sensorRIGHT.distance(CM); |
Risifutti | 3:bebb73b82a17 | 31 | |
Risifutti | 3:bebb73b82a17 | 32 | // Writes the left and right distance variable |
Risifutti | 3:bebb73b82a17 | 33 | pc.printf("SENSOR Left: %d \n\r\v",distLeft(dLEFT)); |
Risifutti | 3:bebb73b82a17 | 34 | pc.printf("SENSOR Right: %d \n\r\v",distRight(dRIGHT)); |
Risifutti | 3:bebb73b82a17 | 35 | |
Risifutti | 3:bebb73b82a17 | 36 | |
Risifutti | 3:bebb73b82a17 | 37 | //Drej til venstre for at rette op |
Risifutti | 3:bebb73b82a17 | 38 | if(dRIGHT > 60 && dLEFT > 60 || BT.getc()=='p'){ |
Risifutti | 3:bebb73b82a17 | 39 | control = 0; |
Risifutti | 3:bebb73b82a17 | 40 | } |
Risifutti | 3:bebb73b82a17 | 41 | |
Risifutti | 3:bebb73b82a17 | 42 | else if(dRIGHT > 35){ |
Risifutti | 3:bebb73b82a17 | 43 | leftForward = 0.75; |
Risifutti | 3:bebb73b82a17 | 44 | leftBackward = 0.25; |
Risifutti | 3:bebb73b82a17 | 45 | rightForward = 0.25; |
Risifutti | 3:bebb73b82a17 | 46 | rightBackward = 0.75; |
Risifutti | 3:bebb73b82a17 | 47 | } |
Risifutti | 3:bebb73b82a17 | 48 | |
Risifutti | 3:bebb73b82a17 | 49 | else if(dLEFT > 35){ |
Risifutti | 3:bebb73b82a17 | 50 | leftForward = 0.25; |
Risifutti | 3:bebb73b82a17 | 51 | leftBackward = 0.75; |
Risifutti | 3:bebb73b82a17 | 52 | rightForward = 0.75; |
Risifutti | 3:bebb73b82a17 | 53 | rightBackward = 0.25; |
Risifutti | 3:bebb73b82a17 | 54 | } |
Risifutti | 3:bebb73b82a17 | 55 | |
Risifutti | 3:bebb73b82a17 | 56 | else if(dRIGHT > 50){ |
Risifutti | 3:bebb73b82a17 | 57 | leftForward = 0.1; |
Risifutti | 3:bebb73b82a17 | 58 | leftBackward = 0.9; |
Risifutti | 3:bebb73b82a17 | 59 | rightForward = 0.9; |
Risifutti | 3:bebb73b82a17 | 60 | rightBackward = 0.1; |
Risifutti | 3:bebb73b82a17 | 61 | } |
Risifutti | 3:bebb73b82a17 | 62 | |
Risifutti | 3:bebb73b82a17 | 63 | else if(dLEFT > 50){ |
Risifutti | 3:bebb73b82a17 | 64 | leftForward = 0.1; |
Risifutti | 3:bebb73b82a17 | 65 | leftBackward = 0.9; |
Risifutti | 3:bebb73b82a17 | 66 | rightForward = 0.9; |
Risifutti | 3:bebb73b82a17 | 67 | rightBackward = 0.1; |
Risifutti | 3:bebb73b82a17 | 68 | |
Risifutti | 3:bebb73b82a17 | 69 | else{ |
Risifutti | 3:bebb73b82a17 | 70 | leftForward = 1; |
Risifutti | 3:bebb73b82a17 | 71 | leftBackward = 0; |
Risifutti | 3:bebb73b82a17 | 72 | rightForward = 1; |
Risifutti | 3:bebb73b82a17 | 73 | rightBackward = 0; |
Risifutti | 3:bebb73b82a17 | 74 | } |
Risifutti | 3:bebb73b82a17 | 75 | } |
CTxD | 2:39179781a18c | 76 | // The main() function |
DavidMeza | 0:7eded57f1445 | 77 | int main() |
DavidMeza | 0:7eded57f1445 | 78 | { |
CTxD | 2:39179781a18c | 79 | |
Risifutti | 3:bebb73b82a17 | 80 | |
CTxD | 2:39179781a18c | 81 | // The loop() function |
oscargrodri | 1:a8d4271903ac | 82 | while(1) { |
Risifutti | 3:bebb73b82a17 | 83 | //left and right distance variables |
Risifutti | 3:bebb73b82a17 | 84 | selfControl(dRIGHT, dLEFT); |
oscargrodri | 1:a8d4271903ac | 85 | |
CTxD | 2:39179781a18c | 86 | |
CTxD | 2:39179781a18c | 87 | // Delay |
CTxD | 2:39179781a18c | 88 | wait(0.5); |
oscargrodri | 1:a8d4271903ac | 89 | } |
CTxD | 2:39179781a18c | 90 | |
oscargrodri | 1:a8d4271903ac | 91 | } |
oscargrodri | 1:a8d4271903ac | 92 | |
Risifutti | 3:bebb73b82a17 | 93 | |
oscargrodri | 1:a8d4271903ac | 94 | |
oscargrodri | 1:a8d4271903ac | 95 | |
oscargrodri | 1:a8d4271903ac | 96 |