Bonjour à tous et à toutes.
Je cherche à faire un clignoteur sur une base d'ESP8266 (WEMOS D1 mini). Il y a deux poussoirs reliés aux PIN D5 et D6, D5 donne un type de clignotement et D6 un différent, D5 et D6 ensemble sont sensés produire encore un autre type de clignotement. Mais seulement, il n'y a que D6 qui est pris en compte. Voici mon code:
void loop() {
// 1s/2s
if (digitalRead(E1)==LOW) {
Serial.println("D6");
analogWrite(ledPin, lum);
delay(1000);
analogWrite(ledPin, 0);
delay(2000);
}
// 0,5s/0,5s
else if (digitalRead(E3)==LOW) {
Serial.println("D5");
analogWrite(ledPin, lum);
delay(500);
analogWrite(ledPin, 0);
delay(500);
}
//0,5s/1s
else if (digitalRead(E1)==LOW and digitalRead(E3)==LOW) {
Serial.println("D6 et D5");
analogWrite(ledPin, lum);
delay(500);
analogWrite(ledPin, 0);
delay(1000);
}
Bonsoir
Tout ceci me semble normal puisque D5 && D6 LOW ne seront jamais atteints.
En effet, dans la condition D5 && D6 LOW, le if D6 est vrai en premier.
Essayez de remonter cette condition en premier.
Ou alors préciser l'état des 2 boutons à chaque condition ex : D6 == LOW && D5 == HIGH