Bonjour, j'ai une arduino Mega 2560 un afficheur lcd et un lecteur RFID-RC522.
Je voudrais lorsque mon radar passe en alarme et que mon groupe ''K1'' est en service lancer une temporisation affiché sur le LCD. Tout fonctionne sauf que avec delay cela bloque mon programme et lorsque je passe mon badge pour arrêter la tempo cela ne fonctionne pas, j'ai fait plusieurs essais avec Millis mais je ne vois pas comment le placer et peut être existe t-il une autre fonction pour ce fonctionnement?
if ((radar_1>900)&&(radar_1<942))
{
if (k==1)
{
tone(buzzer, 4000, 1000); //BUZZ 1sec
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 15"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");
delay(1000) ; //TEMP 1sec
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 14"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");
if (k==1)
{
delay(500) ; //TEMP 0.5sec
tone(buzzer, 4000, 1000); //BUZZ 1sec
delay(500) ;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 13"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000);
tone(buzzer, 4000, 1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 12"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000) ; //TEMP 1sec
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 11"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(500) ; //TEMP 0.5sec
tone(buzzer, 4000, 1000); //BUZZ 1sec
delay(500) ;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 10"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000);
tone(buzzer, 4000, 1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 9"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000) ; //TEMP 1sec
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 8"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(500) ; //TEMP 0.5sec
tone(buzzer, 4000, 1000); //BUZZ 1sec
delay(500) ;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 7"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000);
tone(buzzer, 4000, 1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 6"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000) ; //TEMP 1sec
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 5"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(500) ; //TEMP 0.5sec
tone(buzzer, 4000, 1000); //BUZZ 1sec
delay(500) ;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 4"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000);
tone(buzzer, 4000, 1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 3"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(1000) ; //TEMP 1sec
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 2"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
if (k==1)
{
delay(500) ; //TEMP 0.5sec
tone(buzzer, 4000, 1000); //BUZZ 1sec
delay(500) ;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" 1"); //AFFICH
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");}
delay(1000);
tone(buzzer,HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ALARME RADAR 1");
lcd.setCursor(0, 1);
lcd.print("BADGE OU CODE");
delay(1500);
}
}