Un Simple Bouton - Arduino : Premiers Pas En Informatique ...
Maybe your like
Nous allons maintenant faire un exemple d’application ensemble.
Montage à faire
Pour cet exercice, nous allons utiliser deux boutons et quatre LED de n’importe quelles couleurs.
- Les deux boutons seront considérés actifs (appuyés) à l’état bas (0V) comme dans la partie précédente. Ils seront connectés sur les broches 2 et 3 de l’Arduino.
- Ensuite, les quatre LED seront connectées sur les broches 10 à 13 de l’Arduino.
Voilà donc le montage à effectuer :


Objectif : Barregraphe à LED
Dans cet exercice, nous allons faire un mini-barregraphe. Un barregraphe est un afficheur qui indique une quantité, provenant d’une information quelconque (niveau d’eau, puissance sonore, etc.), sous une forme lumineuse. Le plus souvent, on utilise des LED alignées en guise d’affichage. Chaque LED se verra allumée selon un niveau qui sera une fraction du niveau total. Par exemple, si je prends une information qui varie entre 0 et 100, chacune des 4 LED correspondra au quart du maximum de cette variation. Soit 1004=25\frac{100}{4} = 25. En l’occurrence, l’information entrante c’est l’appui des boutons. Par conséquent un appui sur un bouton allume une LED, un appui sur un autre bouton éteint une LED. En fait ce n’est pas aussi direct, il faut incrémenter ou décrémenter la valeur d’une variable et en fonction de cette valeur, on allume telle quantité de LED.
Cahier des charges
La réalisation prévue devra :
- posséder quatre LED (ou plus pour les plus téméraires)
- posséder deux boutons : un qui incrémentera le nombre de LED allumées, l’autre qui le décrémentera
Vous devrez utiliser une variable qui voit sa valeur augmenter ou diminuer entre 0 et 4 selon l’appui du bouton d’incrémentation ou de décrémentation.
Vous pouvez maintenant vous lancer dans l’aventure. Ceux qui se sentent encore un peu mal à l’aise avec la programmation peuvent poursuivre la lecture, qui leur expliquera pas à pas comment procéder pour arriver au résultat final.
Correction
Initialisation
Pour commencer, on crée et on initialise toutes les variables dont on a besoin dans notre programme :
/* déclaration des constantes pour les noms des broches ; ceci selon le schéma */ const int btn_minus = 2; const int btn_plus = 3; const int led_0 = 10; const int led_1 = 11; const int led_2 = 12; const int led_3 = 13; /* déclaration des variables utilisées pour le comptage et le décomptage */ // le nombre qui sera incrémenté et décrémenté int nombre_led = 0; // lecture de l'état des boutons (un seul à la fois donc une variable suffit) int etat_bouton; /* initilisation des broches en entrée/sortie */ void setup() { pinMode(btn_plus, INPUT); pinMode(btn_minus, INPUT); pinMode(led_0, OUTPUT); pinMode(led_1, OUTPUT); pinMode(led_2, OUTPUT); pinMode(led_3, OUTPUT); } void loop() { // les instructions de votre programme }Détection des différences appuyé/relâché
Afin de détecter un appui sur un bouton, nous devons comparer son état courant avec son état précédent. C’est-à-dire qu’avant qu’il soit appuyé ou relâché, on lit son état et on l’inscrit dans une variable. Ensuite, on relit si son état a changé. Si c’est le cas alors on incrémente la variable nombre_led. Pour faire cela, on va utiliser une variable de plus par bouton :
int memoire_plus = HIGH; // état relâché par défaut int memoire_minus = HIGH;Détection du changement d’état
Comme dit précédemment, nous devons détecter le changement de position du bouton, sinon on ne verra rien car tout se passera trop vite. Voilà le programme de la boucle principale :
Nous avons terminé de créer le squelette du programme et la détection d’évènements, il ne reste plus qu’à afficher le résultat du nombre !
L’affichage
Pour éviter de se compliquer la vie et d’alourdir le code, on va créer une fonction d’affichage. Celle dont je viens de vous parler : affiche(int le_parametre). Cette fonction reçoit un paramètre représentant le nombre à afficher. À présent, nous devons allumer les LED selon la valeur reçue. On sait que l’on doit afficher une LED lorsque l’on reçoit le nombre 1, deux LED lorsqu’on reçoit le nombre 2, …
Donc, si la fonction reçoit le nombre 1, on allume la LED 1. Si elle reçoit le nombre 2, elle allume la LED 1 et 2. Si elle reçoit 3, elle allume la LED 1, 2 et 3. Enfin, si elle reçoit 4, alors elle allume toutes les LED. Le code au grand complet :
Une petite vidéo du résultat que vous devriez obtenir, même si votre code est différent du mien :
https://www.youtube.com/watch?v=2fK6nk5NDAUEt la démonstration interactive :
!(https://www.tinkercad.com/embed/7sdOAt5uzLC)
Tag » Arduino Compter Le Temps D Appui D Un Bouton
-
Calcul Temps Entre Chaque Appuie De Bouton - Arduino Forum
-
---Appui Long Sur Bouton--- - Français - Arduino Forum
-
Exécution De Fonctions Selon Nombre Appui Sur Bouton Poussoir
-
Calculer Le Temps Entre Deux états - Français - Arduino Forum
-
[Arduino] Calcul Du Temps Qu'un Bp Est Appuyé - OpenClassrooms
-
Arduino : Comment Gérer Le Temps
-
Arduino UNO Etc : Réagir à L'appui Sur Un Bouton Poussoir (front ...
-
[Arduino] Compter Combien De Fois On A Appuyé Sur Une Suite Boutons
-
Arduino Cours Sur Le Temps Avec Delay Et Millis - Oui Are Makers
-
Compter Le Nombre D'appuis Sur Un Bouton Poussoir - Mon Club Elec
-
Tout Faire Avec Seulement Deux B.P. - Robot Maker
-
Comment Gérer Les Boutons - DIego Yourself
-
Gérer Un Bouton Poussoir On / Off Sur Arduino - BeanyOverTech
-
Arduino : Gestion De Bouton Pour Un Compteur