thomas strcic
/
ProjetInfo2_Multi12
oki
Fork of ProjetInfo2_Multi by
main.cpp
- Committer:
- thomasstrcic
- Date:
- 2018-06-05
- Revision:
- 3:98f5de1dd010
- Parent:
- 2:ae058dfdebac
File content as of revision 3:98f5de1dd010:
#include "mbed.h" #include "coffre.h" #include "music.h" #define O 0.0193 #define F 0.0179 // VARIABLE ***************** extern BusIn digicode; DigitalOut led1(p20); DigitalOut led2(p18); Timer t1; Timer t2; extern int u; extern Timer t3; extern int code[4]; extern int etat =0; extern int N_precedent; extern int N; int juste; int count; extern Serial pc; Serial bluetooth(p28,p27); char chara; int val; // CODE ************ int main() { while(1) { N_precedent=N; t3.start(); if(t3.read()>0.01) { if (bluetooth.readable()) { chara=bluetooth.getc(); N=chara-'0'; } t3.reset(); t3.stop(); } pc.printf("%d \n\r",N_precedent); pc.printf("%d \n\r",N); switch(etat) { case 0: if (count>=3) { led2.write(1); music(); wait(3); count=0; } if ( N_precedent==0 and N == code[0] ) { etat=1; pc.printf("ok1\n\r"); } if(N_precedent == 0 and N!=code[0] and N!=0) { etat=5; t1.reset(); t1.start(); } if (N_precedent==0 and N==10) { changement_code(code); u=0; } pc.printf("etat =0\n\r"); break; case 1 : pc.printf("etat =1\n\r"); if ( N_precedent==code[0] and N == code[1]) { etat=2; pc.printf("ok2\n\r"); } if(N_precedent == code[0] and N!=code[1] and N!=-3) { etat=5; t1.reset(); t1.start(); } break; case 2 : pc.printf("etat =2\n\r"); 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 : pc.printf("etat =3\n\r"); if ( N_precedent==-3 and N == code[3]) { etat=4; pc.printf("bravo c bon msieur\n\r"); juste=1; 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: pc.printf("etat =4\n\r"); if(t2.read()>0.5) { 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; } pc.printf("etat =5\n\r"); 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); servo(); break; } } }