Utilisons un bouton poussoir
Le bouton poussoir
Un bouton poussoir possède deux positions :
- Relâché : le courant ne passe pas, on dit que le circuit est ouvert ;
- Appuyé : le courant passe, on dit que le circuit est fermé.
Les boutons poussoirs utilisés au lycée ont 4 connexions, elles sont reliées deux à deux :
Comment récupérer l’appui du bouton ?
Pour savoir si un bouton poussoir a été pressé, il faut :
- définir la broche sur laquelle est branché le bouton comme une entrée ;
- lire son état haut (HIGH ou 1) ou bas (LOW ou 0).
Définir une broche en entrée
Pour définir une broche en entrée, on utilise la fonction pinMode().
Exemple : Si le bouton est branché sur la broche 2 alors on écrira dans la fonction setup() :
void setup() { pinMode(2, INPUT); // défini la broche 2 comme une entrée }
Lire une broche en entrée numérique
Pour lire l'état d'une broche en entrée, on utilise la fonction digitalRead(). Elle retourne une variable de type int (entier).
int etat = digitalRead(2); // la variable "etat" contient la valeur HIGH (1) ou LOW (0) de l'entrée 2
L’état haut correspond à une tension de +5V sur la broche et l’état bas correspond à une tension de 0V.
Application
On souhaite réaliser le montage et le code qui envoie sur la liaison série, le message “ON” lorsque l'on appuie sur le bouton poussoir et “OFF” lorsqu’il est relâché.
Le montage
Sur le montage suivant, le bouton poussoir est branché sur la broche 2 d'une carte Arduino.
Le code
Copier puis téléverser le code suivant. Ouvrir le moniteur série pour tester.
int bouton = 2; void setup() { pinMode(bouton, INPUT); // initialise le port numérique 2 comme entrée Serial.begin(9600); // initialise la liaison série avec l'ordinateur } void loop() { if (digitalRead(bouton) == HIGH){ // si on mesure 5V sur l'entrée numérique Serial.println("ON"); // on envoie "ON" à l'ordinateur } else{ // si on ne mesure pas 5V Serial.println("OFF"); // on envoie "OFF" à l'ordinateur } delay(100); // on attend 0,1 seconde }
Comment fonctionne ce montage ?
Quand on appuie sur l’interrupteur, la tension sur le fil jaune est de 5 volts.
Quand on n’appuie pas, la tension est nulle grâce à la résistance qui relie le fil jaune à la masse. Sans cette résistance, la tension serait indéterminée.
A faire vous-même 1 | |
---|---|
Inversez les fils noirs et rouges, et observez ce qui se passe. |
A faire vous-même 2 | |
---|---|
- Au montage précédent, ajouter une LED sur la broche 13. - Modifier le code pour que si on appuie sur le bouton, la LED s’allume et si on le relâche, la LED s’éteint. |
A faire vous-même 3 | |
---|---|
Simulons un route avec un feu tricolore et un bouton pour qu'un piétons puisse arrêter les voitures. Lorsqu'un piéton sur un passage protégé, appuie sur le bouton, le feu tricolore initialement vert doit passer à l'orange pendant 2 seconde puis au rouge pendant 4 seconde et enfin revenir au vert. On complique un peu en ajoutant le feu pour le piéton. |
Statistiques du site
- Cette page a été consultée par 5 visiteurs aujourd'hui.
- Cette page a été consultée par 712 visiteurs depuis le 17/04/2024.