thomas strcic
/
ProjetInfo2_Multi12
oki
Fork of ProjetInfo2_Multi by
main.cpp
- Committer:
- thomasstrcic
- Date:
- 2018-05-22
- Revision:
- 1:d446f0124474
- Parent:
- 0:5755bf39c144
- Child:
- 2:ae058dfdebac
File content as of revision 1:d446f0124474:
#include "mbed.h" #include "coffre.h" #include "music.h" #define O 0.0193 #define F 0.0175 // VARIABLE ***************** extern PwmOut servo; extern BusIn digicode; DigitalOut led1(p17); DigitalOut led2(p18); Timer t1; Timer t2; Timer t3; int code[4]={2,1,0,3}; int etat =0; int N_precedent; int N; int juste; int count; Serial pc (USBTX,USBRX); // CODE ************ int main() { servo.period(0.02); while(1) { N_precedent=N; t3.start(); if(t3.read()>0.1) { N=lireval(); t3.reset(); t3.stop(); } switch(etat) { case 0: servo.pulsewidth(O); if (count>=3) { led2.write(1); music(); wait(3); count=0; } if ( N_precedent==-3 and N == code[0] ) { etat=1; pc.printf("ok1\n\r"); } if(N_precedent == -3 and N!=code[0] and N!=-3) { etat=5; t1.reset(); t1.start(); } break; case 1 : if ( N_precedent==-3 and N == code[1]) { etat=2; pc.printf("ok2\n\r"); } if(N_precedent == -3 and N!=code[1] and N!=-3) { etat=5; t1.reset(); t1.start(); } break; case 2 : if( N_precedent==-3 and N == code[2]) { etat=3; pc.printf("ok3\n\r"); } if(N_precedent == -3 and N!=code[2] and N!=-3) { etat=5; t1.reset(); t1.start(); } break; case 3 : if ( N_precedent==-3 and N == code[3]) { etat=4; pc.printf("bravo c bon msieur\n\r"); juste=1; servo.pulsewidth(F); wait(0.5); t2.reset(); t2.start(); } if(N_precedent == -3 and N!=code[3] and N!=-3) { etat=5; t1.reset(); t1.start(); } break; case 4: if(t2.read()>2) { etat=0; } break; case 5: if (t1.read()>1) { count++; pc.printf(" count = %d \n\r",count); pc.printf("c faux msieur\n\r"); etat=0; } break; } switch(etat) { case 0: //led1.write(1); led2.write(0); break; case 1: led1.write(0); led2.write(0); break; case 2: led1.write(0); led2.write(0); break; case 3: break; case 4: led1.write(0); //led2.write(1); break; } } }