Le RC522 est un module RFID populaire utilisé pour la communication et l'identification sans fil. Il est largement utilisé dans les systèmes de contrôle d'accès, les systèmes de paiement sans contact et le suivi des stocks. Ce tutoriel vous guidera à travers l'interfaçage du module RFID RC522 avec Arduino pour lire les balises et cartes RFID.
Ce dont vous aurez besoin
- Module RC522 RFID
- Board Arduino (par exemple, Uno, Mega, Nano)
- Tags ou cartes RFID (13,56 MHz)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le module RFID RC522
Le module RFID RC522 fonctionne à 13,56 MHz et communique avec un microcontrôleur en utilisant le protocole SPI. Il est livré avec une antenne RFID et prend en charge les opérations de lecture et d'écriture.
Pinout RC522
Épingle | Fonction |
---|---|
SDA | SPI SS (Select d'esclaves) |
SCK | Horloge SPI |
Mosi | Entrée de données SPI |
Miso | Sortie de données SPI |
IRQ | Demande d'interruption (facultatif) |
GND | Sol |
Premier | Réinitialiser |
3.3 V | Alimentation électrique |
Note: Le RC522 fonctionne sur une logique de 3,3 V; Assurez-vous que vos connexions correspondent aux exigences de tension de votre carte.
Étape 2: Câblage du RC522 à Arduino
Voici comment connecter le module RFID RC522 à un arduino uno:
Broche RC522 | Épingle arduino |
---|---|
SDA | PIN 10 |
SCK | PIN 13 |
Mosi | PIN 11 |
Miso | Broche 12 |
IRQ | Non connecté |
GND | GND |
Premier | PIN 9 |
3.3 V | 3.3 V |
Note: Pour d'autres cartes Arduino, assurez-vous de mapper correctement les broches SPI.
Étape 3: Installez la bibliothèque requise
Pour travailler avec le module RC522, installez la bibliothèque "MFRC522".
Étapes à installer:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "MFRC522" et cliquez Installer.
Étape 4: Téléchargez le code
Voici un exemple de croquis pour lire les données de balise RFID:
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Reset pin
#define SS_PIN 10 // Slave select pin
MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 library
void setup() {
Serial.begin(9600);
while (!Serial);
SPI.begin(); // Initialize SPI bus
rfid.PCD_Init(); // Initialize RFID reader
Serial.println("RC522 RFID Reader Initialized");
}
void loop() {
// Check for a new card
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
return;
}
Serial.println("Card detected:");
// Print the UID of the card
Serial.print("UID: ");
for (byte 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 the card
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Placez une étiquette ou une carte RFID près du module. L'UID de la carte sera affiché dans le moniteur série.
Facultatif: rédaction de données sur une balise RFID
Pour écrire des données sur une balise RFID, vous pouvez utiliser le PICC_Write
Fonction dans la bibliothèque MFRC522. Reportez-vous aux exemples de la bibliothèque pour des opérations d'écriture détaillées.
Applications du RC522
- Systèmes de contrôle d'accès
- Systèmes de paiement sans contact
- Suivi et gestion des stocks
- Systèmes de fréquentation intelligente
Dépannage
- Aucune réponse du module: Vérifiez le câblage et assurez-vous que les connexions SPI sont correctes.
- Uid non détecté: Assurez-vous que la balise est dans la plage de l'antenne RFID.
- Erreurs de bibliothèque: Vérifiez que la bibliothèque MFRC522 est installée correctement.
Conclusion
Vous avez réussi à interfacer le module RFID RC522 avec Arduino, vous permettant de lire les données de balise RFID. Ce module polyvalent est parfait pour les projets nécessitant une communication et une identification sans fil. Expérimentez avec des fonctionnalités supplémentaires telles que l'écriture de données sur des balises ou l'intégrer dans des systèmes plus grands pour des applications avancées!