Quoi de plus simple qu'un bouton poussoir.Et bah non !
Pour des raisons de retour d’électricité et avoir un comportement cohérent avec ce que l'on veut, il faut utiliser une résistance, mais je n'en n'ai pas sous la main.
Il y a une fonction qui utilise une résistance intégré:
INPUT_PULL UP
seulement le résultat est inversé
retourne 1 si non appuyé et
retourne 0 si appuyé.
d'où le changement d'état par la ligne etatBouton = !etatBouton
(Voir le résultat dans la console Série en 9600 baud)
Branchements:
NANO <-> Bouton->
GND --- une PIN du bouton d'un côté
D10 --- l'autre PIN du bouton du même côté
Code:
int pinBouton;et pour allumer la LED interne :
void setup() {
Serial.begin(9600);
pinBouton = 10;
pinMode(pinBouton, INPUT_PULLUP);
}
void loop() {
boolean etatBouton = digitalRead(pinBouton);
etatBouton = !etatBouton;
Serial.println(etatBouton);
}
void setup() {
Serial.begin(9600);
pinMode(10, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
boolean etatBouton = digitalRead(10);
etatBouton = !etatBouton;
digitalWrite(LED_BUILTIN, etatBouton);
Serial.println(etatBouton);
}
Aucun commentaire:
Enregistrer un commentaire