Arduino Nano - RFID

Ce tutoriel vous explique comment utiliser RFID/NFC avec Arduino Nano. Le système RFID/NFC se compose de deux composants : un lecteur et une étiquette. Deux des lecteurs RFID/NFC les plus populaires sont le RC522 et le PN532. Ce tutoriel utilise le lecteur RFID/NFC RC522, qui est bon marché et facile à utiliser.

Le lecteur RFID/NFC RC522 peut :

Ce tutoriel se concentre sur :

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module RFID-RC522

Brochage du module RFID-RC522

Le RFID-RC522 comporte 8 broches, certaines sont des broches générales et les autres sont partagées entre trois modes de communication : SPI, I2C et UART. Il est seulement possible d'utiliser un de ces modes à la fois. Les broches sont :

  • Broche GND : Celle-ci doit être connectée à la terre (0V).
  • Broche VCC : Celle-ci doit être connectée à l'alimentation électrique (3.3V).
  • Broche RST : C'est une broche de réinitialisation et d'arrêt électrique. Lorsque cette broche est en position basse, elle active l'arrêt complet. Sur le front montant, le module est réinitialisé.
  • Broche IRQ : C'est une broche d'interruption qui peut alerter le microcontrôleur lorsqu'une étiquette RFID entre dans son voisinage.
  • Broche MISO/SCL/TX : Elle agit comme MISO lorsque l'interface SPI est activée, comme SCL lorsque l'interface I2C est activée, et comme TX lorsque l'interface UART est activée.
  • Broche MOSI : Elle agit comme MOSI lorsque l'interface SPI est activée.
  • Broche SCK : Elle agit comme SCK lorsque l'interface SPI est activée.
  • Broche SS/SDA/RX : Elle agit comme SS lorsque l'interface SPI est activée, comme SDA lorsque l'interface I2C est activée, et comme RX lorsque l'interface UART est activée.
Brochage RFID-RC522

※ NOTE THAT:

  • La disposition des broches peut varier selon le fabricant. Il est essentiel d'utiliser les étiquettes imprimées sur le module, comme illustré dans l'image ci-dessus du fabricant DIYables.
  • Ne connectez pas la broche VCC à la broche 5V, car cela pourrait endommager le module.
  • La bibliothèque MFRC522 ne prend en charge que le mode SPI, donc ce tutoriel se concentrera sur la communication SPI.

Comment fonctionnent les RFID/NFC

RFID/NFC est composé de deux parties : un lecteur et une étiquette.

  • Le lecteur est composé d'un module de fréquence radio et d'une antenne qui produit un champ électromagnétique de haute fréquence.
  • L'étiquette est généralement un dispositif passif, ce qui signifie qu'elle ne nécessite pas de source d'alimentation. Elle possède une puce électronique qui stocke et traite les informations, ainsi qu'une antenne pour recevoir et transmettre un signal. Cette étiquette est utilisée pour stocker les données et son identifiant unique.
système Arduino RFID NFC

Le tag doit être proche du lecteur pour que les informations qu'il contient puissent être lues. Le processus implique que le lecteur génère un champ électromagnétique, ce qui provoque le déplacement des électrons à travers l'antenne du tag et alimente la puce. La puce envoie ensuite les informations demandées au lecteur sous forme de signal radio. Le lecteur détecte ce signal et le transforme en données, qui sont ensuite lues par l'Arduino Nano.

Schéma de câblage entre le module RFID-RC522 et Arduino Nano

Le module RFID-RC522 nécessite une tension de 3,3V, mais les broches de sortie de l'Arduino fournissent 5V. Ainsi :

  • Pour garantir la sécurité, la tension des broches de l'Arduino doit être régulée à 3,3V avant de se connecter au module RC522.
  • À des fins de test, les broches de l'Arduino peuvent être connectées directement au module RC522, mais cela pourrait causer des problèmes 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
Schéma de câblage Arduino Nano RFID RC522

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage entre RC522 et Arduino avec régulateur de tension.
Schéma de câblage régulé en tension pour Arduino Nano RFID RC522

This image is created using Fritzing. Click to enlarge image

Comme indiqué dans le schéma de câblage ci-dessus, des paires de résistances de 1kOhm et 2kOhm sont utilisées pour réguler de 5V à 3.3V.

  • Il n'est pas nécessaire de réguler la tension entre la broche Arduino et la broche MISO du module RC522.
  • Cependant, il faut 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 Nano

RFID/NFC RC522 Arduino Nano
SS → 10
SCK → 13
MOSI → 11
MISO → 12
IRQ not connected
GNDGND
RST → 5
VCC → 3.3V

Code RFID/NFC Arduino Nano

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-rfid */ #include <SPI.h> #include <MFRC522.h> #define RC522_SS_PIN 10 // The Arduino Nano pin connected to RC522's SS pin #define RC522_RST_PIN 5 // The Arduino Nano pin connected to RC522's RST pin MFRC522 rfid(RC522_SS_PIN, RC522_RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap RFID/NFC Tag on reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); //Serial.print("RFID/NFC Tag Type: "); //Serial.println(rfid.PICC_GetTypeName(piccType)); // print NUID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Étapes rapides

  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'IDE Arduino.
  • Recherchez "MFRC522" et trouvez la bibliothèque par GithubCommunity.
  • Ensuite, appuyez sur le bouton Install pour installer la bibliothèque MFRC522.
Bibliothèque Arduino Nano MFRC522
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code sur l'Arduino Nano.
  • Ouvrez le moniteur série.
  • Tapez plusieurs étiquettes RFID/NFC sur le module RFID-RC522.
  • Vérifiez l'UID sur le moniteur série.
COM6
Send
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!