Sommaire |
On cherche ici à allumer ou éteindre une LED à l'aide d'un bouton poussoir, de façon à simuler un interrupteur comme on en trouve un peu partout.
On relie :
A noter : la plupart des boutons ont 4 pattes : elles sont reliées 2 à 2.
On colle ensuite un servomoteur d'un côté du support et le second de l'autre côté (par exemple avec du double face ou avec de la colle).
int button = 2; //broche où on liera la valeur renvoyée par le capteur int led = 12; //broche où est reliée la cathode de la LED int etat; //variable où on stockera l'état du bouton int compteur = 0; //variable permettant de savoir si on éteint ou allume la LED void setup() { pinMode(button, INPUT); //on créé une entrée : on reçoit l'état du bouton pinMode(led, OUTPUT); //on créé une sortie : on donne l'état de la LED } void loop() { etat = digitalRead(button); //On lit l'état du bouton if(etat==LOW) { //voir plus bas pour cette ligne compteur++; //on ajoute 1 à "compteur" } if(compteur&1) { //si compteur est impaire, on allume digitalWrite(led,HIGH); } else { //sinon, on éteint digitalWrite(led,LOW); } delay(100); //on attend pour ne pas surcharger la carte }
Certains capteurs renvoie 1 quand on appuie dessus, d'autre 0. Le code a été fait avec un qui renvoyé 0, d'où le "LOW". Dans le cas où un capteur renverrait 1, il faudrait remplacer LOW par HIGH.
Pour le vérifier, téléversez ce code :
int button = 2; //broche où on liera la valeur renvoyée par le capteur void setup() { pinMode(button, INPUT); //on créé une entrée : on reçoit l'état du bouton Serial.begin(9600); } void loop() { etat = digitalRead(button); //On lit l'état du bouton Serial.println(etat); delay(100); //on attend pour ne pas surcharger la carte }
Puis ouvrez le moniteur série (bouton en haut à droite) et réglez le débit par rapport à celui du code (en bas à droite), ici 9600 bits/secondes. Ensuite appuyez pour voir la différence de résultat.
Au niveau du montage, vous pouvez garder le même que celui tout en haut.
On voit que si on appuie, la LED s'allume (elle est par défaut éteinte) et que si on rappuie une seconde, elle s'éteint.
Le bouton va couper l'arrivée du courant ou au contraire la permettre. De ce fait, on peut vérifier son état (si le courant passe ou non) et ainsi savoir si on envoie du courant ou non dans la LED.
On a ici l'explication du fonctionnement d'un certains nombres d'interrupteur.
Plutôt dans un atelier avec des ordinateurs disposant du logiciel arduino.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique