Gli RFID (Radio-Frequency IDentification) vengono ormai utilizzati per diversi scopi, dalla gestione dei magazzini al controllo accessi, e molti altri progetti. Esistono diversi moduli utilizzabili anche con Arduino per poter create i più disparati progetti. In questo post vedremo Come leggere chip RFID con Arduino ATmega328P e modulo MFRC522.
Come leggere chip RFID con Arduino ATmega328P e modulo MFRC522
Materiale utilizzato in questa guida
- Arduino Nano ATmega328P CH340G: lo abbiamo già utilizzato per altri progetti (acquistabile su Amazon – eBay)
- Modulo MRFC522: per la lettura dei tag RFID (acquistabile su Amazon – eBay)
- Tag RFID: compatibili con il modulo MFRC522 (acquistabili su Amazon – eBay)
- Breadboard: basetta forata sperimentale (acquistabile su Amazon – eBay)
- Jumper Wire: cavetti (acquistabili su Amazon – eBay)
- Arduino IDE: ambiente di sviluppo per programmare il micro controllore Arduino (per l’installazione e la configurazione vi rimando a questi post)
Dettagli modulo MFRC522
Il modulo RFID MRFC522, della NXP Semiconductors, è un modulo dal costo contenuto. Funziona con un’alimentazione di 3.3 volt e lavora ad una frequenza di 13.56MHz.
Il modulo MFRC522 è in grado di leggere le seguenti tipologie di Tag RFID:
- MIFARE Mini
- MIFARE 1K
- MIFARE 4K
- MIFARE Ultralight
- MIFARE DESFire EV1
- MIFARE Plus
Per maggiori informazioni potete consultare il datasheet a questo link.
Montaggio e configurazione
Prima di tutto effettuiamo i collegamenti, tra Arduino e il modulo MFRC522, utilizzando questo schema in base al microcontrollore
COLLEGAMENTO PIEDINI | |||
---|---|---|---|
MFRC522 | Arduino Uno | Arduino Nano | Arduino ATmega328P |
SDA | D10 | D10 | D10 |
SCK | D13 | D13 | D13 |
MOSI | D11 | D11 | D11 |
MISO | D12 | D12 | D12 |
IRQ | N/A | N/A | N/A |
GND | GND | GND | GND |
RST | D9 | D9 | D9 |
3.3V | 3.3V | 3.3V | 3.3V |
Qui un esempio di collegamento, tra Arduino Nano ATmega328P e il modulo MFRC522, realizzato con Fritzing
Una volta terminato il circuito colleghiamo Arduino, tramite la porta USB, al nostro PC e avviamo l’ambiente di sviluppo Arduino IDE.
Per poter permettere ad Arduino di riconoscere il modulo dobbiamo installare le librerie. Per farlo utilizzeremo il gestore delle librerie messo a disposizione da Arduino IDE.
Da Arduino IDE avviamo il gestore della librerie cliccando su Sketch -> #Include Libreria -> Gestione Librerie
Con Gestore Librerie aperto utilizziamo la casella di ricerca (in alto a destra) per cercare la libreria relativa al modulo MFRC522.
Trovata la libreria selezioniamo la versione da installare e clicchiamo sul pulsante Installa.
Al termine dell’installazione ci verrà mostrato l’esito e la versione installata.
Chiudiamo il gestore delle librerie e configuriamo l’IDE in modo da poter programmare il nostro Arduino. Potete cambiare le seguenti configurazioni in base al micro controllore a vostra disposizione.
Selezioniamo la scheda da Strumenti -> Scheda -> Arduino Nano
Ora selezioniamo il processore da Strumenti -> Processore -> ATmega328P
Infine selezioniamo la porta usb su cui è collegato Arduino da Strumenti -> Porta -> COM04 (N.B.: il nome della porta può essere differente)
Come leggere chip RFID con Arduino ATmega328P e modulo MFRC522
Sketch Arduino e test
La maggior parte delle librerie che installiamo sull’IDE di Arduino, compreso quella relativa al modulo MFRC522 che abbiamo appena installato, contengono degli sketch di esempio già pronti da utilizzare.
Quello che vi propongo qui è una rivisitazione semplificata di uno degli esempi. Ci limiteremo a leggere il codice UID (codice che identifica il Tag) e la tecnologia del Tag e visualizzarli sul Serial Monitor.
Copiate su Arduino IDE questo codice
Il codice è abbastanza commentato. Le righe più significative sono quelle relative alla lettura del codice UID al passaggio del CHIP vicino al modulo MFRC522
e quella relativa alla lettura della tipologia del CHIP
Ora non ci resta che verificare se la compilazione va a buon fine cliccando sul pulsante Verifica (contrassegnato da una V)
Se la verifica non ha segnalato errori possiamo caricare lo sketch su Arduino cliccando su Carica (pulsante contrassegnato da una freccia rivolta verso destra)
Al termine della carica dello sketch nella board Arduino, avviamo il Monitor Seriale da Strumenti -> Monitor Seriale
Se proviamo a passare un TAG RFID sul modulo MFRC522 vedremo comparire il codice UID, e la tipologia del CHIP, sul monitor seriale
Bene, abbiamo visto Come leggere chip RFID con Arduino ATmega328P e modulo MFRC522.
Per maggiori informazioni sulla tecnologia RFID vi rimando a questo link.
Se avete dubbi, domande o consigli da dare, non esitare ad utilizzare il modulo dei commenti.
A presto 😉