thomas strcic
/
ProjetInfo2_Multi12
oki
Fork of ProjetInfo2_Multi by
Diff: main.cpp
- Revision:
- 4:23e955d622f9
- Parent:
- 2:ae058dfdebac
diff -r ae058dfdebac -r 23e955d622f9 main.cpp --- a/main.cpp Fri Jun 01 11:36:44 2018 +0000 +++ b/main.cpp Tue Jun 12 14:45:54 2018 +0000 @@ -1,6 +1,7 @@ #include "mbed.h" #include "coffre.h" #include "music.h" +#include "TextLCD.h" #define O 0.0193 @@ -10,20 +11,24 @@ // VARIABLE ***************** - +extern TextLCD LCD ; extern BusIn digicode; DigitalOut led1(p20); DigitalOut led2(p18); Timer t1; Timer t2; -Timer t3; -int code[4]={2,1,0,3}; -int etat =0; -int N_precedent; -int N; +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; -Serial pc (USBTX,USBRX); + extern Serial pc; +extern Serial bluetooth; +extern char chara; +DigitalIn bp (p30); @@ -33,27 +38,42 @@ int main() { + bp.mode(PullUp); while(1) { N_precedent=N; t3.start(); - if(t3.read()>0.01) + if (bluetooth.readable()) + { + chara=bluetooth.getc(); + N=chara-'0'; + } + else { - N=lireval(); - t3.reset(); - t3.stop(); + N=-3; } - + if (N==10) + { + N=-2; + } switch(etat) { case 0: + LCD.cls(); + LCD.printf("code :"); if (count>=3) { led2.write(1); + LCD.cls(); + LCD.printf("appel"); + LCD.locate(0,1); + LCD.printf("police"); music(); - //wait(3); + + wait(3); + LCD.cls(); count=0; } @@ -69,6 +89,11 @@ t1.start(); } + if (N_precedent==-3 and bp.read()==0) + { + changement_code(code); + u=0; + } pc.printf("etat =0\n\r"); break; case 1 : @@ -109,7 +134,7 @@ pc.printf("bravo c bon msieur\n\r"); juste=1; - //wait(0.5); + wait(0.5); t2.reset(); t2.start(); } @@ -123,9 +148,9 @@ case 4: - + pc.printf("etat =4\n\r"); - if(t2.read()>2) + if(t2.read()>0.5) { etat=0; } @@ -136,6 +161,9 @@ count++; pc.printf(" count = %d \n\r",count); pc.printf("c faux msieur\n\r"); + LCD.cls(); + LCD.printf("code faux"); + //music(); etat=0; } @@ -147,25 +175,35 @@ switch(etat) { case 0: - //led1.write(1); - led2.write(0); break; case 1: - led1.write(0); - led2.write(0); + LCD.locate(0,1); + LCD.printf("*"); break; case 2: - led1.write(0); - led2.write(0); + LCD.locate(1,1); + LCD.printf("*"); break; case 3: + LCD.locate(2,1); + LCD.printf("*"); break; case 4: - led1.write(0); - //led2.write(1); + LCD.cls(); + LCD.printf("code"); + LCD.locate(0,1); + LCD.printf("BON"); servo(); + //wait(1); + LCD.cls(); + break; + case 5: + LCD.cls(); + LCD.printf("code"); + LCD.locate(0,1); + LCD.printf("faux"); break; }