Il modulo RFID RC522 modulo RFID consente al Raspberry Pi di leggere e scrivere tag RFID (Radio Frequency Identification), rendendolo utile per il controllo accessi, l'automazione e i progetti IoT. Questa guida ti mostrerà come collegare, configurare e leggere schede RFID utilizzando il Raspberry Pi e Python.
Cosa ti servirà
- Raspberry Pi (qualsiasi modello con supporto SPI, ad es. Pi 3, Pi 4)
- Modulo RFID RC522
- Tag o scheda RFID (compatibile con frequenza 13.56MHz)
- Breadboard e cavi jumper
- Python installato sul tuo Raspberry Pi
Passaggio 1: Cablaggio dell'RC522 al Raspberry Pi
L'RC522 comunica con il Raspberry Pi utilizzando il protocollo SPI.
Collegamenti (modalità SPI)
| Pin RC522 | Pin Raspberry Pi | Funzione |
|---|---|---|
| VCC | 3.3V (Pin 1) | Alimentazione |
| GND | Massa (Pin 6) | Massa |
| SDA (SS) | GPIO8 (Pin 24) | Chip Select SPI |
| SCK | GPIO11 (Pin 23) | Clock SPI |
| MOSI | GPIO10 (Pin 19) | Input dati SPI |
| MISO | GPIO9 (Pin 21) | Output dati SPI |
| RST | GPIO25 (Pin 22) | Reset |
Nota: L'RC522 funziona a 3.3V. Non collegarlo a 5V, poiché potrebbe danneggiare il modulo.
Passaggio 2: Abilitare l'interfaccia SPI
L'RC522 utilizza SPI (Serial Peripheral Interface) per la comunicazione, quindi dobbiamo abilitare SPI sul Raspberry Pi.
-
Apri lo strumento di configurazione del Raspberry Pi:
sudo raspi-config -
Vai su Interface Options > SPI e abilitalo.
-
Riavvia il Raspberry Pi:
sudo reboot -
Verifica che SPI sia abilitato:
ls /dev/spidev*Dovresti vedere
/dev/spidev0.0e/dev/spidev0.1.
Passaggio 3: Installare le librerie necessarie
- Aggiorna il tuo Raspberry Pi:
sudo apt update && sudo apt upgrade -y - Installa le librerie SPI e RFID:
sudo apt install -y python3-pip python3-spidev python3-rpi.gpio pip3 install mfrc522
Passaggio 4: Codice Python per leggere dati RFID
Ecco uno script Python per leggere i dati di un tag/scheda RFID utilizzando il modulo RC522.
Esempio di codice Python
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
print("Avvicina il tag o la scheda RFID al lettore...")
id, text = reader.read()
print(f"ID Tag RFID: {id}")
print(f"Testo memorizzato: {text}")
except KeyboardInterrupt:
print("Uscita in corso...")
finally:
GPIO.cleanup()
Passaggio 5: Scrivere dati su un tag RFID
Puoi anche scrivere testo personalizzato su un tag RFID.
Esempio di codice Python per la scrittura di dati
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522
reader = SimpleMFRC522()
try:
text = input("Inserisci il testo da scrivere sul tag RFID: ")
print("Avvicina il tag RFID al lettore...")
reader.write(text)
print("Dati scritti correttamente!")
except KeyboardInterrupt:
print("Uscita in corso...")
finally:
GPIO.cleanup()
Passaggio 6: Applicazioni del modulo RFID RC522
- Controllo accessi – Usa schede RFID per sbloccare porte o concedere l'accesso ad aree riservate.
- Sistemi di rilevazione presenze – Registra entrate e uscite in scuole, uffici o eventi.
- Gestione dell'inventario – Traccia gli articoli utilizzando tag RFID.
- IoT e automazione – Attiva dispositivi smart home o sistemi industriali con autenticazione RFID.
Risoluzione dei problemi
-
Tag RFID non rilevato
- Assicurati che il tag sia entro 2-3 cm dal lettore.
- Controlla il cablaggio e i collegamenti.
-
Errore di autorizzazione negata
- Esegui lo script con
sudo:sudo python3 rfid_read.py
- Esegui lo script con
-
Dispositivo SPI non trovato
- Assicurati che SPI sia abilitato (
ls /dev/spidev*dovrebbe elencare i dispositivi). - Prova a riabilitare SPI tramite
sudo raspi-config.
- Assicurati che SPI sia abilitato (
Conclusione
Il modulo RFID RC522 è uno strumento potente per integrare l'identificazione basata su RFID e l'automazione nei progetti Raspberry Pi. Seguendo questa guida, puoi facilmente leggere e scrivere dati su tag RFID, abilitando applicazioni nel controllo accessi, nella sicurezza e nei progetti IoT. Sperimenta con diversi casi d'uso per sbloccarne tutto il potenziale! 🚀




