Arduino - RFID/NFC
Dans ce tutoriel, nous allons apprendre à utiliser les RFID/NFC avec Arduino. Le système RFID/NFC comprend deux composants : le lecteur et l'étiquette. Il existe deux lecteurs RFID/NFC populaires : RC522 et le lecteur RFID/NFC PN532. Ce tutoriel se concentre sur le lecteur RFID/NFC RC522. Le lecteur RFID/NFC PN532 sera présenté dans un tutoriel à venir.
Le lecteur RC522 RFID/NFC (également appelé module RFID-RC522) peut :
- Lire l'UID de l'étiquette RFID/NFC
- Changer l'UID de l'étiquette RFID/NFC (seulement si l'étiquette permet l'écriture de l'UID)
- Écrire des données sur l'étiquette RFID/NFC
- Lire des données depuis l'étiquette RFID/NFC
Dans les capacités ci-dessus, pour Arduino, la lecture de l'UID est la plus utilisée. Ce tutoriel se concentre sur la lecture de l'UID d'une étiquette RFID/NFC. Les autres seront présentés dans les prochains tutoriels.
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-RC522
Brochage du module RFID-RC522
Le RFID-RC522 possède 8 broches, certaines sont des broches communes, les autres sont partagées entre trois modes de communication : SPI, I2C, UART. À un moment donné, un seul mode de communication peut être utilisé. Les broches sont :
- - Broche GND : doit être connectée à GND (0V)
- - Broche VCC : doit être connectée à VCC (3,3V)
- - Broche RST : est une broche pour réinitialiser et mettre hors tension. Lorsque cette broche est à l'état bas, la mise hors tension complète est activée. À la montée du signal, le module est réinitialisé.
- - Broche IRQ : est une broche d'interruption qui peut alerter le microcontrôleur lorsqu'une étiquette RFID entre dans son voisinage.
- - Broche MISO/SCL/TX : agit comme MISO lorsque l'interface SPI est activée, agit comme SCL lorsque l'interface I2C est activée et agit comme TX lorsque l'interface UART est activée.
- - Broche MOSI : agit comme MOSI lorsque l'interface SPI est activée.
- - Broche SCK : agit comme SCK lorsque l'interface SPI est activée.
- - Broche SS/SDA/RX : agit comme SS lorsque l'interface SPI est activée, agit comme SDA lorsque l'interface I2C est activée et agit comme RX lorsque l'interface UART est activée.
※ 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 du module du fabricant DIYables.
- Ne connectez pas la broche VCC à la broche 5V. Cela détruira probablement votre module.
- La bibliothèque MFRC522 ne prend en charge que le mode SPI. Par conséquent, ce tutoriel utilise uniquement la communication SPI.
Comment fonctionnent les RFID/NFC
RFID/NFC comprend deux composants : lecteur et étiquette.
- Le lecteur comprend un module de fréquence radio et une antenne qui génère un champ électromagnétique haute fréquence.
- L'étiquette est généralement un dispositif passif, qui n'a pas besoin de source d'alimentation. L'étiquette contient une micro-puce qui stocke et traite les informations, et une antenne pour recevoir et transmettre un signal. L'étiquette sert à stocker les informations : UID (Identifiant Unique) et les données.
Pour lire les informations sur une étiquette, celle-ci doit être à proximité du lecteur (ne nécessite pas de ligne de visée directe). Les processus de lecture :
- Le lecteur génère un champ électromagnétique qui provoque le déplacement des électrons à travers l'antenne de l'étiquette, alimentant ainsi la puce.
- La puce à l'intérieur de l'étiquette répond ensuite en renvoyant les informations demandées au lecteur sous forme de signal radio.
- Le lecteur détecte le signal et transforme ce signal en données.
- Arduino lit les données provenant du lecteur.
Schéma de câblage entre le module RFID-RC522 et Arduino
Le module RFID-RC522 est conçu pour fonctionner à un niveau de 3,3 V, tandis que les broches de sortie d'un Arduino produisent un niveau de 5 V. Donc :
- Pour être sûr, il est nécessaire de réguler la tension de 5V des broches Arduino à 3.3V avant de se connecter au module RC522.
- Pour simplifier et dans un but de test, il est possible de connecter directement les broches Arduino au module RC522, mais cela pourrait entraîner un dysfonctionnement du Arduino dans certains cas.
Ce tutoriel fournit deux schémas de câblage différents pour les deux cas :
- Schéma de câblage entre RC522 et Arduino sans régulateur de tension
This image is created using Fritzing. Click to enlarge image
- Schéma de câblage entre le RC522 et l'Arduino avec régulateur de tension
This image is created using Fritzing. Click to enlarge image
Comme le montre le schéma de câblage ci-dessus, une paire de résistances de 1 kOhm et 2 kOhm est utilisée pour réguler de 5V à 3,3V. Il n'est pas nécessaire d'ajuster la tension entre la broche Arduino et la broche MISO du module RC522. Cependant, il est nécessaire de réguler la tension entre les broches Arduino et les broches SS, SCK, MOSI et RST du module RC522.
Tableau de câblage du module RFID/NFC RC522 et Arduino
RFID/NFC RC522 | Arduino |
---|---|
SS | → 10 |
SCK | → 13 |
MOSI | → 11 |
MISO | → 12 |
IRQ(not connected) | |
GND | → GND |
RST | → 5 |
VCC | → 3.3V |
Code Arduino RFID/NFC
Étapes rapides
- Naviguez vers l'icône Libraries dans la barre de gauche de l'IDE Arduino.
- Recherchez "MFRC522", puis trouvez la bibliothèque par GithubCommunity
- Cliquez sur le bouton Install pour installer la bibliothèque MFRC522.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur Arduino
- Ouvrez le moniteur série
- Tapotez plusieurs étiquettes RFID/NFC sur le module RFID-RC522
- Visualisez l'UID sur le moniteur série