Problème bouton poussoir/LED

Léo
ven, 01/08/2016 - 20:57
Bonsoir à toutes et à tous, je vous explique mon problème:
Ma LED ne veut pas changer d'état quand j'appuie sur le bouton poussoir :/ (sur le serial monitor, la valeur change bien!). De plus je ne comprends pas ces deux lignes de codes: Serial.begin(9600); et long etatboutton= HIGH;.
Voici mon code:
long boutton = 7;
long led= 11;
long etatboutton= HIGH;
void setup() {
Serial.begin(9600);
pinMode(boutton, INPUT_PULLUP);
pinMode(led, OUTPUT);
}
void loop() {
etatboutton = digitalRead(boutton);
Serial.println(etatboutton);
if (etatboutton = HIGH)
{digitalWrite(led,HIGH);
}
else
{digitalWrite(led,LOW);
}
}
Alex
ven, 01/08/2016 - 21:23
Salut Léo,
Es-tu certains du cablage? Es-tu certains que la LED est dans le bon sens?
Serial.begin(9600); permet de lancer la liaison série qui te permet par la suite de lire la valeur à travers le moniteur série en haud à droite.
long etatBouton, que tu peux d'ailleurs utiliser en "boolean" car il n'a que deux états, permet de créer une variable qui correspond à l'état de l'interrupteur.
Léo
ven, 01/08/2016 - 21:36
D'accord merci pour les lignes de code, j'ai réalisé exactement le même cablage que dans la vidéo. La LED est dans le bon sens, elle est bien allumée mais quand j'appuie sur le bouton poussoir rien ne se passe; la LED reste allumée! :/
Alex
ven, 01/08/2016 - 21:43
C'est bon j'ai trouvé...
Il y a toujours == et non = dans une condition if()
if (etatboutton == HIGH)
{digitalWrite(led,HIGH);
}
else
{digitalWrite(led,LOW);
}
Léo
ven, 01/08/2016 - 21:47
Raaah, c'est ce que je me suis dis tout à l'heure j'ai essayé mais à ce moment il devait y avoir une erreur dans le câblage. En tout cas ça fonctionne, merci!