ESP32 S3 - Serrure de porte à clavier
Ce tutoriel vous montre comment construire un système de serrure de porte contrôlé par mot de passe à l'aide d'un clavier et d'une serrure à solénoïde avec l'ESP32 S3. Quand l'utilisateur saisit le bon mot de passe sur le clavier, l'ESP32 S3 active la serrure à solénoïde pour déverrouiller la porte, la garde ouverte pendant 20 secondes, puis la reverrouille automatiquement.
Le code de l'ESP32 S3 prend en charge plusieurs mots de passe, ce qui vous permet d'enregistrer plus d'un code d'accès valide pour différents utilisateurs ou scénarios.
Ce que vous allez construire :
- Un circuit connectant un clavier 3x4, un relais, et une serrure à solénoïde à l'ESP32 S3
- Un croquis qui lit un mot de passe depuis le clavier et déverrouille la porte quand le bon mot de passe est saisi
- Un mécanisme de reverrouillage automatique qui sécurise à nouveau la porte après 20 secondes
- Une base pour des projets de contrôle d'accès et de serrure intelligente utilisant l'ESP32 S3
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 à solénoïde
Un clavier donne aux utilisateurs une manière familière et sûre de saisir des mots de passe numériques ou alphanumériques directement dans un système embarqué sans aucun appareil externe. Une serrure à solénoïde convertit un signal électrique provenant de l'ESP32 S3 (via un relais) en un mouvement mécanique de pêne, ce qui en fait l'actionneur idéal pour le contrôle d'accès physique. Ensemble, ils forment une serrure de porte autonome et économique qui ne nécessite aucun smartphone ni connexion réseau.
Spécifications clés
Nous avons des tutoriels dédiés couvrant chaque composant en détail. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage matériel, le principe de fonctionnement, la connexion de câblage à l'ESP32 S3, et le code Arduino. En savoir plus via les liens suivants :
Schéma de câblage
Connectez le clavier, le relais, et la serrure à solénoïde à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez soigneusement toutes les connexions avant de mettre sous tension, en particulier sur le côté haute tension du relais qui pilote la serrure à solénoïde.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Pour un projet durable, les borniers à vis tiennent mieux les fils que les fils de connexion. Vous pouvez placer la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3 et brancher les fils sur ses borniers à vis. 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.
Voici le même circuit avec une carte d'extension GPIO pour ESP32 S3, qui relie chaque GPIO à des connecteurs à broches :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de sécurité
La serrure à solénoïde fonctionne en 12 V CC et doit être alimentée via le relais, pas directement depuis les broches GPIO de l'ESP32 S3. Gardez le câblage 12 V physiquement séparé du câblage basse tension du clavier, et assurez-vous que toutes les bornes à vis du relais sont serrées avant de mettre le circuit sous tension.
| Composant | Broche | Broche ESP32 S3 |
|---|---|---|
| Keypad | Row 1 | GPIO17 |
| Keypad | Row 2 | GPIO16 |
| Keypad | Row 3 | GPIO15 |
| Keypad | Row 4 | GPIO7 |
| Keypad | Col 1 | GPIO6 |
| Keypad | Col 2 | GPIO5 |
| Keypad | Col 3 | GPIO4 |
| Relay | DC- | GND |
| Relay | DC+ | 5V |
| Relay | IN | GPIO18 |
| Solenoid Lock | + | Relay NO |
| Solenoid Lock | - | 12V GND |
Code ESP32 S3 - Système de serrure de porte avec mot de passe à l'aide d'un clavier et d'une serrure à solénoïde
Le code suivant lit les touches pressées sur le clavier de l'ESP32 S3, les accumule dans une chaîne de saisie, et active la serrure à solénoïde via le relais quand le mot de passe saisi correspond à l'un des mots de passe prédéfinis. Une fois déverrouillée, la porte reste ouverte pendant 20 secondes puis l'ESP32 S3 ferme automatiquement le relais pour la reverrouiller.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez les composants en suivant le schéma de câblage montré ci-dessus.
- Connectez la carte ESP32 S3 à votre PC à l'aide d'un câble USB Type-C.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
- Cliquez sur l'icône Libraries dans la barre gauche d'Arduino IDE.
- Recherchez "keypad", puis trouvez la bibliothèque Keypad par Mark Stanley et Alexander Brevig.
- Cliquez sur 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 Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le code vers l'ESP32 S3.

- Ouvrez le Serial Monitor dans Arduino IDE.
- Appuyez sur les touches 12345 puis appuyez sur # sur le clavier.
- Appuyez sur les touches 1234567 puis appuyez sur # sur le clavier.
- Observez l'état du pêne de la serrure à solénoïde pendant 20 secondes.
- Astuce pro : Utilisez la touche * à tout moment pour effacer votre saisie actuelle et recommencer à saisir le mot de passe depuis le début.
Sortie du moniteur série
La sortie du Serial Monitor suivante montre l'ESP32 S3 répondant aux saisies de mot de passe en temps réel. Les tentatives correctes et incorrectes sont enregistrées afin que vous puissiez vérifier d'un coup d'œil le comportement du contrôle d'accès.
Explication du code
Les mots de passe autorisés sont prédéfinis dans le code de l'ESP32 S3. Une variable de type chaîne appelée la chaîne de saisie accumule chaque touche que l'utilisateur appuie. Deux touches spéciales sur le clavier contrôlent le déroulement : * efface la chaîne de saisie afin que vous puissiez recommencer la saisie, et # la termine et déclenche une comparaison. Quand # est appuyé, la chaîne de saisie est comparée à chaque mot de passe prédéfini — si elle correspond à l'un d'eux, le relais est activé pour déverrouiller la porte pendant 20 secondes puis la porte est automatiquement reverrouillée ; quel que soit le résultat, la chaîne de saisie est effacée, prête pour la tentative suivante.
※ Note:
- Dans le code ci-dessus, pour garder les choses simples, nous avons utilisé la fonction delay(). Pour une approche non bloquante, envisagez d'utiliser millis() à la place. Consultez How to use millis() instead of delay().
- Vous pouvez ajouter un ESP32 S3 - Buzzer piézoélectrique pour émettre un bip chaque fois qu'une touche est pressée sur le clavier.
- Dans le code ci-dessus, la porte se reverrouille après 20 secondes. Vous pouvez remplacer cela par un ESP32 S3 - Capteur de Porte afin que la porte se verrouille dès que le capteur détecte qu'elle est fermée.
Applications et idées de projets
Une fois que vous maîtrisez le verrouillage de porte contrôlé par mot de passe avec l'ESP32 S3, vous pouvez étendre ce modèle à une large gamme de projets de contrôle d'accès et de sécurité.
- Porte d'entrée de maison : Remplacez une serrure à clé traditionnelle par un pêne à solénoïde contrôlé par clavier et définissez un code PIN familial pour l'entrée quotidienne.
- Serrure d'armoire de bureau : Sécurisez un classeur ou une baie de serveurs avec un code PIN numérique que seul le personnel autorisé connaît.
- Coffre-fort : Ajoutez une serrure à solénoïde à un coffre-fort et exigez le bon code PIN avant que le couvercle puisse être libéré.
- Système de vestiaire : Attribuez des codes PIN individuels à chaque casier et utilisez un ESP32 S3 par unité pour un fonctionnement autonome.
- Accès à un espace de travail partagé : Mettez à jour le mot de passe en réécrivant le firmware afin que seuls les membres actuels puissent entrer.
- Laboratoire de sécurité prototype : Construisez un banc de test qui enregistre chaque tentative d'accès sur une console série ou une carte SD à des fins d'audit.
Tutoriel vidéo
Regardez la démonstration vidéo étape par étape de ce projet ESP32 S3 ci-dessous.
Défiez-vous
Maintenant que vous pouvez construire une serrure de porte à clavier avec l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension et construire des projets plus performants.
- Débutant : Changez le mot de passe prédéfini dans le code en un code PIN à six chiffres et vérifiez que les saisies plus courtes sont toujours rejetées.
- 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, donnant un retour visuel instantané.
- Intermédiaire : Implémentez un mécanisme de verrouillage qui désactive le clavier pendant 60 secondes après trois tentatives de mot de passe incorrectes consécutives.
- Intermédiaire : Stockez les mots de passe autorisés dans l'EEPROM ou la flash afin qu'ils persistent à travers les cycles d'alimentation et puissent être mis à jour sans réécrire le firmware.
- Avancé : Remplacez la fenêtre de déverrouillage fixe de 20 secondes par un capteur de porte afin que la porte se reverrouille dès qu'elle est physiquement fermée.
- Avancé : Ajoutez une interface web via WiFi afin qu'un administrateur puisse changer les mots de passe et consulter le journal d'accès complet depuis un navigateur.