T Kondo / Mbed 2 deprecated LineTracett

Dependencies:   mbed

Committer:
Privias
Date:
Thu Jul 17 12:17:49 2014 +0000
Revision:
0:086810854173
Line Trace
;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Privias 0:086810854173 1 #include "mbed.h"
Privias 0:086810854173 2
Privias 0:086810854173 3 PwmOut Right1(p24);
Privias 0:086810854173 4 PwmOut Right(p23);
Privias 0:086810854173 5 PwmOut Left1(p22);
Privias 0:086810854173 6 PwmOut Left(p21);
Privias 0:086810854173 7
Privias 0:086810854173 8 AnalogIn ainL1(p17) ; //Left Sencer IN
Privias 0:086810854173 9 AnalogIn ainR1(p18) ; //Right Sencor IN
Privias 0:086810854173 10 AnalogIn ain(p16); //Sensor
Privias 0:086810854173 11 Serial pc(USBTX,USBRX) ;
Privias 0:086810854173 12
Privias 0:086810854173 13 int main(){
Privias 0:086810854173 14 wait_ms(2000);
Privias 0:086810854173 15 pc.baud ( 115200 ) ;
Privias 0:086810854173 16
Privias 0:086810854173 17 Right.period(0.020);
Privias 0:086810854173 18 Right1.period(0.020);
Privias 0:086810854173 19 Left.period(0.020);
Privias 0:086810854173 20 Left1.period(0.020);
Privias 0:086810854173 21 double p ;
Privias 0:086810854173 22 while(1){
Privias 0:086810854173 23 double L1 = ainL1.read() ;
Privias 0:086810854173 24 double adVL = L1*100 ;
Privias 0:086810854173 25 double R1 = ainR1.read() ;
Privias 0:086810854173 26 double adVR = R1*100 ;
Privias 0:086810854173 27 double ai=ain*100;
Privias 0:086810854173 28 double t=1.0;
Privias 0:086810854173 29 if(ai>60.0){
Privias 0:086810854173 30 p=0.001;
Privias 0:086810854173 31 double t=0;
Privias 0:086810854173 32 }
Privias 0:086810854173 33 if(ai>58.0 && ai<=60.0){
Privias 0:086810854173 34 p=0.005;
Privias 0:086810854173 35 }
Privias 0:086810854173 36 if(ai>57.0 && ai<=58.0){
Privias 0:086810854173 37 p=0.006;
Privias 0:086810854173 38 }
Privias 0:086810854173 39 if(ai>55.0 && ai<=57.0){
Privias 0:086810854173 40 p=0.007;
Privias 0:086810854173 41 }
Privias 0:086810854173 42 if(ai>=50.0 && ai<=55.0){
Privias 0:086810854173 43 p=0.008;
Privias 0:086810854173 44 }
Privias 0:086810854173 45 if(ai<50.0 && ai<=30.0){
Privias 0:086810854173 46 p=0.010;
Privias 0:086810854173 47 }
Privias 0:086810854173 48 if(ai<30.0){
Privias 0:086810854173 49 p=0.018;
Privias 0:086810854173 50 } //Speed
Privias 0:086810854173 51 double p1=0.007;
Privias 0:086810854173 52 //double p=0.007; //speed
Privias 0:086810854173 53 //Line Found
Privias 0:086810854173 54 double adRR= 1.0 ;
Privias 0:086810854173 55 double adLL= 2.1;
Privias 0:086810854173 56 if(t==0){
Privias 0:086810854173 57 Right.pulsewidth(0.004);
Privias 0:086810854173 58 Left.pulsewidth(0.004);
Privias 0:086810854173 59 Right1.pulsewidth(0.004);
Privias 0:086810854173 60 Left1.pulsewidth(0.004);
Privias 0:086810854173 61 }
Privias 0:086810854173 62
Privias 0:086810854173 63 if(adVR <adRR && adVL> adLL){ //if Right sensor found Brack Line
Privias 0:086810854173 64 Right.pulsewidth(0);
Privias 0:086810854173 65 Left1.pulsewidth(0);
Privias 0:086810854173 66 Right1.pulsewidth(p1); //Left Motor on AND Roght Motor off
Privias 0:086810854173 67 Left.pulsewidth(p1);
Privias 0:086810854173 68
Privias 0:086810854173 69 }
Privias 0:086810854173 70 if(adVL<adLL && adVR>adRR){ //if Left sensor found Brack Line
Privias 0:086810854173 71 Right1.pulsewidth(0);
Privias 0:086810854173 72 Left.pulsewidth(0);
Privias 0:086810854173 73 Left1.pulsewidth(p1); //Left Motor off AND Roght Motor on
Privias 0:086810854173 74 Right.pulsewidth(p1);
Privias 0:086810854173 75 }
Privias 0:086810854173 76 if(adVR>adRR && adVL>adLL){ // if Vihicle in White Line
Privias 0:086810854173 77 Right1.pulsewidth(0);
Privias 0:086810854173 78 Left1.pulsewidth(0);
Privias 0:086810854173 79 Right.pulsewidth(p);
Privias 0:086810854173 80 Left.pulsewidth(p); //Go Strait
Privias 0:086810854173 81 }
Privias 0:086810854173 82 if(adVR<adRR && adVL<adLL){ // if Vihicle in Black Line
Privias 0:086810854173 83 Right.pulsewidth(0);
Privias 0:086810854173 84 Left.pulsewidth(0);
Privias 0:086810854173 85 Right1.pulsewidth(p);
Privias 0:086810854173 86 Left1.pulsewidth(p); //Go Back
Privias 0:086810854173 87 wait_ms(50);
Privias 0:086810854173 88 }
Privias 0:086810854173 89
Privias 0:086810854173 90 pc.printf( "L-Sensor = %4.2f R-Sensor = %4.2f \r\n ", adVL, adVR ) ;
Privias 0:086810854173 91 }//while
Privias 0:086810854173 92 }//main