Arduino UNO R4 - Bouton
Le bouton est un composant simple mais important utilisé dans de nombreux projets Arduino UNO R4. Il peut sembler compliqué en raison de ses propriétés mécaniques et physiques, ce qui peut être difficile pour les débutants. Ce tutoriel est conçu pour aider les débutants à le comprendre facilement. Commençons !

※ Note:
Avant d'apprendre comment utiliser le bouton avec l'Arduino UNO R4, nous tenons à mettre en évidence deux erreurs courantes souvent rencontrées par les débutants :
- Le problème d'entrée flottante:
- Symptôme : Lorsqu'un bouton est connecté à une broche d'entrée de l'Arduino UNO R4, l'état de la broche d'entrée est imprévisible et ne reflète pas l'état du bouton.
- Cause : La broche du bouton n'est pas reliée à une résistance de tirage vers le bas ou vers le haut.
- Solution : Relier une résistance de tirage vers le bas ou vers le haut à la broche d'entrée. Plus de détails seront fournis plus tard dans ce tutoriel.
- Symptôme : Le code de l'Arduino UNO R4 lit l'état du bouton et tente d'identifier les événements d'appui en détectant des changements d'état (de HIGH à LOW, ou de LOW à HIGH). Cependant, lorsque le bouton est appuyé une seule fois, l'Arduino UNO R4 peut détecter plusieurs pressions.
- Cause : Des propriétés mécaniques font basculer rapidement l'état de la broche d'entrée entre LOW et HIGH à plusieurs reprises lors d'une seule pression.
- Solution : Mettre en œuvre une gestion anti-rebond. Plus de détails seront dans le tutoriel Arduino UNO R4 - Bouton - anti-rebond..
Le rebondissement n'affecte que les applications qui exigent un comptage précis des appuis sur le bouton. Dans d'autres applications, cela peut ne pas poser de problème.
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du bouton
Le bouton poussoir, également connu sous le nom de bouton tactile ou d'interrupteur momentané, est un interrupteur qui se ferme lorsque vous l'appuyez et le maintenez enfoncé, et s'ouvre lorsque vous le relâchez. Les boutons poussoirs existent en différents types, principalement divisés en deux catégories :
- Push buttons for PCB mounting (can be used on a breadboard)
- Push buttons for mounting on a panel

Schéma de brochage
Les boutons montés sur PCB ont généralement quatre broches.

Ces broches sont reliées entre elles à l'intérieur par paires, donc nous n'avons besoin d'utiliser que deux des quatre broches qui ne sont pas reliées entre elles à l'intérieur.
Il y a quatre façons de connecter le bouton, mais en réalité deux, car elles sont similaires (voir l'image).

Un bouton a quatre broches, mais pourquoi n'en utilisons-nous que deux ? ⇒ Cela sert à le maintenir stable sur la carte de circuit imprimé et à résister à la pression.
Les boutons à montage sur panneau ont généralement deux broches.

Le module de bouton-poussoir comprend une résistance de tirage vers le bas intégrée, qui assure que la sortie reste à l'état bas lorsque le bouton n'est pas enfoncé. Il possède trois broches :
- GND: Connectez cette broche à la masse.
- VCC: Connectez cette broche à une alimentation de 5 V ou 3,3 V.
- OUT: Connectez cette broche à une entrée numérique de votre Arduino.
Avec cette configuration, le module émet LOW lorsque le bouton n'est pas enfoncé et émet HIGH lorsque le bouton est enfoncé.
Comment cela fonctionne
- Lorsque le bouton n'est pas enfoncé, les broches A et B ne sont pas connectées.
- Lorsque le bouton est enfoncé, les broches A et B sont connectées.

Arduino UNO R4 - Bouton
Une broche du bouton se connecte à VCC ou à GND, et l'autre broche se connecte à une broche sur l'Arduino UNO R4.
Nous pouvons déterminer si le bouton est enfoncé ou non en vérifiant l'état d'une broche sur l'Arduino UNO R4 configurée comme entrée.
État du bouton et état d'appui
La relation entre l'état du bouton et l'état appuyé dépend de la façon dont nous connectons le bouton à l'Arduino UNO R4 et des réglages de la broche de l'Arduino UNO R4.
Il y a deux façons d'utiliser un bouton avec l'Arduino UNO R4:
- Connectez une broche du bouton à VCC et l'autre à une broche de l'Arduino UNO R4 avec une résistance de pull-down.
- Lorsque le bouton est enfoncé, l'état de la broche de l'Arduino UNO R4 est HAUT. Sinon, l'état de la broche de l'Arduino UNO R4 est BAS.
- Vous DEVEZ utiliser une résistance externe.
- Lorsque le bouton est enfoncé, l'état de la broche de l'Arduino UNO R4 est BAS. Sinon, l'état de la broche de l'Arduino UNO R4 est HAUT.
- Vous pouvez utiliser soit une résistance interne soit une résistance externe. La résistance interne est intégrée dans l'Arduino UNO R4 et peut être activée via le code Arduino.
※ Note:
Si nous n'utilisons pas de résistance de tirage vers le haut ou vers le bas, la broche d'entrée est « flottante » lorsque le bouton n'est pas enfoncé. Cela signifie que l'état de la broche peut changer de manière imprévisible vers HIGH ou LOW, entraînant des lectures incorrectes.
- La pire pratique : Configurer la broche Arduino UNO R4 comme entrée en utilisant pinMode(BUTTON_PIN, INPUT) sans aucune résistance de tirage vers le bas ni vers le haut.
- La meilleure pratique : Configurer la broche Arduino UNO R4 avec une résistance de tirage interne (pull-up) en utilisant pinMode(BUTTON_PIN, INPUT_PULLUP). Cela ne nécessite pas de résistance externe.
Pour faciliter les choses pour les débutants, ce tutoriel utilise la méthode la plus simple : configurer la broche de l'Arduino UNO R4 en entrée pull-up interne sans avoir besoin d'une résistance externe. Les débutants n'ont pas à se soucier de connecter la résistance de pull-up ou de pull-down. Ils n'ont qu'à utiliser le code Arduino fourni.
Diagramme de câblage
- Schéma de câblage pour Arduino UNO R4 et bouton monté sur PCB

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Schéma de câblage pour Arduino UNO R4 et bouton monté sur panneau

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Comment programmer pour le bouton
- Configure la broche 7 de l'Arduino UNO R4 en tant qu'entrée pull-up interne en utilisant la fonction pinMode().
- Utilise la fonction digitalRead() pour vérifier l'état de la broche de l'Arduino UNO R4.
※ Note:
Il existe deux cas d'utilisation courants :
- Le premier : lorsque l'entrée est à un niveau élevé, effectuer une action. Lorsque l'entrée est à un niveau bas, effectuer l'action opposée.
- Le second : lorsque l'entrée passe de bas à élevé (ou élevé à bas), effectuer une action.
Selon l'objectif, nous sélectionnons l'une de ces options.
Par exemple, lorsqu'on utilise un bouton pour contrôler une LED :
- Si nous avons besoin que la LED s'allume lorsque le bouton est enfoncé et s'éteigne lorsqu'il n'est pas enfoncé, nous devrions choisir le premier scénario.
- Si nous voulons que la LED bascule entre allumé et éteint à chaque fois que le bouton est enfoncé, nous devrions opter pour le deuxième scénario.
Arduino UNO R4 Code - Lecture de l'état du bouton
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino UNO R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
- Connectez le bouton à l'Arduino UNO R4 selon le schéma fourni.
- Connectez la carte Arduino UNO R4 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino UNO R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino
- Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à votre Arduino UNO R4.

- Ouvrez le moniteur série.
- Appuyez et relâchez le bouton plusieurs fois.
- Vérifiez le résultat sur le moniteur série.
1 signifie ON, 0 signifie OFF.
Explication du code
L'explication se trouve dans la section des commentaires du code Arduino ci-dessus.
Code Arduino UNO R4 - Détection de l'appui et du relâchement du bouton
Modifions le code pour reconnaître quand les boutons sont enfoncés et relâchés.
Étapes rapides
- Copiez le code ci-dessus et collez-le dans l'IDE Arduino
- Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code vers l'Arduino UNO R4.
- Ouvrez le Moniteur série.
- Appuyez sur le bouton et relâchez-le.
- Vérifiez le résultat dans le Moniteur série.
※ Note:
- Même si vous appuyez et relâchez le bouton une seule fois, le Moniteur série peut afficher plusieurs événements d'appui et de relâchement. Ce comportement habituel est connu sous le nom de « phénomène de rebondissement ». Vous pouvez trouver plus de détails dans le Arduino UNO R4 - Bouton - anti-rebond..
- Pour simplifier le processus pour les débutants utilisant plusieurs boutons, nous avons développé une bibliothèque nommée ezButton. Vous pouvez en savoir plus sur la bibliothèque ezButton ici.
- Si vous utilisez le module bouton, définissez la broche en mode entrée en utilisant pinMode(BUTTON_PIN, INPUT). Dans cette configuration, le module renvoie LOW lorsque le bouton n'est pas enfoncé et HIGH lorsque le bouton est enfoncé.