ESP32 S3 - Clavier 4x4
Apprenez à connecter et à programmer un clavier 4x4 avec votre carte ESP32 S3. Ce tutoriel vous guide dans la lecture de chaque touche appuyée 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 appuyée dans 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 des serrures de porte, des 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 4x4
Le clavier 4x4 est un dispositif de saisie à membrane avec 16 boutons disposés en grille de quatre lignes et quatre colonnes. Chaque appui sur une touche est détecté en scannant successivement les connexions de lignes et de colonnes, permettant à l'ESP32 S3 d'identifier exactement quel bouton a été appuyé en utilisant seulement huit broches numériques.
Spécifications clés
Le clavier expose huit broches — quatre pour les lignes (R1 à R4) et quatre pour les colonnes (C1 à C4). Aucune broche d'alimentation n'est nécessaire ; le clavier repose entièrement sur les niveaux logiques GPIO du microcontrôleur connecté. La construction en membrane le rend fin et compact, et la disposition 4x4 offre les touches 0–9, A–D, *, et # pour des schémas de saisie 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 4x4 a 8 broches organisées en deux groupes :
- Broche R1 : Ligne 1 — rangée supérieure de touches (1, 2, 3, A)
- Broche R2 : Ligne 2 — deuxième rangée de touches (4, 5, 6, B)
- Broche R3 : Ligne 3 — troisième rangée de touches (7, 8, 9, C)
- Broche R4 : Ligne 4 — rangée inférieure de touches (*, 0, #, D)
- Broche C1 : Colonne 1 — colonne la plus à gauche (1, 4, 7, *)
- Broche C2 : Colonne 2 — deuxième colonne (2, 5, 8, 0)
- Broche C3 : Colonne 3 — troisième colonne (3, 6, 9, #)
- Broche C4 : Colonne 4 — colonne la plus à droite (A, B, C, D)

Schéma de câblage
Connectez le clavier 4x4 à l'ESP32 S3 en faisant correspondre les broches de lignes et de colonnes du clavier aux 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 4x4 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 avec cette seule connexion. Vérifiez toujours que chaque fil est bien enfoncé dans son emplacement de breadboard avant de téléverser le code — des connexions mal fixées sont la cause la plus courante de touches manquées ou de lignes et colonnes inversées.
| Broche du clavier | Broche ESP32 S3 |
|---|---|
| R1 | GPIO18 |
| R2 | GPIO17 |
| R3 | GPIO16 |
| R4 | GPIO15 |
| C1 | GPIO7 |
| C2 | GPIO6 |
| C3 | GPIO5 |
| C4 | GPIO4 |
Code ESP32 S3
Le code suivant utilise la bibliothèque DIYables_Keypad pour détecter les appuis individuels sur le clavier 4x4 connecté à l'ESP32 S3. Il initialise le clavier avec l'affectation des broches de lignes et de colonnes, puis interroge 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 l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Connectez le clavier 4x4 à l'ESP32 S3 selon le schéma de câblage ci-dessus.
- Connectez votre ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
- Ouvrez 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 dans la barre latérale gauche d'Arduino IDE.
- Saisissez DIYables_Keypad dans la zone de recherche et recherchez la bibliothèque de clavier de 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 Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le sketch sur l'ESP32 S3.
- Ouvrez le Serial Monitor dans 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 des broches de lignes et de colonnes dans le code — les câbles plats 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 4x4 une par une. Le Serial Monitor affichera chaque touche appuyée comme un caractère sur sa propre ligne, semblable à 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 constitue la base des projets de clavier PIN et de serrure de porte. La logique de vérification de mot de passe repose sur deux touches spéciales pour contrôler le flux de saisie : la touche "*" efface la saisie en cours et repart à 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 sketch.
Le mot de passe est construit caractère par caractère à partir des autres touches. Lorsqu'une touche est appuyée :
- Si la touche n'est ni "*" ni "#", ajoutez-la au mot de passe en cours de saisie par l'utilisateur.
- Si la touche est "#", comparez le mot de passe saisi avec le 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 implémenter 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 sketch, accumule les touches appuyées dans une chaîne de saisie, et affiche si l'accès est accordé ou refusé lorsque 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 1234BC suivies de #.
- Appuyez sur les touches 1234A 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 des mots de passe avec l'ESP32 S3, vous pouvez adapter cette base à 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 gâche électrique — déverrouillez quand le bon code PIN est saisi.
- Combinaison de coffre-fort : Exigez une séquence de touches en plusieurs étapes pour ouvrir un boîtier 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 appui 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 A–D à des opérations arithmétiques pour construire une simple calculatrice à quatre fonctions.
- Navigation de menu numérique : Utilisez les lignes et les colonnes comme contrôles directionnels et de sélection pour un système de menu LCD.
- Système PIN multi-utilisateur : Stockez plusieurs mots de passe valides dans un tableau et accordez l'accès si l'un d'eux correspond.
Tutoriel vidéo
Regardez ci-dessous le tutoriel vidéo étape par étape de ce projet ESP32 S3.
Relevez le défi
Maintenant que vous pouvez lire les touches et vérifier des mots de passe avec le clavier 4x4 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 sketch en un code à six chiffres et vérifiez qu'il fonctionne correctement.
- Débutant : Affichez chaque touche appuyée sur un écran LCD I2C au lieu du Serial Monitor.
- Intermédiaire : Ajoutez un buzzer qui émet un bip pour chaque touche appuyée et joue un son plus long quand le mot de passe est accepté ou refusé.
- Intermédiaire : Implémentez un verrouillage qui désactive la saisie pendant 30 secondes après trois tentatives consécutives de mot de passe incorrect.
- Avancé : Stockez le mot de passe dans l'EEPROM ou la mémoire flash NVS pour 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 gâche électrique, et un écran OLED qui affiche des messages d'accès accordé ou refusé.