thomas strcic
/
ProjetInfo2_Multi12
oki
Fork of ProjetInfo2_Multi by
Diff: main.cpp
- Revision:
- 0:5755bf39c144
- Child:
- 1:d446f0124474
diff -r 000000000000 -r 5755bf39c144 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri May 18 14:04:05 2018 +0000 @@ -0,0 +1,152 @@ +#include "mbed.h" +#include "coffre.h" + + + + +// 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; +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: + fermer(); + + 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"); + ouvrir(); + wait(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()>5) + { + etat=0; + } + break; + case 5: + if (t1.read()>1) + { + 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; + } + + + } + }