ESP32 C3 Super Mini - Bouton
L'apprentissage de l'utilisation d'un bouton avec votre ESP32 C3 Super Mini est l'une des compétences les plus importantes pour tout projet Arduino. Ce didacticiel facilite la compréhension du câblage des boutons, de la programmation et du dépannage courant pour les débutants.
Dans ce didacticiel, vous apprendrez:
- Qu'est-ce qu'un bouton poussoir et comment il fonctionne avec l'ESP32 C3 Super Mini
- Comment câbler les boutons (montage PCB et montage en panneau) à votre ESP32
- Comment écrire du code pour lire les états des boutons et détecter les appuis
- Comment éviter les erreurs courantes des débutants comme les entrées flottantes et les problèmes d'antirebond

※ Note:
Avant de présenter le bouton, nous aimerions signaler qu'il y a deux erreurs courantes que les débutants rencontrent généralement:
- Le problème des entrées flottantes:
- Symptôme: Lors de la connexion d'un bouton à la broche d'entrée ESP32 C3 Super Mini, l'état de la broche d'entrée est aléatoire et ne correspond pas à l'état d'appui du bouton.
- Cause: La broche du bouton N'UTILISE PAS une résistance de tirage ou une résistance de tirage.
- Solution: ⇒ Utilisez une résistance de tirage ou une résistance de tirage sur la broche d'entrée. Le détail sera décrit plus tard dans ce didacticiel.
- Symptôme: Le code sur l'ESP32 C3 Super Mini lit l'état du bouton et identifie l'événement d'appui en détectant le changement d'état (HIGH à LOW, ou LOW à HIGH). Lorsque le bouton est réellement appuyé une seule fois, le code ESP32 C3 Super Mini détecte plusieurs appuis plutôt qu'une fois.
- Cause: En raison des caractéristiques mécaniques et physiques, lorsque vous appuyez une seule fois sur un bouton, l'état de la broche d'entrée bascule rapidement entre LOW et HIGH plusieurs fois plutôt qu'une fois
- Solution: ⇒ Antirebond. Le détail sera décrit dans le didacticiel ESP32 C3 Super Mini - Bouton - Antirebond.
Le phénomène de chattering ne cause une défaillance que dans certains types d'applications qui nécessitent de détecter exactement le nombre d'appuis. Dans certains types d'applications, c'est inoffensif.
Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Bouton
Un bouton poussoir est un simple commutateur qui se ferme lorsqu'il est appuyé et s'ouvre lorsqu'il est relâché.
Types courants de boutons:
- Boutons poussoirs montés sur PCB (parfaits pour les breadboards)
- Boutons poussoirs montés en panneau (pour les boîtiers de projet)
- Modules de bouton (avec résistances de tirage intégrées)
Pourquoi les boutons sont utiles:
- Entrée utilisateur simple pour les projets ESP32 C3 Super Mini
- Contrôler les LED, les moteurs et autres sorties
- Déclencher les actions et les événements dans votre code

Disposition des Broches du Bouton
Bouton Montage PCB (4 broches)
Un bouton montage PCB a quatre broches connectées en interne par paires.

Points clés:
- Seulement deux broches sont nécessaires (de paires différentes)
- Quatre options de câblage existent, mais elles se réduisent à deux méthodes pratiques
- Quatre broches offrent une stabilité contre la force d'appui

Bouton Montage Panneau (2 broches)
Un bouton montage panneau a deux simples broches.

Module Bouton (3 broches)
Le module de bouton comprend une résistance de tirage intégrée pour un fonctionnement fiable.
- GND: Connectez à la masse
- VCC: Connectez à l'alimentation 3.3V
- OUT: Connectez à la broche d'entrée numérique ESP32 C3 Super Mini (sort LOW lorsqu'il n'est pas appuyé, HIGH lorsqu'il est appuyé)
Comment Fonctionne un Bouton
Le bouton connecte ou déconnecte deux broches en fonction de son état.
- Lorsqu'il est appuyé: La broche A se connecte à la broche B
- Lorsqu'il est relâché: La broche A se déconnecte de la broche B

ESP32 C3 Super Mini - Bouton
Une broche du bouton se connecte à une broche d'entrée numérique ESP32 C3 Super Mini, l'autre se connecte à VCC ou GND.
Lecture de l'état du bouton:
- Votre code ESP32 lit l'état de la broche d'entrée
- L'état vous indique si le bouton est appuyé ou non
État d'Entrée et État d'Appui
La relation entre l'état de la broche d'entrée et l'appui sur le bouton dépend de votre configuration de câblage.
Deux méthodes de câblage courantes:
- Bouton connecté à VCC:
- Nécessite une résistance de tirage
- Bouton appuyé = signal HIGH
- Bouton relâché = signal LOW
- Nécessite une résistance de tirage
- Bouton appuyé = signal LOW
- Bouton relâché = signal HIGH
※ Note:
Si ni une résistance de tirage ni une résistance de tirage n'est utilisée, l'état de la broche d'entrée est aléatoire entre HIGH ou LOW (instable, non fixe) lorsque le bouton N'EST PAS appuyé. C'est ce qu'on appelle le "problème d'entrée flottante". Cela entraîne une défaillance.
Conseil pour débutant:
- Utilisez la résistance de tirage interne du ESP32 (aucun composant externe requis)
- Simplifie le câblage et réduit les exigences matérielles
Schéma de Câblage entre Bouton et ESP32 C3 Super Mini
Voici comment câbler différents types de boutons à votre ESP32 C3 Super Mini.
Câblage avec bouton montage PCB:

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du Bouton | Broche ESP32 C3 Super Mini |
|---|---|
| Broche A | GPIO7 |
| Broche B | GND |
Câblage avec bouton montage panneau:

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du Bouton | Broche ESP32 C3 Super Mini |
|---|---|
| Broche 1 | GPIO7 |
| Broche 2 | GND |
Comment Programmer le Bouton
La programmation d'un bouton sur l'ESP32 C3 Super Mini implique deux étapes simples.
Étape 1: Initialiser la broche avec tirage interne:
Étape 2: Lire l'état du bouton:
Deux cas d'utilisation courants:
※ Note:
Il y a deux cas d'utilisation largement utilisés:
- Le premier cas d'utilisation: Si l'état d'entrée est HIGH, faites quelque chose. Si l'état d'entrée est LOW, faites une autre chose.
- Le deuxième cas d'utilisation: Si l'état d'entrée change de LOW à HIGH, faites quelque chose. Si l'état d'entrée change de HIGH à LOW, faites une autre chose.
Selon l'application, l'un d'eux est utilisé. Par exemple, dans le cas d'utiliser un bouton pour contrôler une LED:
- Si nous voulons allumer la LED lorsque le bouton est appuyé et l'éteindre lorsque le bouton N'EST PAS appuyé, nous DEVONS utiliser le premier cas.
- Si nous voulons basculer la LED entre ON et OFF à chaque appui sur le bouton, nous DEVONS utiliser le deuxième cas.
Exemple: Détection du changement d'état de LOW à HIGH:
Code ESP32 C3 Super Mini
Ce code lit et affiche l'état du bouton sur le Moniteur Série.
Ce que le code fait:
- Configure la broche D2 comme entrée avec résistance de tirage interne
- Lit continuellement l'état du bouton
- Imprime l'état (HIGH ou LOW) sur le Moniteur Série
- Se met à jour toutes les 100 millisecondes
Étapes Rapides
- Nouveau sur Arduino? Commencez par notre guide Démarrage ESP32 C3 Super Mini d'abord.
- Câbler les composants: Suivez le schéma de câblage ci-dessus.
- Connecter votre carte: Branchez l'ESP32 C3 Super Mini à votre ordinateur via le câble USB.
- Ouvrir l'IDE Arduino: Lancez le logiciel sur votre ordinateur.
- Sélectionner votre carte: Choisissez ESP32 C3 Super Mini et le bon port COM.
- Télécharger le code: Copiez le code ci-dessous et collez-le dans l'IDE Arduino.
- Compiler et télécharger: Cliquez sur le bouton Télécharger dans l'IDE Arduino.

- Ouvrir le Moniteur Série: Cliquez sur l'icône du Moniteur Série dans l'IDE Arduino.

- Tester le bouton: Appuyez et relâchez le bouton plusieurs fois.
- Voir les résultats: Vérifiez la sortie du Moniteur Série.
- Conseil Pro: Gardez la vitesse en bauds du Moniteur Série définie sur 115200 pour correspondre à votre code.
Sortie du Moniteur Série
Remarque: 1 représente HIGH (bouton relâché), 0 représente LOW (bouton appuyé).
Explication du Code Ligne par Ligne
Le code ESP32 C3 Super Mini ci-dessus contient l'explication ligne par ligne. Veuillez lire les commentaires dans le code!
Modification du Code ESP32 C3 Super Mini
Améliorons le code pour détecter les événements de presse et de relâchement au lieu de simplement lire les états.
Ce que ce code modifié fait:
- Détecte lorsque le bouton est appuyé (l'état passe de HIGH à LOW)
- Détecte lorsque le bouton est relâché (l'état passe de LOW à HIGH)
- Imprime des messages clairs pour chaque événement
- Suit l'état précédent pour identifier les changements
Étapes Rapides
- Configuration de l'environnement: Si c'est la première fois que vous utilisez ESP32 C3 Super Mini, voir comment configurer l'environnement pour ESP32 C3 Super Mini sur l'IDE Arduino.
- Modifier le code: Remplacez votre code précédent par le code ci-dessous.
- Télécharger le code: Compilez et téléchargez sur votre carte ESP32 C3 Super Mini.
- Ouvrir le Moniteur Série: Affichage de la fenêtre de sortie.
- Tester: Appuyez et relâchez le bouton.
- Observer les résultats: Vérifiez le Moniteur Série pour les messages d'événements.
Sortie du Moniteur Série
※ Note:
- Le Moniteur Série peut imprimer plusieurs événements appuyé et relâché même si vous avez fait un seul appui et relâchement. C'est un comportement normal du bouton. Ce comportement s'appelle le "phénomène de chattering". Dans certaines applications, nous avons besoin d'une méthode pour l'éliminer. Vous pouvez en savoir plus dans le didacticiel Antirebond Bouton ESP32 C3 Super Mini.
- Pour le simplifier pour les débutants, surtout lors de l'utilisation de plusieurs boutons, nous avons créé une bibliothèque, appelée ezButton. Vous pouvez en savoir plus sur la bibliothèque ezButton ici.
- Lors de l'utilisation du module de bouton, définissez la broche sur pinMode(BUTTON_PIN, INPUT). Le module sort LOW lorsqu'il n'est pas appuyé et HIGH lorsqu'il est appuyé.
Idées d'Application/Projet
Voici des façons créatives d'utiliser les boutons avec vos projets ESP32 C3 Super Mini.
- Contrôler la luminosité ou les couleurs des LED avec des appuis sur le bouton
- Créer un compteur numérique ou un tableau de bord
- Construire un système de buzzer de quiz avec plusieurs boutons
- Concevoir un système de sécurité avec alarmes activées par bouton
- Faire un contrôleur de lecteur de musique (lecture, pause, saut)
- Développer un remplacement d'interrupteur d'éclairage domotique
Section Vidéo
Regardez la vidéo ci-dessous pour une procédure pas à pas visuelle de ce projet.
Défiez-vous
Amenez vos compétences en boutons au niveau suivant avec ces défis.
- Facile: Ajoutez une LED qui s'allume lorsque le bouton est appuyé
- Facile: Comptez combien de fois le bouton est appuyé et afficher le compte
- Moyen: Créez un détecteur d'appui long qui déclenche des actions différentes pour les appuis courts et longs
- Moyen: Implémentez un antirebond approprié pour éliminer les détections d'appui multiples
- Avancé: Construisez une serrure à combinaison en utilisant plusieurs boutons avec une séquence de code secret
Connaissances Supplémentaires
Comprendre quand utiliser les résistances de tirage ou de tirage est essentiel pour les projets fiables ESP32 C3 Super Mini.
Quand utiliser les résistances de tirage/tirage:
- DEVRAIT utiliser: Les capteurs avec deux états (ouvert/fermé) ont besoin de résistances pour créer des signaux clairs HIGH/LOW
- Exemples: bouton poussoir, commutateur, commutateur de contact magnétique (capteur de porte)
- NE DEVRAIT PAS utiliser: Les capteurs qui produisent les niveaux de tension (LOW/HIGH) n'ont pas besoin de résistances