Porn

Dependencies:   HCSR04 mbed

Fork of UltrasonicCasper by Casper Thomsen

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?

UserRevisionLine numberNew 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