Theo/Ludo/Joe / ER2_Labyrinthe_V3

Dependencies:   mbed

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?

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