Bonjour, je souhaite incrémenter une variable, lors d'un appuie sur un bouton poussoir à un intervalle de 10 secondes .
C'est dire , lorsque j'appuie sur un bouton une variable s'incrémente , si je ré appuie sur le bouton en moins de 10 secondes, la variable ne s'incrémente pas, je dois attendre 10 secondes .
Mais à chaque appuie sur le bouton fait sonner un buzzer .
Pour faire sonner le buzzer j'utilise la fonction "tone" .
lorsque je code comme ce-ci:
tone (buzzer,411);
delay(150);
tone(buzzer,611);
delay(150);
noTone(buzzer);
Avec ce code la le buzzer ne sonne pas du tout, mais lorsque j'enleve "noTone(buzzer);" le buzzer sonne lors d'un appuie sur le bouton mais il ne s’arrête pas .
Ou sinon l'incrémentation de la variable à intervalle de temps de 10 secondes fonctionne bien, je le vérifie sur le Sérial Monitor .
Voici mon code .
Pouvez-vous m'aider svp, car je comprend pas pourquoi mon buzzer ne sonne pas correctement lors d'un appuie sur un bouton poussoir .Code:int buzzer = 9; int bouton = 2; long temps=0 ; int i=0 ; void setup() { attachInterrupt(0,inc,FALLING); Serial.begin(9600); pinMode(bouton,INPUT); pinMode(buzzer,OUTPUT); } void inc () { tone(buzzer,411); delay(150); tone(buzzer,611); delay(150); noTone(buzzer); if ((millis()-temps) >10000) { i++; temps =millis(); } } void loop() { Serial.println(i); }
-----