ESP8266 - RFID - Moteur Servo
Ce tutoriel vous apprend à utiliser un ESP8266 et un module RFID NFC RC522 pour contrôler un moteur servo. Le processus fonctionne comme suit :
- Lorsqu'une étiquette autorisée est tapée, l'ESP8266 fera tourner le moteur servo à 90°
- Si la même étiquette est tapée à nouveau, le moteur servo sera ramené à 0°
- Ce cycle se répétera indéfiniment
Cela peut être utilisé pour sécuriser un placard, un tiroir, une porte, ou contrôler l'ouverture et la fermeture du 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 n'êtes pas familier avec le module RFID/NFC RC522 et le moteur servo (y compris le brochage, le fonctionnement et la programmation), consultez les tutoriels suivants :
- ESP8266 - RFID/NFC RC522 tutorial
- ESP8266 - Servo Motor tutorial
Comment ça fonctionne
- Certains UID des étiquettes RFID/NFC sont déjà programmés dans le code de l'ESP8266.
- Lorsqu'un utilisateur appose une étiquette RFID/NFC sur le lecteur RFID/NFC, le lecteur lit l'UID de l'étiquette.
- L'ESP8266 reçoit ensuite l'UID du lecteur.
- Il compare l'UID lu avec les UID prédéfinis qui étaient configurés dans le code.
- Si l'UID correspond à l'un des UID prédéfinis, l'ESP8266 commandera le servo-moteur à 90°.
- Lorsque l'étiquette est à nouveau apposée, l'ESP8266 commandera le retour du servo-moteur à 0°.
- Ce processus se répétera indéfiniment.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Par souci de simplicité, le schéma de câblage ci-dessus est utilisé pour des tests ou des fins d'apprentissage, et pour un moteur servo de petit couple. En réalité, nous recommandons fortement l'utilisation d'une alimentation externe pour le moteur servo. Le schéma de câblage ci-dessous illustre comment connecter le moteur servo à une source d'alimentation externe.
This image is created using Fritzing. Click to enlarge image
※ NOTE THAT:
La disposition des broches peut varier selon le fabricant. Utilisez TOUJOURS les étiquettes imprimées sur le module. L'image ci-dessus montre le schéma des broches des modules du producteur DIYables.
Tableau de câblage du module RFID/NFC RC522
RFID/NFC RC522 | ESP8266 |
---|---|
SS | → GPIO 5 (SPI CS/SS) |
SCK | → GPIO 8 (SPI CLK) |
MOSI | → GPIO 7 (SPI MOSI) |
MISO | → GPIO 6 (SPI MISO) |
IRQ(not connected) | |
GND | → GND |
RST | → TO_BE_UPDATED |
VCC | → 3.3V |
Code ESP8266 - Balise RFID/NFC unique
Étapes rapides
Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation d'un ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur via un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Sélectionnez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "MFRC522" et trouvez la bibliothèque par GithubCommunity.
- Appuyez sur le bouton Install pour installer la bibliothèque MFRC522.
Afin de découvrir l'UID d'une étiquette RFID/NFC, la première étape est de télécharger le code sur ESP8266 en utilisant l'IDE Arduino puis de cliquer sur le bouton Upload. Ensuite, ouvrez le moniteur série et tapez l'étiquette sur le module RFID-RC522. L'UID sera affiché sur le moniteur série.
Une fois que vous avez votre identifiant unique :
- Remplacez l'UID à la ligne 20 du code par le vôtre. Par exemple, changez byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; en byte authorizedUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Téléversez le code sur votre carte ESP8266
- Apposez une étiquette RFID/NFC sur le module RFID-RC522
- Le moteur servo doit tourner à 90°
- Vérifiez la sortie sur le moniteur série
- Tapez une fois de plus sur l'étiquette RFID/NFC du module RFID-RC522.
- Le moteur servo va tourner à 0°, et vous pouvez observer cela sur le moniteur série.
- Appuyez sur une étiquette RFID/NFC contre le module RFID-RC522.
- Vérifiez le moniteur série pour voir la sortie.
Code ESP8266 - Plusieurs étiquettes RFID/NFC
Nous pouvons activer plusieurs étiquettes RFID/NFC pour contrôler un moteur servo. À titre d'exemple, le code ci-dessous utilise deux étiquettes.
Répétez les mêmes étapes que précédemment, puis appuyez sur chaque étiquette vers le module RFID-RC522. Le résultat sur le moniteur série devrait apparaître ainsi :
Vous pouvez étendre le code écrit ci-dessus pour inclure trois, quatre ou plusieurs balises.