Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:086810854173, 2014-07-17 (annotated)
- Committer:
- Privias
- Date:
- Thu Jul 17 12:17:49 2014 +0000
- Revision:
- 0:086810854173
Line Trace
;
Who changed what in which revision?
User | Revision | Line number | New 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 |