Bonjour je cherches à faire un réveil en arduino pour l'instant je n'arrives que afficher leur heure et une led pour simulé l'effet d un haut parleur lors du réveil .Problème la led s'éteint après 7 secondes alors que dans le code j'ai mis 10 secondes et autre problème j'avais branché un buzzer qui s'arrêtait lui aussi après 7 secondes comme la led mais qui après ces 7 secondes fessait encore un bruit même après avoir utiliser la fonction noTone voici le code
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
//boutons//
int bouton1=6;
int bouton2=7;
int bouton3=8;
unsigned long tempsbouton1;
unsigned long tempsbouton2;
unsigned long tempsbouton3;
//temps//
unsigned long temps;
int secondes=0;
int minutes=0;
int heures=0;
//reveil//
int minutesre=0;
int heuresre=0;
unsigned long tempsre;
//position de l'horloge//
int positionhorloge=0;
void setup() {
lcd.begin(16,2);
pinMode(bouton1,INPUT);
pinMode(bouton2,INPUT);
pinMode(bouton3,INPUT);
lcd.setCursor(10,0);
lcd.print(":");
lcd.setCursor(13,0);
lcd.print(":");
lcd.setCursor(10,1);
lcd.print(":");
lcd.setCursor(13,1);
lcd.print(":");
temps=millis();
tempsbouton1=millis();
tempsbouton2=millis();
tempsbouton3=millis();
tempsre=millis();
pinMode(13,OUTPUT);
}
void loop() {
if (millis()-tempsbouton1>200){
if(digitalRead(bouton1)==1){
positionhorloge++;
}
tempsbouton1=millis();
}
if(positionhorloge==0){
if(millis()-tempsbouton2>200){
tempsbouton2=millis();
if(digitalRead(bouton2)==1){
heures++;
}
}
if(millis()-tempsbouton3>200){
tempsbouton3=millis();
if(digitalRead(bouton3)==1){
minutes++;
}
}
}
if(positionhorloge==1){
if(millis()-tempsbouton2>200){
tempsbouton2=millis();
if(digitalRead(bouton2)==1){
heuresre++;
}
}
if(millis()-tempsbouton3>200){
tempsbouton3=millis();
if(digitalRead(bouton3)==1){
minutesre++;
}
}
}
if(positionhorloge==2){
if(heures==heuresre&&minutes==minutesre){
digitalWrite(13,HIGH);
if(millis()-tempsre>10000){
digitalWrite(13,LOW);
}
}
if(millis()-temps>1000){
temps=millis();
secondes++;
}
}
if(positionhorloge==3){
secondes=0;
minutes=0;
heures=0;
minutesre=0;
heuresre=0;
positionhorloge=0;
}
if(secondes>=60){
secondes=0;
minutes++;
}
if(minutes>=60){
minutes=0;
heures++;
}
if(heures>=24){
heures=0;
}
if(heures>=0&&heures<=9){
lcd.setCursor(8,0);
lcd.print("0");
lcd.setCursor(9,0);
lcd.print(heures);
}
if(heures>=10&&heures<=24){
lcd.setCursor(8,0);
lcd.print(heures);
}
if(minutes>=0&&minutes<=9){
lcd.setCursor(11,0);
lcd.print("0");
lcd.setCursor(12,0);
lcd.print(minutes);
}
if(minutes>=10&&minutes<=60){
lcd.setCursor(11,0);
lcd.print(minutes);
}
if(secondes>=0&&secondes<=9){
lcd.setCursor(14,0);
lcd.print("0");
lcd.setCursor(15,0);
lcd.print(secondes);
}
if(secondes>=10&&secondes<=60){
lcd.setCursor(14,0);
lcd.print(secondes);
}
if(heuresre>=0&&heuresre<=9){
lcd.setCursor(8,1);
lcd.print("0");
lcd.setCursor(9,1);
lcd.print(heuresre);
}
if(heuresre>=10&&heuresre<=24){
lcd.setCursor(8,1);
lcd.print(heuresre);
}
if(minutesre>=0&&minutesre<=9){
lcd.setCursor(11,1);
lcd.print("0");
lcd.setCursor(12,1);
lcd.print(minutesre);
}
if(minutesre>=10&&minutesre<=60){
lcd.setCursor(11,1);
lcd.print(minutesre);
}
lcd.setCursor(1,1);
lcd.print(positionhorloge);
}