ESP32 S3 - Clavier 3x4
Apprenez à connecter et programmer un clavier 3x4 avec votre carte ESP32 S3. Ce tutoriel vous guide dans la lecture des pressions de touches individuelles et la construction d'un système de vérification de mot de passe utilisant la bibliothèque de clavier DIYables.
Ce que vous allez construire :
- Un lecteur de clavier qui affiche chaque touche pressée sur le Serial Monitor
- Un système de saisie de mot de passe qui valide un code défini par l'utilisateur saisi sur le clavier
- Une base de contrôle d'accès utilisant les touches « * » et « # » comme déclencheurs de démarrage et de confirmation
- Un modèle réutilisable pour les serrures de porte, les claviers PIN, et d'autres projets ESP32 S3 sécurisés par saisie

Matériel Requis
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 3x4
Le clavier 3x4 est un dispositif de saisie à membrane avec 12 boutons disposés dans une grille de quatre rangées et trois colonnes. Chaque pression de touche est détectée en balayant les connexions de rangée et de colonne en séquence, permettant à l'ESP32 S3 d'identifier exactement quel bouton a été pressé en utilisant seulement sept broches numériques.
Spécifications Clés
Le clavier expose sept broches — quatre pour les rangées (R1 à R4) et trois pour les colonnes (C1 à C3). Aucune broche d'alimentation n'est requise ; le clavier s'appuie entièrement sur les niveaux logiques GPIO du microcontrôleur connecté. La construction à membrane le rend mince et compact, et la disposition 3x4 fournit les touches 0–9 plus « * » et « # » pour des schémas de saisie numérique flexibles. Le clavier est entièrement compatible avec la logique 3,3V, ce qui en fait un choix naturel pour l'ESP32 S3.
Brochage
Le clavier 3x4 a 7 broches organisées en deux groupes :
- Broche R1 : Rangée 1 — rangée supérieure de touches (1, 2, 3)
- Broche R2 : Rangée 2 — deuxième rangée de touches (4, 5, 6)
- Broche R3 : Rangée 3 — troisième rangée de touches (7, 8, 9)
- Broche R4 : Rangée 4 — rangée inférieure de touches (*, 0, #)
- Broche C1 : Colonne 1 — colonne la plus à gauche (1, 4, 7, *)
- Broche C2 : Colonne 2 — colonne du milieu (2, 5, 8, 0)
- Broche C3 : Colonne 3 — colonne la plus à droite (3, 6, 9, #)

Schéma de Câblage
Connectez le clavier 3x4 à l'ESP32 S3 en associant les broches de rangée et de colonne du clavier à des broches GPIO disponibles dans l'ordre. Le tableau et le schéma de câblage suivants montrent la connexion recommandée pour ce tutoriel.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de Sécurité
Le clavier 3x4 fonctionne entièrement en logique 3,3V et consomme un courant négligeable, donc il n'y a aucun risque d'endommager l'ESP32 S3 à partir de cette seule connexion. Vérifiez toujours que chaque fil est bien inséré dans son emplacement de breadboard avant de téléverser le code — les connexions lâches sont la cause la plus courante de touches manquées ou de rangées et colonnes inversées.
| Broche du Clavier | Broche ESP32 S3 |
|---|---|
| R1 | GPIO17 |
| R2 | GPIO16 |
| R3 | GPIO15 |
| R4 | GPIO7 |
| C1 | GPIO6 |
| C2 | GPIO5 |
| C3 | GPIO4 |
Code ESP32 S3
Le code suivant utilise la bibliothèque DIYables_Keypad pour détecter les pressions de touches individuelles sur le clavier 3x4 connecté à l'ESP32 S3. Il initialise le clavier avec les affectations de broches de rangée et de colonne, puis scrute en continu les événements de touche dans la boucle principale et affiche chaque caractère détecté sur le Serial Monitor.
Étapes Rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Connectez le clavier 3x4 à l'ESP32 S3 selon le schéma de câblage ci-dessus.
- Connectez votre ESP32 S3 à votre ordinateur en utilisant un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre ordinateur.
- Sélectionnez votre carte : choisissez la bonne carte ESP32 S3 dans le menu Tools > Board.
- Choisissez votre port : sélectionnez le bon port COM dans le menu Tools > Port.
- Cliquez sur l'icône Libraries sur la barre latérale gauche de l'Arduino IDE.
- Tapez DIYables_Keypad dans la boîte de recherche et cherchez la bibliothèque de clavier par DIYables.io.
- Cliquez sur le bouton Install pour installer la bibliothèque de clavier.
- Search for DIYables_Keypad created by DIYables.io and click the Install button.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le croquis sur l'ESP32 S3.
- Ouvrez le Serial Monitor dans l'Arduino IDE.
- Appuyez sur quelques touches du clavier et observez la sortie.
- Astuce : Si les touches ne sont pas détectées correctement, échangez les affectations de broches de rangée et de colonne dans le code — les câbles ruban de clavier peuvent être orientés différemment selon les fabricants.
Sortie du Serial Monitor
Après avoir téléversé le code et ouvert le Serial Monitor à 115200 bauds, appuyez sur les touches du clavier 3x4 une à la fois. Le Serial Monitor affichera chaque touche pressée comme un caractère sur sa propre ligne, similaire à la sortie ci-dessous.
Clavier et Mot de Passe
Une utilisation courante du clavier est la saisie et la vérification d'un mot de passe, ce qui est la base des projets de clavier PIN et de serrure de porte. La logique de vérification du mot de passe s'appuie sur deux touches spéciales pour contrôler le flux de saisie : la touche « * » efface la saisie en cours et recommence à zéro, tandis que la touche « # » finalise la saisie et déclenche une comparaison avec le mot de passe prédéfini stocké dans le croquis.
Le mot de passe est construit caractère par caractère à partir des autres touches. Quand une touche est pressée :
- Si la touche n'est pas « * » ou « # », ajoutez-la au mot de passe que l'utilisateur est en train de saisir.
- Si la touche est « # », comparez le mot de passe saisi au mot de passe prédéfini, puis effacez la saisie.
- Si la touche est « * », effacez le mot de passe saisi sans vérification.
Code Clavier - Mot de Passe
Le code suivant étend le lecteur de touches de base pour mettre en œuvre un système complet de vérification de mot de passe sur l'ESP32 S3. Il stocke un mot de passe prédéfini dans le croquis, accumule les pressions de touches dans une chaîne de saisie, et affiche si l'accès est accordé ou refusé quand l'utilisateur appuie sur « # » pour confirmer.
Étapes Rapides (Exemple de Mot de Passe)
- Téléversez le code de mot de passe sur votre ESP32 S3.
- Ouvrez le Serial Monitor.
- Appuyez sur les touches 123456 suivies de #.
- Appuyez sur les touches 7890 suivies de #.
- Vérifiez les résultats sur le Serial Monitor.
Applications et Idées de Projets
Une fois que vous pouvez lire les touches et vérifier les mots de passe avec l'ESP32 S3, vous pouvez adapter cette base en de nombreux projets pratiques de sécurité et de saisie.
- Système de serrure de porte : Utilisez le vérificateur de mot de passe pour contrôler un relais ou une serrure à solénoïde — déverrouillez quand le bon PIN est saisi.
- Combinaison de coffre-fort : Exigez une séquence en plusieurs étapes de touches pour ouvrir une enceinte ou déclencher un événement.
- Clavier PIN de système d'alarme : Laissez les utilisateurs armer et désarmer une alarme en saisissant un code sur le clavier.
- Journal d'accès : Enregistrez chaque pression de touche avec un horodatage sur une carte SD pour auditer qui a accédé à une zone sécurisée.
- Calculatrice : Associez les touches 0–9 et les touches « * » et « # » à des opérations arithmétiques pour construire une calculatrice numérique simple.
- Navigation de menu numérique : Utilisez les rangées et les colonnes comme contrôles de direction et de sélection pour un système de menu LCD.
- Système PIN multi-utilisateurs : Stockez plusieurs mots de passe valides dans un tableau et accordez l'accès si l'un d'eux correspond.
Tutoriel Vidéo
Regardez la vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Maintenant que vous pouvez lire les touches et vérifier les mots de passe avec le clavier 3x4 sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension.
- Débutant : Changez le mot de passe prédéfini dans le croquis par un code à six chiffres et vérifiez qu'il fonctionne correctement.
- Débutant : Affichez chaque pression de touche sur un écran LCD I2C au lieu du Serial Monitor.
- Intermédiaire : Ajoutez un buzzer qui bipe une fois pour chaque pression de touche et joue une tonalité plus longue quand le mot de passe est accepté ou rejeté.
- Intermédiaire : Implémentez un verrouillage qui désactive la saisie pendant 30 secondes après trois tentatives consécutives de mot de passe incorrectes.
- Avancé : Stockez le mot de passe dans l'EEPROM ou la flash NVS afin qu'il survive aux cycles d'alimentation, et ajoutez une séquence de touches pour changer le mot de passe pendant l'exécution.
- Avancé : Construisez un système complet de serrure de porte en combinant le clavier avec un relais, une serrure à solénoïde, et un écran OLED qui affiche des messages d'accès accordé ou refusé.