ESP32 - RFID - Moteur Servo
Dans ce tutoriel, nous allons apprendre à utiliser une étiquette RFID/NFC pour contrôler un moteur servo à l'aide d'un ESP32. Voici comment cela fonctionne :
- Si un tag autorisé est touché, l'ESP32 fait tourner le moteur servo à 90°.
- Si un tag autorisé est touché à nouveau, l'ESP32 fait tourner le moteur servo à 0°.
- Le processus ci-dessus est répété à l'infini.
Cela peut être utilisé pour verrouiller/déverrouiller un placard, un tiroir, une porte, ou pour ouvrir/fermer le distributeur de nourriture pour animaux...
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 module RFID/NFC RC522 et du moteur servo
Si vous ne connaissez pas le module RFID/NFC RC522 et le moteur servo (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
- ESP32 - RFID/NFC RC522 tutorial
- ESP32 - Servo Motor tutorial
Comment ça marche
- Les UID de certains tags RFID/NFC sont prédéfinis dans le code ESP32.
- L'utilisateur tape un tag RFID/NFC sur le lecteur RFID/NFC.
- Le lecteur lit l'UID du tag.
- L'ESP32 récupère l'UID du lecteur.
- L'ESP32 compare l'UID lu avec les UID prédéfinis.
- Si l'UID correspond à l'un des UID prédéfinis, l'ESP32 contrôle le servo moteur à 90°.
- Si le tag est tapé à nouveau, l'ESP32 ramène le servo moteur à 0°.
- Ce processus est répété à l'infini.
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.
※ NOTE THAT:
L'ordre des broches peut varier selon les fabricants. Utilisez TOUJOURS les étiquettes imprimées sur le module. L'image ci-dessus montre le schéma de brochage des modules du fabricant DIYables.
Code ESP32 - Tag RFID/NFC unique
Étapes rapides
- Si c'est la première fois que vous utilisez ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Réalisez 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.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "MFRC522", puis trouvez la bibliothèque par GithubCommunity.
- Cliquez sur le bouton Install pour installer la bibliothèque MFRC522.
- Tapez ServoESP32 dans la zone de recherche, puis recherchez la bibliothèque servo de Jaroslav Paral. Veuillez noter que les versions 1.1.1 et 1.1.0 sont affectées par des bugs. Veuillez choisir une version différente.
- Cliquez sur le bouton Install pour installer la bibliothèque du moteur servo pour ESP32.
Comme l'UID n'est généralement pas imprimé sur l'étiquette RFID/NFC, la première étape que nous devons faire est de découvrir l'UID de l'étiquette. Cela peut être fait en :
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code vers ESP32
- Ouvrez le moniteur série
- Tapez une étiquette RFID/NFC sur le module RFID-RC522
- Obtenez l'UID sur le moniteur série
Après avoir UID :
- Mettez à jour l'UID à la ligne 20 du code ci-dessus. Par exemple, changez byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; en byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Téléversez de nouveau le code sur l'ESP32
- Appliquez une étiquette RFID/NFC sur le module RFID-RC522
- Vous verrez le servo-moteur tourner à 90°
- Voyez la sortie sur le moniteur série
- Appuyez à nouveau sur le même tag RFID/NFC sur le module RFID-RC522
- Vous verrez le servo-moteur tourner à 0°
- Voir la sortie sur le moniteur série
- Appuyez sur un autre tag RFID/NFC sur le module RFID-RC522
- Voir le résultat sur le moniteur série