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.
Dependencies: mbed
ER2_Robot/suivi.cpp@3:b85df47a059a, 2019-06-22 (annotated)
- Committer:
- Couscousiste
- Date:
- Sat Jun 22 11:22:22 2019 +0000
- Revision:
- 3:b85df47a059a
- Parent:
- 2:73e8dca28f51
- Child:
- 4:31025db8e579
Version avec les 360
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joehatier | 0:1a801a2a7b4b | 1 | #include "mbed.h" |
joehatier | 0:1a801a2a7b4b | 2 | #include "SRF05.h" |
joehatier | 0:1a801a2a7b4b | 3 | #include "fonction.h" |
joehatier | 0:1a801a2a7b4b | 4 | #define ARRET 0 |
joehatier | 0:1a801a2a7b4b | 5 | #define ROULE 1 |
Couscousiste | 2:73e8dca28f51 | 6 | |
joehatier | 0:1a801a2a7b4b | 7 | |
Couscousiste | 3:b85df47a059a | 8 | SRF05 SRFC(p8,p16);//Trig puis echo |
Couscousiste | 3:b85df47a059a | 9 | SRF05 SRFA(p17,p18); |
Couscousiste | 2:73e8dca28f51 | 10 | DigitalOut SensG(p12);//Sens Gauche |
Couscousiste | 2:73e8dca28f51 | 11 | DigitalOut SensD(p11);//Sens Droite |
Couscousiste | 2:73e8dca28f51 | 12 | PwmOut PWMG(p23); //Sortie moteur gauche |
Couscousiste | 2:73e8dca28f51 | 13 | PwmOut PWMD(p22); //Sortie moteur droit |
Couscousiste | 2:73e8dca28f51 | 14 | DigitalIn BpD(p29); |
Couscousiste | 3:b85df47a059a | 15 | DigitalIn BpG(p30); |
Couscousiste | 2:73e8dca28f51 | 16 | AnalogIn CPTG (p20); |
Couscousiste | 2:73e8dca28f51 | 17 | AnalogIn CPTD (p19); |
Couscousiste | 2:73e8dca28f51 | 18 | AnalogIn BAT (p15); |
Couscousiste | 2:73e8dca28f51 | 19 | |
Couscousiste | 2:73e8dca28f51 | 20 | float srfa,srfc; |
joehatier | 0:1a801a2a7b4b | 21 | |
joehatier | 0:1a801a2a7b4b | 22 | int main() |
joehatier | 0:1a801a2a7b4b | 23 | { |
Couscousiste | 2:73e8dca28f51 | 24 | |
joehatier | 0:1a801a2a7b4b | 25 | PWMG.period_us(100); |
joehatier | 0:1a801a2a7b4b | 26 | PWMD.period_us(100); |
Couscousiste | 2:73e8dca28f51 | 27 | int /*J,S,*/etat=0/*,bpg,bpd*/; |
Couscousiste | 3:b85df47a059a | 28 | //BpD.mode(PullUp); |
Couscousiste | 3:b85df47a059a | 29 | //BpG.mode(PullUp); |
Couscousiste | 2:73e8dca28f51 | 30 | |
joehatier | 0:1a801a2a7b4b | 31 | while(1) { |
Couscousiste | 2:73e8dca28f51 | 32 | srfa=SRFA.read(); |
Couscousiste | 2:73e8dca28f51 | 33 | srfc=SRFC.read(); |
Couscousiste | 3:b85df47a059a | 34 | printf("Measured a: %.1f\n\r", srfa); |
Couscousiste | 3:b85df47a059a | 35 | printf("Measured c: %.1f\n\r", srfc); |
joehatier | 0:1a801a2a7b4b | 36 | |
joehatier | 0:1a801a2a7b4b | 37 | switch(etat) { |
Couscousiste | 3:b85df47a059a | 38 | case 0 : //avance |
Couscousiste | 3:b85df47a059a | 39 | if(srfc<8) etat=2; |
Couscousiste | 3:b85df47a059a | 40 | if(srfc>=8) etat=1; |
Couscousiste | 3:b85df47a059a | 41 | if(srfc<=8 && srfa<=12) etat=3; |
Couscousiste | 3:b85df47a059a | 42 | if(srfc>=12) etat=4; |
joehatier | 0:1a801a2a7b4b | 43 | break; |
Couscousiste | 3:b85df47a059a | 44 | case 1 : //ZIG (vers le mur) |
Couscousiste | 3:b85df47a059a | 45 | if(srfc<=8) etat=2; |
Couscousiste | 3:b85df47a059a | 46 | if(srfc<=8 && srfa<=12) etat=3; |
Couscousiste | 3:b85df47a059a | 47 | if(srfc>=12) etat=4; |
Couscousiste | 2:73e8dca28f51 | 48 | break; |
Couscousiste | 3:b85df47a059a | 49 | case 2 : //ZAG (éloigne du mur) |
Couscousiste | 3:b85df47a059a | 50 | if(srfc>=8) etat=1; |
Couscousiste | 3:b85df47a059a | 51 | if(srfc<=8 && srfa<=12) etat=3; |
Couscousiste | 3:b85df47a059a | 52 | if(srfc>=12) etat=4; |
Couscousiste | 2:73e8dca28f51 | 53 | break; |
Couscousiste | 3:b85df47a059a | 54 | case 3 : //MUR (impasse) |
Couscousiste | 2:73e8dca28f51 | 55 | if(srfa>=10) etat=0; |
Couscousiste | 2:73e8dca28f51 | 56 | break; |
Couscousiste | 3:b85df47a059a | 57 | case 4: //!MUR virage droite |
Couscousiste | 3:b85df47a059a | 58 | if(srfc<=8) etat=0; |
joehatier | 0:1a801a2a7b4b | 59 | } |
joehatier | 0:1a801a2a7b4b | 60 | |
joehatier | 0:1a801a2a7b4b | 61 | switch(etat) { |
Couscousiste | 2:73e8dca28f51 | 62 | |
Couscousiste | 3:b85df47a059a | 63 | case 0 : //avance |
Couscousiste | 3:b85df47a059a | 64 | roule_motgauche(0,30); |
Couscousiste | 3:b85df47a059a | 65 | roule_motdroit(0,30); |
Couscousiste | 2:73e8dca28f51 | 66 | break; |
Couscousiste | 3:b85df47a059a | 67 | case 1 : //ZIG (vers le mur) |
Couscousiste | 3:b85df47a059a | 68 | roule_motgauche(0,35); |
Couscousiste | 3:b85df47a059a | 69 | roule_motdroit(0,22); |
joehatier | 0:1a801a2a7b4b | 70 | break; |
Couscousiste | 3:b85df47a059a | 71 | case 2 : //ZAG (éloigne du mur) |
Couscousiste | 3:b85df47a059a | 72 | roule_motgauche(0,22); |
Couscousiste | 3:b85df47a059a | 73 | roule_motdroit(0,35); |
Couscousiste | 2:73e8dca28f51 | 74 | break; |
Couscousiste | 3:b85df47a059a | 75 | case 3 : //MUR (impasse) |
Couscousiste | 3:b85df47a059a | 76 | roule_motgauche(1,35); |
Couscousiste | 3:b85df47a059a | 77 | roule_motdroit(0,35); |
Couscousiste | 3:b85df47a059a | 78 | break; |
Couscousiste | 3:b85df47a059a | 79 | case 4 : //!MUR virage droite |
Couscousiste | 3:b85df47a059a | 80 | roule_motgauche(0,35); |
Couscousiste | 3:b85df47a059a | 81 | roule_motdroit(1,35); |
Couscousiste | 2:73e8dca28f51 | 82 | break; |
joehatier | 0:1a801a2a7b4b | 83 | } |
joehatier | 0:1a801a2a7b4b | 84 | |
Couscousiste | 2:73e8dca28f51 | 85 | } |
joehatier | 0:1a801a2a7b4b | 86 | |
joehatier | 0:1a801a2a7b4b | 87 | } |
joehatier | 0:1a801a2a7b4b | 88 | |
joehatier | 0:1a801a2a7b4b | 89 |