ESP32 - Verrouillage de porte à clavier
Ce tutoriel vous guidera sur la façon de créer un système de verrouillage de porte avec un mot de passe utilisant un clavier et un verrou à solénoïde. Le système déverrouillera la porte lorsque le bon mot de passe est saisi et gardera la porte déverrouillée pendant 20 secondes avant de la verrouiller automatiquement. Le code ESP32 est également capable de prendre en charge plusieurs mots de passe.
※ NOTE THAT:
En plus de ce tutoriel, nous proposons également d'autres tutoriels sur les systèmes de verrouillage de porte disponibles :
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
#À propos du clavier numérique et du verrou à solénoïde
Nous disposons de tutoriels distincts qui se concentrent spécifiquement sur les claviers numériques et les serrures à solénoïde. Chaque tutoriel fournit des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, les connexions de câblage à l'ESP32, le code ESP32, et plus encore. Pour plus d'informations sur ces tutoriels, veuillez consulter les liens suivants :
Diagramme de câblage
- ESP32 - Serrure de porte avec clavier, serrure à solénoïde
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
Code ESP32 - Système de verrouillage de porte avec mot de passe utilisant un clavier, serrure à solénoïde
Étapes rapides
- Connectez l'ESP32 à votre PC à l'aide d'un câble USB.
- Ouvrez l'IDE Arduino, sélectionnez la carte adaptée et le port correspondant.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'IDE Arduino.
- Recherchez la bibliothèque “keypad”, puis trouvez la bibliothèque keypad créée par Mark Stanley et Alexander Brevig.
- Cliquez sur le bouton Install pour installer la bibliothèque keypad.
- Copiez le code fourni et collez-le dans l'IDE Arduino.
- Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans l'IDE Arduino.
- Ouvrez le moniteur série dans l'IDE Arduino.
- Appuyez sur les touches 12345 puis sur #
- Appuyez sur les touches 1234567 puis sur #
- Observez l'état de la languette de la serrure pendant 20 secondes.
- Observez la sortie sur le moniteur série.
Explication du code
Dans ce système, les mots de passe valides sont préprogrammés dans le code ESP32. Une chaîne de saisie est utilisée pour stocker le mot de passe saisi par les utilisateurs. Le clavier possède deux touches spéciales, * et #, qui sont utilisées pour effacer et terminer le mot de passe saisi. Le système fonctionne comme suit :
- Lorsqu'une touche autre que les touches spéciales est pressée, elle est ajoutée à la chaîne de saisie.
- Lorsque la touche * est pressée, la chaîne de saisie est effacée et le processus de saisie du mot de passe peut être recommencé.
- Lorsque la touche # est pressée :
- La chaîne de saisie est comparée aux mots de passe pré-définis. Si elle correspond à l'un des mots de passe pré-définis, le relais est activé pour déverrouiller la porte.
- Que le mot de passe soit correct ou non, la chaîne de saisie est effacée pour la prochaine saisie.
- Dans le code ci-dessus, pour simplifier, nous avons utilisé la fonction delay. Il est préférable d'utiliser millis() au lieu de delay(). Voir Comment utiliser millis() au lieu de delay()
- Vous pouvez ajouter un buzzer piézoélectrique pour émettre un bip chaque fois que le clavier est pressé.
- Dans les codes ci-dessus, la porte se verrouille à nouveau après 20 secondes. Vous pouvez le remplacer par un capteur de porte. La porte se verrouille lorsque le capteur de porte détecte que la porte est fermée par l'utilisateur.
※ NOTE THAT: