ESP32 S3 - Clavier 1x4
Ce guide vous accompagne dans la connexion et la programmation d'un clavier 1x4 avec un ESP32 S3. Vous apprendrez comment chaque touche correspond à une broche GPIO et comment utiliser la bibliothèque ezButton pour gérer proprement l'anti-rebond sans perturber les autres parties de votre croquis.
Ce que vous allez construire :
- Un circuit de clavier 1x4 câblé à l'ESP32 S3 avec des fils de connexion.
- Un code qui détecte quelle touche est appuyée et affiche son étiquette dans le moniteur série.
- Un lecteur de clavier avec anti-rebond qui élimine les fausses lectures d'appuis multiples.
- Une base que vous pouvez étendre pour la saisie de mot de passe, la navigation dans un menu, ou le contrôle d'un appareil.
Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du clavier 1x4
Un clavier 1x4 contient quatre boutons à membrane disposés sur une seule rangée, ce qui en fait un dispositif de saisie compact pour les projets embarqués. Il est couramment utilisé pour permettre aux utilisateurs de saisir des données comme des mots de passe, de naviguer dans des menus simples, ou de déclencher des actions sur un appareil sans clavier complet.
Spécifications clés
Le clavier 1x4 se connecte via cinq broches et fonctionne à des niveaux logiques de 3,3 V, ce qui correspond parfaitement à la tension GPIO de l'ESP32 S3. Chaque touche agit comme un interrupteur momentané entre sa broche dédiée et la broche commune, donc aucune résistance de tirage (pull-up ou pull-down) externe n'est nécessaire lorsque les résistances de tirage internes du microcontrôleur sont utilisées.
Brochage
Le clavier 1x4 expose cinq broches dont l'ordre ne correspond pas aux étiquettes des touches imprimées sur la membrane.
- Broche 1 : liée à la touche 2
- Broche 2 : liée à la touche 1
- Broche 3 : liée à la touche 4
- Broche 4 : liée à la touche 3
- Broche 5 : connectée à toutes les touches, c'est la broche commune

Schéma de câblage
Connectez chacune des quatre broches de touches du clavier à une broche GPIO dédiée de l'ESP32 S3, et câblez la broche commune (broche 5) à GND. Les résistances de tirage internes de l'ESP32 S3 maintiendront chaque GPIO à HIGH jusqu'à ce qu'une touche soit appuyée.
Notes de sécurité
Connectez toujours la broche commune du clavier à GND et activez les résistances de tirage internes dans le code afin que les broches GPIO ne soient jamais laissées flottantes. Évitez de faire passer les fils du clavier près de pistes à fort courant ou de bobines de relais, car le bruit électrique peut provoquer de fausses lectures de touches.
| Clavier 1x4 | ESP32 S3 |
|:---|:---|
| Broche 1 (touche 2) | GPIO5 |
| Broche 2 (touche 1) | GPIO4 |
| Broche 3 (touche 4) | GPIO7 |
| Broche 4 (touche 3) | GPIO6 |
| Broche 5 (commune) | GND |

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code ESP32 S3
Chaque touche du clavier 1x4 se comporte comme un bouton momentané, donc l'ESP32 S3 la lit avec digitalRead(). Cependant, les touches physiques présentent un rebond de contact qui peut faire enregistrer un seul appui comme plusieurs événements, donc l'anti-rebond est essentiel. Le code suivant utilise la bibliothèque ezButton pour gérer automatiquement l'anti-rebond des quatre touches, rendant le croquis propre et facile à étendre.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez le clavier à l'ESP32 S3 comme indiqué sur le schéma de câblage ci-dessus.
- Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 (par exemple ESP32S3 Dev Module) et le bon port COM.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "ezButton", puis trouvez la bibliothèque de bouton de ArduinoGetStarted.com.
- Cliquez sur le bouton Install pour installer la bibliothèque ezButton.
- Search for ezButton created by ArduinoGetStarted.com and click the Install button.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Cliquez sur le bouton Upload dans l'Arduino IDE pour téléverser le code vers l'ESP32 S3.

- Ouvrez le moniteur série sur l'Arduino IDE.
- Appuyez sur chaque touche du clavier 1x4 et vérifiez la sortie dans le moniteur série.
Astuce : Si une touche enregistre plusieurs appuis pour un seul appui, augmentez l'intervalle d'anti-rebond dans les réglages d'ezButton pour filtrer le rebond mécanique propre à la membrane de votre clavier.
Sortie du moniteur série
Ouvrez le moniteur série à 9600 bauds pour observer quelles touches l'ESP32 S3 détecte lorsque vous les appuyez. Les relevés suivants montrent une session typique avec horodatage :
Applications
Le clavier 1x4 offre à l'ESP32 S3 une interface de saisie simple mais polyvalente adaptée à un large éventail de projets embarqués. Voici quelques applications courantes :
- Saisie de mot de passe : Utilisez quatre touches pour saisir un code PIN numérique qui déverrouille une serrure de porte ou un coffre contrôlé par relais.
- Navigation dans un menu : Attribuez aux touches les actions haut, bas, sélectionner, et retour pour naviguer dans le menu d'un écran OLED.
- Sélecteur de mode d'appareil : Basculez entre des modes de fonctionnement comme manuel, automatique, minuterie, et arrêt avec un seul appui de touche.
- Contrôle d'alarme : Armez et désarmez un système d'alarme à capteur de mouvement en appuyant sur une combinaison de touches désignée.
- Compteur de score : Incrémentez ou décrémentez un compteur de score affiché sur un écran LCD pendant un jeu de société.
Vidéo
Regardez la vidéo pas à pas pour ce projet ESP32 S3 ci-dessous.
Défis
Expérimenter au-delà du simple lecteur de clavier est la meilleure façon d'approfondir votre compréhension de la gestion des entrées sur l'ESP32 S3. Essayez ces défis pour gagner en confiance avec des techniques plus avancées :
- Débutant : Modifiez le code afin que chaque touche bascule une LED différente connectée à une broche GPIO de l'ESP32 S3.
- Intermédiaire : Implémentez un système de code PIN à 4 chiffres qui déverrouille un relais quand la séquence correcte est saisie et affiche "Access Granted" ou "Access Denied" dans le moniteur série.
- Avancé : Combinez le clavier 1x4 avec un écran OLED pour construire un menu entièrement navigable qui permet à l'utilisateur de sélectionner et d'ajuster les réglages de l'appareil sans ordinateur.