ESP32 - Clavier - Serrure électromagnétique
Dans ce tutoriel, nous allons apprendre à utiliser un clavier numérique, un verrou électromagnétique et un ESP32 ensemble. En détail, si un utilisateur saisit correctement le mot de passe sur le clavier, l'ESP32 active le verrou électromagnétique.
Le tutoriel fournit également le code qui active un verrou électromagnétique pendant une période de temps puis le désactive sans utiliser la fonction delay(). Le code ESP32 prend également en charge plusieurs mots de passe.
Préparation du matériel
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | USB Cable Type-C | |
1 | × | Keypad 3x4 | |
1 | × | Relay | |
1 | × | Jumper Wires | |
1 | × | Electromagnetic Lock | |
1 | × | 12V Power Adapter | |
1 | × | (Optional) DC Power Jack | |
1 | × | (Recommended) ESP32 Screw Terminal Adapter |
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 et de la serrure électromagnétique
Non familiarisé avec le clavier et le verrou électromagnétique, y compris leurs brochages, fonctionnalités et programmation ? Explorez des tutoriels complets sur ces sujets ci-dessous :
- ESP32 - Keypad tutorial
- ESP32 - Electromagnetic Lock tutorial
Diagramme de câblage
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 - activer le verrou électromagnétique si le mot de passe est correct
Les codes ci-dessous activent un verrou électromagnétique si le mot de passe est correct.
Étapes rapides
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Effectuez le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple, Module de développement ESP32) et le port COM.
- Connectez l'ESP32 au PC via un câble USB.
- Ouvrez Arduino IDE, sélectionnez la bonne carte et le port.
- Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
- Recherchez "keypad", puis trouvez la bibliothèque keypad de Mark Stanley, Alexander Brevig.
- Cliquez sur le bouton Install pour installer la bibliothèque keypad.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur ESP32
- Appuyez sur les touches 8123 puis appuyez sur #
- Appuyez sur les touches 1234 puis appuyez sur #
- Vérifiez le résultat sur le moniteur série et l'état du verrou électromagnétique
Explication du code
Les mots de passe autorisés sont prédéfinis dans le code ESP32.
Une chaîne est utilisée pour stocker le mot de passe saisi par les utilisateurs, appelée chaîne d'entrée. Sur le clavier, deux touches (* et #) sont utilisées à des fins spéciales : effacer le mot de passe et terminer le mot de passe. Lorsqu'une touche du clavier est pressée :
- Si la touche pressée n'est pas l'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. Vous pouvez l'utiliser pour commencer ou recommencer à saisir le mot de passe.
- Si la touche pressée est # :
- 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 verrou électromagnétique est activé.
- Que le mot de passe soit correct ou non, la chaîne de saisie est effacée pour la prochaine saisie.
Code ESP32 - activer un verrou électromagnétique pendant une période si le mot de passe est correct
Le code ci-dessous active la serrure électromagnétique pendant 5 secondes si le mot de passe est correct. Après 5 secondes, la serrure électromagnétique est désactivée.
Veuillez noter que le code ci-dessus utilise la bibliothèque ezOutput, qui facilite la gestion du temps de manière non bloquante. Vous pouvez consulter le Guide d'installation de la bibliothèque ezOutput