Bonjour,
Je souhaite faire sonner une alarme (un petit buzzer) pendant la durée de tout le programme afin d'avertir l'utilisateur lorsque un danger se présente (1 seconde éteint, 0,5 bip) . Comment le faire sans bloquer le déroulement de l'ensemble du programme 1,5 sec?
actuellement j'en suis là:
unsigned long MesureTemps = millis();
unsigned long EcartTemps = 0;
byte Bip = 13;
pour ne pas bloquer le programme ... il faut oublier les delay(), tu l'as déjà fait pour la mise en marche, tu peux aussi le faire pour l'arret du "bip"
par exemple tu peux faire dans le loop
if (millis() > nextOn) {
nextOn = millis() + 1500; //allumage toutes les 1500 ms
digitalWrite (Bip,HIGH);
nextOff = nextOn + 500; //prochain off : 500 ms après l'allumage
}
if (millis() > nextOff) digitalWrite (Bip,LOW);
si tu as des "choses" consommatrices en temps dans ton programme .. le bip risque de n'être pas très régulier