Système de verrouillage de porte Arduino - RFID/NFC
Dans ce tutoriel, nous allons apprendre à fabriquer un système de verrouillage de porte Arduino RFID/NFC en utilisant Arduino, le kit RFID/NFC RC522 et un verrou électromagnétique ou un verrou à solénoïde.
※ NOTE THAT:
Nous avons également d'autres tutoriels Arduino - Système de verrouillage de porte utilisant un clavier.
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 de la serrure électromagnétique
Si vous ne connaissez pas le module RFID/NFC RC522, le verrou électromagnétique et le verrou à solénoïde (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
#Composants du système
Le système de verrouillage de porte comprend deux parties principales :
- Serrure de porte : Arduino + lecteur RFID/NFC + verrou électromagnétique
- Clé de porte : Étiquettes RFID/NFC
Il existe certains types de lecteurs RFID/NFC qui peuvent fonctionner avec Arduino. Ce tutoriel utilise le RFID-RC522 comme lecteur RFID/NFC car il est bon marché.
Comment fonctionne une serrure de porte RFID/NFC
- Certains tags possédant des UID définis dans le code Arduino fonctionnent comme des clés autorisées.
- L'utilisateur tape un tag RFID/NFC sur le lecteur RFID/NFC.
- Le lecteur lit l'UID du tag.
- Arduino reçoit l'UID du lecteur.
- Arduino compare l'UID lu avec les UID prédéfinis.
- Si l'UID correspond à l'un des UID prédéfinis, Arduino désactive le verrou électromagnétique pour déverrouiller la porte.
Diagramme de câblage
- Serrure de porte RFID RC522 avec serrure à solénoïde
This image is created using Fritzing. Click to enlarge image
- Serrure de porte RFID RC522 avec serrure électromagnétique
This image is created using Fritzing. Click to enlarge image
Pour simplifier, les broches du module RC522 sont directement connectées aux broches de l'Arduino. Cependant, cela peut entraîner un dysfonctionnement de l'Arduino dans certains cas, puisque les broches de sortie de l'Arduino délivrent 5V, tandis que les broches du module RC522 fonctionnent normalement à 3.3V. Il est donc recommandé de réguler la tension entre les broches de l'Arduino et celles du module RC522. Pour des instructions plus détaillées, veuillez consulter le tutoriel Arduino - RFID RC522. Le schéma ci-dessous illustre comment réguler de 5V à 3.3V à l'aide de résistances :
This image is created using Fritzing. Click to enlarge image
※ 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 Arduino - Touche Unique
Étapes rapides
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 l'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur Arduino
- 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 18 du code ci-dessus. Par exemple, changez byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; en byte keytagUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Téléversez à nouveau le code sur Arduino
- Approchez une étiquette RFID/NFC du module RFID-RC522
- Consultez la sortie sur le moniteur série
- Vérifiez le verrou électromagnétique, il doit être déverrouillé
- Posez un autre tag RFID/NFC sur le module RFID-RC522
- Consultez la sortie sur le moniteur série
※ NOTE THAT:
- Pour faciliter le test, le temps de déverrouillage est réglé sur 2 secondes, il devrait être augmenté lors de l'utilisation pratique/de la démonstration.
- Il est nécessaire d'installer la bibliothèque MFRC522. Voir Arduino - Tutoriel RFID/NFC RC522
Code Arduino - Plusieurs Touches
Imaginons qu'une pièce permet uniquement au directeur et à la secrétaire de déverrouiller la porte.
Dans ce cas, nous devons utiliser deux étiquettes RFID/NFC : une pour le gérant et l'autre pour le secrétaire. Nous devons spécifier les UID des deux étiquettes dans le code.
Effectuez les mêmes étapes que ci-dessus, puis appuyez un par un sur les tags du module RFID-RC522. Le résultat sur le moniteur série apparaît comme ci-dessous :
Vous pouvez étendre le code ci-dessus pour trois, quatre tags ou plus.
※ NOTE THAT:
Dans le code ci-dessus, les clés sont codées en dur. En pratique, il devrait être possible d'ajouter/supprimer des clés dynamiquement via un mode spécial. Dans ce cas, les clés doivent être sauvegardées dans la mémoire EEPROM. Le nombre de clés qui peuvent être sauvegardées dépend de la taille de l'EEPROM. Le code deviendra compliqué. Si vous souhaitez construire un tel système, nous proposons un service de codage. N'hésitez pas à nous contacter.