Salut !
À quoi bon rendre les boutons inactifs ? Il suffit de ne plus les tester.
Si après la première pression sur le bouton "valider" tu veux que la carte ne fasse plus rien tant que le bouton n'est pas à nouveau réenclenché, il suffit de mettre
while(digitalRead(VALIDER) == LOW) { //attendre tant que la bouton n'est pas relache apres validation
;
}
while(digitalRead(VALIDER) == HIGH) { //attendre avant la pression du bouton
if(millis() >= eteindre) { //s'il est temps d'eteindre la lampe
digitalWrite(LAMPE, LOW); //l'eteindre
wdt_enable(WDTO_15MS); //Commande de reset
for(;;);
}
}
wdt_enable(WDTO_15MS); //Commande de reset
for(;;);
/* A adapter au programme */
après la sélection du temps choisi.
Quelle est la structure du code ? (Où est placé chaque élément ?)
J'aurai fait
//inclusion des librairies
//definition des broches
//definition d'eteindre
void setup() {
//initialisation des broches
//selection du temps d'allumage
eteindre = millis() + temps_d_allumage_en_millisecondes
//section d'attente
}
void loop() {}
Il se peut que je n'aie pas compris la demande
Pour plus d'infos, voir ce fil de discussion.