RC522 è un popolare modulo RFID utilizzato per la comunicazione e l'identificazione wireless. È ampiamente utilizzato nei sistemi di controllo degli accessi, nei sistemi di pagamento senza contatto e nel monitoraggio dell'inventario. Questo tutorial ti guiderà attraverso l'interfaccia del modulo RC522 RFID con Arduino per leggere tag e schede RFID.
Cosa avrai bisogno
- Modulo RCID RC522
- Arduino Board (ad es. Uno, Mega, Nano)
- Tag o schede RFID (13,56 MHz)
- Breadboard e fili jumper
- Un computer con l'IDE Arduino installato
Passaggio 1: Comprensione del modulo RC522 RFID
Il modulo RFID RC522 funziona a 13,56 MHz e comunica con un microcontrollore utilizzando il protocollo SPI. Viene fornito con un'antenna RFID e supporta le operazioni di lettura e scrittura.
Pinout RC522
Spillo | Funzione |
---|---|
SDA | Spi SS (Slave Select) |
SCK | COLLO SPI |
MOSI | Input di dati SPI |
Miso | Output dei dati SPI |
Irq | Richiesta di interrupt (opzionale) |
GND | Terra |
Primo | Reset |
3.3v | Alimentazione elettrica |
Nota: L'RC522 opera sulla logica 3.3V; Assicurati che le connessioni corrispondano ai requisiti di tensione della scheda.
Passaggio 2: Cablaggio dell'RC522 ad Arduino
Ecco come collegare il modulo RCID RC522 a un Arduino Uno:
PIN RC522 | Arduino Pin |
---|---|
SDA | Pin 10 |
SCK | Pin 13 |
MOSI | Pin 11 |
Miso | Pin 12 |
Irq | Non connesso |
GND | GND |
Primo | Pin 9 |
3.3v | 3.3v |
Nota: Per altre schede Arduino, assicurati di mappare correttamente i pin SPI.
Passaggio 3: installare la libreria richiesta
Per lavorare con il modulo RC522, installare la libreria "MFRC522".
Passi da installare:
- Apri l'IDE Arduino.
- Vai a Schizzo > Includi la libreria > Gestisci le biblioteche.
- Cerca "MFRC522" e fai clic su Installare.
Passaggio 4: caricare il codice
Ecco uno schizzo di esempio per leggere i dati dei tag 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
}
Passaggio 5: testare l'installazione
- Collega l'Arduino al tuo computer tramite USB.
- Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
- Carica il codice su Arduino facendo clic Caricamento.
- Apri il monitor seriale (Utensili > Monitor seriale) e impostare il tasso di baud su
9600
. - Posizionare un tag o una scheda RFID vicino al modulo. L'UID della scheda verrà visualizzato nel monitor seriale.
Opzionale: scrivere dati a un tag RFID
Per scrivere i dati a un tag RFID, è possibile utilizzare il PICC_Write
funzione nella libreria MFRC522. Fare riferimento agli esempi di biblioteca per operazioni di scrittura dettagliate.
Applicazioni dell'RC522
- Sistemi di controllo degli accessi
- Sistemi di pagamento senza contatto
- Monitoraggio e gestione dell'inventario
- Sistemi di partecipazione intelligenti
Risoluzione dei problemi
- Nessuna risposta dal modulo: Controllare il cablaggio e assicurarsi che le connessioni SPI siano corrette.
- Uid non rilevato: Assicurarsi che il tag rientri nell'intervallo dell'antenna RFID.
- Errori della libreria: Verificare che la libreria MFRC522 sia installata correttamente.
Conclusione
Hai interfacciato correttamente il modulo RCID RC522 con Arduino, consentendo di leggere i dati dei tag RFID. Questo modulo versatile è perfetto per i progetti che richiedono comunicazioni e identificazione wireless. Sperimenta funzionalità aggiuntive come la scrittura di dati da tag o l'integrazione in sistemi più grandi per applicazioni avanzate!