LED à bouton poussoir

De Wikidebrouillard.

Article incomplet en cours de rédaction
La vidéo "LED à bouton poussoir"


Sommaire

Présentation de l'expérience

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.

Matériel

  • 1 bouton poussoir
  • 1 LED
  • 1 arduino uno (et son câble usb)
  • 1 ordinateur pour programmer la carte avec le logiciel arduino
  • des fils
  • 1 breadboard
  • 1 résistance 10k

L'expérience

Le montage

On relie :

  • l'anode de la LED sur le GND et sa cathode sur la broche 12 de la carte arduino
  • le 5V de l'arduino à la résistance de 10k puis au bouton. L'autre patte du bouton est reliée au GND
  • la broche 2 de la carte arduino entre la résistance et le bouton

A noter : la plupart des boutons ont 4 pattes : elles sont reliées 2 à 2.

Le code

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 renvoyait 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.

Que voit-on ?

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.

Explications

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.

Questions sans réponses

Expériences sur Wikidébrouillard

Autres expériences

Applications : liens avec le quotidien

On a ici l'explication du fonctionnement d'un certain nombre d'interrupteur.

Lieux propices à sa réalisation

Plutôt dans un atelier avec des ordinateurs disposant du logiciel arduino.

Portail des ExplorateursWikidébrouillardLéon DitFLOGPhoto mystèreJ'ai FaitPortraitsAnnuaire
AR
CO

LED à bouton poussoir

Rechercher

Page Discussion Historique
Powered by MediaWiki
Creative Commons - Paternite Partage a l

© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique