ESP32 C3 Super Mini - Clavier 4x4
Un clavier 4x4 offre 16 boutons à votre ESP32 C3 Super Mini sur un seul pavé fin. C'est le moyen le plus simple de permettre à un utilisateur de taper un nombre ou un code PIN. Ce tutoriel sur le clavier 4x4 avec l'ESP32 C3 Super Mini vous montre le câblage, le code et une vérification de mot de passe fonctionnelle.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est un clavier 4x4 et comment fonctionne le balayage des touches
- À quoi servent les 8 broches du clavier (R1-R4 et C1-C4)
- Comment câbler un clavier 4x4 à l'ESP32 C3 Super Mini
- Comment afficher chaque touche appuyée sur le Moniteur Série
- Comment créer une vérification de mot de passe avec les touches * et #

Matériel Requis
| 1 | × | ESP32 C3 Super Mini | |
| 1 | × | Câble USB Type-A vers Type-C (pour PC USB-A) | |
| 1 | × | Câble USB Type-C vers Type-C (pour PC USB-C) | |
| 1 | × | Clavier 4x4 | |
| 1 | × | Fils de connexion |
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Clavier 4x4
Un clavier 4x4 est un pavé de saisie à membrane avec 16 boutons disposés en 4 lignes et 4 colonnes.
Caractéristiques Principales :
- 16 touches : 0-9, A, B, C, D, étoile et dièse.
- Seulement 8 fils : 4 broches de ligne et 4 broches de colonne.
- Pas de broche d'alimentation : Le clavier ne prend ni VCC ni GND.
- Fin et plat : Un dos autocollant vous permet de le coller sur un boîtier.
- Compatible 3,3V : Il fonctionne directement avec les niveaux logiques de l'ESP32 C3 Super Mini.
Spécifications Techniques :
- Disposition : 4 lignes x 4 colonnes.
- Broches : 8 broches (R1, R2, R3, R4, C1, C2, C3, C4).
- Type de contact : Simple interrupteur momentané sous chaque touche.
- Tension de fonctionnement : Définie par la carte. 3,3V sur l'ESP32 C3 Super Mini.
- Consommation de courant : Presque nulle, il n'a donc pas besoin d'alimentation supplémentaire.
Comment Fonctionne le Balayage des Touches
Le clavier n'a pas de puce à l'intérieur, l'ESP32 C3 Super Mini trouve donc la touche par balayage.
- Un interrupteur par touche : Chaque touche relie un fil de ligne à un fil de colonne.
- Ligne par ligne : La carte met une ligne à LOW à la fois.
- Lecture des colonnes : Elle lit ensuite les 4 broches de colonne.
- Correspondance : Une colonne à LOW indique à la carte quelle touche est enfoncée.
- Rapide : Le balayage complet prend moins d'une milliseconde, il semble donc instantané.
- La bibliothèque s'en charge : La bibliothèque DIYables_Keypad effectue ce balayage pour vous.
Brochage
Le clavier 4x4 possède 8 broches réparties en deux groupes.
- Broche R1 : Ligne 1, la rangée de touches du haut (1, 2, 3, A).
- Broche R2 : Ligne 2, la deuxième rangée de touches (4, 5, 6, B).
- Broche R3 : Ligne 3, la troisième rangée de touches (7, 8, 9, C).
- Broche R4 : Ligne 4, la rangée de touches du bas (*, 0, #, D).
- Broche C1 : Colonne 1, la colonne de gauche (1, 4, 7, *).
- Broche C2 : Colonne 2, la deuxième colonne (2, 5, 8, 0).
- Broche C3 : Colonne 3, la troisième colonne (3, 6, 9, #).
- Broche C4 : Colonne 4, la colonne de droite (A, B, C, D).

WARNING
Un clavier 4x4 nécessite 8 broches GPIO, soit presque toutes les broches libres de l'ESP32 C3 Super Mini. Après l'avoir câblé, il ne vous reste presque plus de broche pour un écran, un relais ou un capteur.
Si vous avez besoin de broches pour d'autres composants, utilisez plutôt l'une de ces options :
- Un clavier I2C, qui n'a besoin que de SDA GPIO10 et SCL GPIO8.
- Un expandeur d'E/S PCF8574 entre le clavier et la carte, également sur SDA GPIO10 et SCL GPIO8.
Les deux options pilotent les mêmes 16 touches avec seulement 2 fils.
Schéma de Câblage
Connectez les 4 broches de ligne et les 4 broches de colonne du clavier à 8 broches GPIO libres de l'ESP32 C3 Super Mini.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du Clavier | Broche de l'ESP32 C3 Super Mini |
|---|---|
| R1 | GPIO2 |
| R2 | GPIO3 |
| R3 | GPIO4 |
| R4 | GPIO5 |
| C1 | GPIO6 |
| C2 | GPIO7 |
| C3 | GPIO10 |
| C4 | GPIO1 |
- Remarque : Le clavier n'a ni fil VCC ni fil GND. Les 8 broches vont toutes à des broches GPIO.
- Remarque : N'utilisez jamais GPIO8 (LED intégrée et broche de démarrage), GPIO9 (broche de démarrage), GPIO20 ou GPIO21 (UART du Moniteur Série).
- Remarque : Le clavier est compatible 3,3V. Ne connectez aucune broche au 5V.
- Remarque : Enfoncez complètement chaque fil de liaison dans la breadboard. Un fil mal branché est la première cause des appuis de touche manqués.
- Remarque : Tenez le clavier avec les touches vers le haut et comptez les fils de la nappe à partir de la gauche. Le premier est R1 et le dernier est C4.
Code ESP32 C3 Super Mini - Clavier 4x4
Ce premier sketch affiche simplement chaque touche que vous appuyez.
Ce Que Fait Ce Code :
- Crée une carte des 16 touches dans un tableau 4x4.
- Indique à la bibliothèque quelles broches GPIO correspondent aux lignes et aux colonnes.
- Balaye le clavier encore et encore dans la boucle.
- Affiche la touche appuyée sur le Moniteur Série à 115200 bauds.
- N'affiche rien lorsqu'aucune touche n'est enfoncée.
Étapes Rapides
- Nouveau sur l'ESP32 C3 Super Mini ? Suivez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
- Câblez les composants : Suivez le schéma de câblage ci-dessus pour connecter le clavier 4x4 à l'ESP32 C3 Super Mini.
- Connectez la carte : Branchez l'ESP32 C3 Super Mini à votre PC avec un câble USB Type-C.
- Ouvrez l'IDE : Lancez le logiciel Arduino IDE.
- Sélectionnez la carte : Assurez-vous que ESP32 C3 Super Mini est sélectionnée dans Outils > Type de carte.
- Sélectionnez le port : Choisissez le port COM de votre carte dans Outils > Port.
- Ouvrez le Gestionnaire de Bibliothèques : Cliquez sur l'icône Bibliothèques dans la barre de gauche de l'Arduino IDE.
- Recherchez la bibliothèque : Tapez "DIYables_Keypad" dans la zone de recherche.
- Installez la bibliothèque : Trouvez la bibliothèque keypad de DIYables.io, puis cliquez sur Installer.
- Search for DIYables_Keypad created by DIYables.io and click the Install button.
- Copiez le code : Copiez le code du clavier ci-dessus et collez-le dans l'Arduino IDE.
- Téléversez le code : Cliquez sur le bouton Téléverser pour envoyer le sketch vers l'ESP32 C3 Super Mini.
- Ouvrez le Moniteur Série : Réglez le débit en bauds sur 115200.
- Testez-le : Appuyez sur quelques touches du clavier, une à la fois.
- Vérifiez la sortie : Chaque touche que vous appuyez s'affiche sur sa propre ligne.
- Astuce Pro : Si la mauvaise touche est affichée, inversez les broches de ligne et les broches de colonne dans le code. Les nappes des claviers ne sont pas câblées de la même façon par tous les fabricants.
Sortie du Moniteur Série
Appuyez sur les touches 1, 4, A et # l'une après l'autre.
Clavier et Mot de Passe
Le clavier devient un pavé PIN lorsque vous utilisez deux touches comme touches de contrôle.
- Touche étoile : La touche * efface ce que vous avez tapé pour que vous puissiez recommencer.
- Touche dièse : La touche # termine la saisie et la compare au mot de passe enregistré.
- Toute autre touche : Est ajoutée à la fin du mot de passe tapé.
- Résultat : Le sketch affiche ACCESS GRANTED ou ACCESS DENIED, puis efface la saisie.
- Votre code : Placez votre propre action, comme l'ouverture d'une serrure, là où le code indique DO YOUR WORK HERE.
Code ESP32 C3 Super Mini - Mot de Passe avec Clavier
Ce deuxième sketch transforme le clavier de l'ESP32 C3 Super Mini en vérificateur de mot de passe.
Ce Que Fait Ce Code :
- Garde un mot de passe dans le sketch, défini à 7890A par défaut.
- Collecte chaque touche appuyée dans une chaîne de saisie.
- Efface la saisie lorsque vous appuyez sur la touche *.
- Compare la saisie avec le mot de passe lorsque vous appuyez sur la touche #.
- Affiche si le mot de passe est correct, puis efface la saisie.
Étapes Rapides (Exemple de Mot de Passe)
- Téléversez le code : Envoyez le sketch du mot de passe vers l'ESP32 C3 Super Mini.
- Ouvrez le Moniteur Série : Réglez le débit en bauds sur 115200.
- Tapez un mauvais code : Appuyez sur 1234BC puis sur #.
- Tapez le bon code : Appuyez sur 7890A puis sur #.
- Vérifiez la sortie : Lisez les lignes de résultat sur le Moniteur Série.
- Astuce Pro : Appuyez sur * à tout moment si vous faites une erreur de saisie. Cela efface la saisie sans message de mauvais mot de passe.
※ Note:
Le mot de passe est stocké en texte clair dans le sketch. C'est suffisant pour apprendre. Pour une vraie serrure, stockez-le dans la mémoire flash NVS afin de pouvoir le modifier sans nouveau téléversement.
Explication du Code Ligne par Ligne
Le code ESP32 C3 Super Mini ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !
Idées d'Applications/de Projets
Un clavier est la partie de saisie de presque tous les petits projets de sécurité ou de menu.
- Serrure de Porte : Ouvrez une ESP32 C3 Super Mini - Serrure Solénoïde lorsque le code PIN est correct.
- Coffre-Fort : Demandez une séquence de touches plus longue avant qu'un boîtier puisse être ouvert.
- Clavier d'Alarme : Armez et désarmez une alarme avec un code.
- Journal d'Accès : Enregistrez chaque appui de touche avec un horodatage sur une carte SD.
- Calculatrice Simple : Utilisez 0-9 pour les nombres et A-D pour plus, moins, multiplier et diviser.
- Contrôle de Menu : Choisissez un élément de menu sur un écran LCD en tapant son numéro.
Défiez-vous
Essayez ces petits projets pour vous exercer avec le clavier 4x4 et l'ESP32 C3 Super Mini.
- Facile : Remplacez le mot de passe par votre propre nombre à 6 chiffres et testez-le.
- Facile : Faites clignoter une fois la LED intégrée sur GPIO8 à chaque appui de touche.
- Moyen : Affichez chaque touche sur un écran LCD I2C au lieu du Moniteur Série, en utilisant SDA GPIO10 et SCL GPIO8.
- Moyen : Bloquez le clavier pendant 30 secondes après 3 essais erronés.
- Avancé : Enregistrez le mot de passe dans la mémoire flash NVS pour qu'il survive à une coupure de courant, et ajoutez une séquence de touches pour le modifier.
- Avancé : Remplacez le câblage direct par un expandeur d'E/S PCF8574 pour que le clavier n'ait besoin que de 2 broches.