ESP32 S3 - Clavier - Serrure électromagnétique
Apprendre à combiner un clavier, un relais et une serrure électromagnétique avec l'ESP32 S3 est un excellent moyen de construire des systèmes de contrôle d'accès concrets. Ce tutoriel vous montre comment lire un mot de passe sur un clavier 3x4 et l'utiliser pour contrôler une serrure électromagnétique via un relais — incluant une variante à déverrouillage minuté qui libère la porte pendant une durée fixe sans bloquer l'exécution du code.
Ce que vous allez construire :
- Un circuit reliant un clavier 3x4 et une serrure électromagnétique (via un relais) à l'ESP32 S3
- Un code qui vérifie le mot de passe saisi et déverrouille la porte s'il correspond à un des codes prédéfinis
- Une version étendue qui maintient la porte déverrouillée pendant 5 secondes puis la reverrouille automatiquement
- Une sortie du Moniteur Série indiquant si chaque tentative de mot de passe a réussi ou échoué

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 et de la serrure électromagnétique
Un clavier matriciel 3x4 permet aux utilisateurs de saisir des codes numériques à l'aide d'une disposition compacte de 12 touches, tandis qu'une serrure électromagnétique (maglock) utilise une force magnétique pour maintenir une porte fermée tant que l'alimentation est appliquée. Combinés à un relais qui commute l'alimentation 12V de la serrure, ces composants forment un système d'accès complet contrôlé par mot de passe, entièrement géré par l'ESP32 S3 en logiciel.
Spécifications clés
Vous ne connaissez pas le clavier ou la serrure électromagnétique, ni comment les câbler et les programmer individuellement ? Consultez les tutoriels dédiés ci-dessous avant de continuer :
- Tutoriel ESP32 S3 - Clavier 3x4
- Tutoriel ESP32 S3 - Serrure électromagnétique
Schéma de câblage
Connectez les broches de lignes et de colonnes du clavier 3x4 aux broches GPIO disponibles de l'ESP32 S3, puis câblez la broche de signal du relais à un GPIO séparé. La serrure électromagnétique se connecte aux contacts normalement ouverts du relais et est alimentée par l'adaptateur 12V, gardant le circuit haute tension de la serrure isolé de la logique de l'ESP32 S3.
Notes de sécurité
La serrure électromagnétique fonctionne en 12V et consomme un courant significatif lorsqu'elle est alimentée — utilisez toujours le relais pour commuter l'alimentation de la serrure et ne connectez jamais les fils de la serrure directement à une broche GPIO de l'ESP32 S3. Assurez-vous que l'adaptateur 12V est dimensionné pour au moins le courant indiqué sur votre serrure électromagnétique, et vérifiez que tout le câblage haute tension est entièrement isolé avant de mettre le système sous tension.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Component Pin | ESP32 S3 Pin | Notes |
|---|---|---|
| Ligne 1 du clavier | GPIO17 | Première ligne du clavier 3x4 |
| Ligne 2 du clavier | GPIO16 | Deuxième ligne |
| Ligne 3 du clavier | GPIO15 | Troisième ligne |
| Ligne 4 du clavier | GPIO7 | Quatrième ligne |
| Colonne 1 du clavier | GPIO6 | Première colonne |
| Colonne 2 du clavier | GPIO5 | Deuxième colonne |
| Colonne 3 du clavier | GPIO4 | Troisième colonne |
| Signal du relais (IN) | GPIO18 | Contrôle l'activation/désactivation du relais |
| VCC du relais | 5V | Alimente le module relais |
| GND du relais | GND | Masse commune |
| COM du relais | 12V Power + | Depuis l'adaptateur d'alimentation |
| NO du relais | Fil 1 de la serrure EM | Connexion normalement ouverte |
| Fil 2 de la serrure EM | 12V Power - | Complète le circuit |
Pour un projet durable, les borniers à vis tiennent mieux les fils que les fils de connexion. Branchez simplement la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3. Voici le même circuit câblé avec la carte à bornier à vis :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Une autre solution est une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a une broche de signal avec une broche 3,3V et une broche GND à côté, comme ci-dessous :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code ESP32 S3 - Activer la serrure électromagnétique si le mot de passe est correct
Le code suivant déverrouille la serrure électromagnétique lorsque l'utilisateur saisit un mot de passe correct sur le clavier et appuie sur la touche #. Il prédéfinit une liste de mots de passe valides, accumule les touches pressées dans une chaîne de saisie, efface cette chaîne lorsque * est pressée, et compare la saisie complète à chaque mot de passe stocké lorsque # est pressée — activant le relais si une correspondance est trouvée et affichant le résultat dans le Moniteur Série.
Étapes rapides
- Nouveau avec l'ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez le clavier, le relais et la serrure électromagnétique à l'ESP32 S3 selon le schéma de câblage ci-dessus.
- Connectez l'ESP32 S3 à votre ordinateur à l'aide d'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 dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "keypad", puis trouvez la bibliothèque keypad par DIYables.
- Cliquez sur le bouton Install pour installer la bibliothèque keypad.
- 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 de l'Arduino IDE pour téléverser le code sur l'ESP32 S3.
- Appuyez sur les touches 8123 puis sur #.
- Appuyez sur les touches 1234 puis sur #.
- Consultez le Moniteur Série et observez l'état de la serrure électromagnétique.
- Astuce pro : Appuyez sur * à tout moment pour effacer la saisie en cours et recommencer — utile si vous faites une erreur de frappe en cours de mot de passe.
Sortie du Moniteur Série
Ouvrez le Moniteur Série à 115200 bauds après le téléversement et saisissez des mots de passe sur le clavier. Vous verrez des messages d'état similaires à la sortie suivante :
Explication du code
Les mots de passe autorisés sont prédéfinis dans le code de l'ESP32 S3. Une chaîne de caractères est utilisée pour stocker le mot de passe saisi par l'utilisateur, appelée chaîne de saisie. Deux touches du clavier (* et #) servent à des fins spéciales — effacer la saisie et finaliser l'entrée. Lorsqu'une touche est pressée :
- Si la touche pressée n'est pas une des deux touches spéciales, elle est ajoutée à la chaîne de saisie.
- Si la touche pressée est *, la chaîne de saisie est effacée afin que l'utilisateur puisse commencer ou recommencer la saisie.
- Si la touche pressée est # :
- La chaîne de saisie est comparée à tous les mots de passe prédéfinis. Si elle correspond à l'un d'entre eux, la serrure électromagnétique est activée.
- Que le mot de passe soit correct ou non, la chaîne de saisie est effacée pour la prochaine tentative.
Code ESP32 S3 - Activer la serrure électromagnétique pendant une durée si le mot de passe est correct
Le code suivant étend l'exemple de base en déverrouillant la serrure électromagnétique pendant 5 secondes lorsque le bon mot de passe est saisi, puis en la reverrouillant automatiquement. Il utilise la bibliothèque ezOutput pour gérer la sortie minutée de manière non bloquante, afin que le clavier continue de répondre pendant la période de déverrouillage.
Veuillez noter que le code ci-dessus utilise la bibliothèque ezOutput, qui facilite la gestion de sorties minutées sans bloquer l'exécution du code. Vous pouvez consulter le Guide d'installation de la bibliothèque ezOutput pour les instructions d'installation.
Applications concrètes
Combiner un clavier, un relais et une serrure électromagnétique avec l'ESP32 S3 ouvre la porte à une grande variété d'applications de sécurité et d'automatisation, des simples prototypes aux systèmes de contrôle d'accès de niveau production.
- Serrure de porte résidentielle : Remplacez une serrure à clé traditionnelle par un système d'entrée par code PIN sur une porte avant ou arrière.
- Contrôle d'accès de bureau : Restreignez l'accès à certaines pièces ou zones à l'aide de codes PIN attribués aux employés, avec journalisation optionnelle des événements.
- Sécurité de laboratoire ou d'atelier : Empêchez l'accès non autorisé à des équipements ou matériels sensibles à l'aide d'un maglock sécurisé par code.
- Armoire de stockage : Sécurisez électroniquement un classeur ou un casier à outils à l'aide d'un relais et d'une serrure plus petits.
- Accès multi-utilisateurs : Stockez plusieurs mots de passe valides dans le sketch afin que différents utilisateurs disposent chacun de leur propre code PIN unique.
- Sécurité améliorée par l'IoT : Étendez le système avec le Wi-Fi de l'ESP32 S3 pour permettre un déverrouillage à distance ou l'envoi d'alertes lorsqu'un mot de passe incorrect est saisi de manière répétée.
Vidéo tutoriel
Regardez ci-dessous la vidéo pas à pas de ce projet ESP32 S3.
Défiez-vous
Maintenant que vous avez une serrure électromagnétique contrôlée par clavier fonctionnelle sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour développer des compétences plus poussées en contrôle d'accès.
- Débutant : Changez un des mots de passe prédéfinis dans le code et confirmez que le nouveau code fonctionne et que l'ancien ne fonctionne plus.
- Débutant : Ajoutez un indicateur LED qui s'allume en vert pour un mot de passe correct et en rouge pour un mot de passe incorrect.
- Intermédiaire : Ajoutez un buzzer piézoélectrique qui joue une courte mélodie de succès lors d'une saisie correcte et une tonalité différente en cas d'échec.
- Intermédiaire : Implémentez un verrouillage qui désactive la saisie au clavier pendant 60 secondes après trois tentatives incorrectes consécutives.
- Avancé : Stockez la liste des mots de passe dans la flash NVS afin qu'elle persiste entre les cycles d'alimentation, et ajoutez un code administrateur permettant à l'utilisateur de mettre à jour les mots de passe à l'exécution.
- Avancé : Intégrez un lecteur RFID afin que la porte puisse être déverrouillée soit avec un code PIN au clavier, soit avec une carte RFID.