tuan din engku syasya syazwani
/
CACHAN_D_DAY_2
ROBOTIC COMPETITION PARIS 2017
Fork of _test_suivi_mur by
main.cpp
- Committer:
- syasya
- Date:
- 2017-06-01
- Revision:
- 12:6151eb503170
- Parent:
- 11:cb477f6ec781
- Child:
- 13:4fdd8ad91c69
File content as of revision 12:6151eb503170:
#include "fct.h" BusOut ledsetat(p12,p13); int main() { jack.mode(PullUp); int etat=0; init(); t3.reset(); while(1) { // printf("etat=%d US1=%.0f US2=%.0f US3=%.0f erreur=%.0f AN1=%.0f AN2=%.0f cmdD=%.0f cmdG=%.0f\n\r",etat,US1,US2,US3,(US2-US1),AN1,AN2,cmdD,cmdG); //wait(0.05); //printf("etat=%d set=%.1f CAP=%.1f\n\r",etat,bearing_set,bearing); //wait(0.1); bearing=boussole.readBearing()/10.0; ledsetat.write(etat); if(bearing<bearing_set+10.0 && bearing>bearing_set-10.0) { t3.start(); } else { t3.stop(); } switch(etat) { case 0 : if(jack.read()==0) { etat=1; t3.reset(); } break; case 1 : if(jack.read()!=0) etat=0; if((AN2>40 && AN2<45) || US3<40) { etat=2; stop(); } if(US2>100 && AN1<40) { etat=3; stop(); } if(t3.read()>8) { etat=4; bearing_set=bearing_set+25.0; t3.reset(); t3.stop(); stop(); } break; case 2 : if(jack.read()!=0) etat=0; if(US2>100 && US1<40) { etat=3; stop(); } if(AN2>30) { etat=1; t2.start(); t2.reset(); stop(); } break; case 3 : if(jack.read()!=0) etat=0; if((AN2>40 && AN2<45) || US3<40) { etat=2; stop(); } if(t2.read()>2) { etat=1; stop(); } break; case 4 : if(jack.read()!=0) etat=0; if(bearing>bearing_set) { etat=5; t3.reset(); stop(); } break; case 5 : if(jack.read()!=0) etat=0; if((AN2>40 && AN2<42) || US3<40) { etat=2; stop(); } break; } switch(etat) { case 0 : stop(); break; case 1 : suivi_mur(); break; case 2 : rotation_sharp(); break; case 3 : contournement(); break; case 4 : rotation_sharp(); break; case 5 : en_avant(); break; } } }