@ le sept
je me suis mal exprimé, je parlais du prg d'origine de notre ami
il initialise un boolean à true
puis dans la boucle, si la condition est confirmée, et si le boolean est true, il exécute sa fonction d'ouverture et passe le boolean à false .
la fois suivante, le boolean est false et il ne peut plus exécuter sa fonction d'ouverture
le code d'origine en simplifié
boolean ouverturePorte = true;
setup(){}
void loop() {
val = digitalRead(pinAction);
if (val == 1)
if (ouverturePorte)
{
digitalWrite(pinSon, HIGH);
delay(3000);
//etc....
ouverturePorte = false;
}
}