Utilizzare il modulo RFID RC522 – Tutorial, esempi

RFID RC522

Come utilizzare il modulo RFID RC522 con la scheda UNO R3 attraverso un’interfaccia di comunicazione seriale Serial Peripheral Interface.

Lo scorso martedì, il nostro ineffabile Simone ci ha proposto uno splendido editoriale sul funzionamento teorico dei moduli RFID. Oggi coglieremo la palla al  balzo per presentare un esempio di utilizzo di un modulo RFID attraverso Arduino. Come al solito avremo codice commentato e uno schema dei collegamenti.

Il modulo RC522 utilizza un’interfaccia di comunicazione seriale (Serial Peripheral Interface – SPI) per comunicare con controllori come Arduino, Raspberry, Pico e così via. Per maggiori informazioni sul protocollo SPI puoi leggere il nostro articolo introduttivo.

Componenti richiesti:

Introduzione al componente RC522

Il modulo MFRC522 ha integrato un lettore/scrittore per comunicazioni contactless a 13.65MHz. Il modulo MFRC522 supporta lo standard ISO 14443A / MIFARE.

I componenti interni del MFRC5522 adoperati a trasmettere wireless sono in grado di leggere e scrivere tramite un’antenna disegnata per comunicare con carte e transponder con circuiti attivi secondo lo standard ISO/IEC 14443A/MIFARE. La parte ricevente ha a disposizione un robusto ed efficiente circuito di demodulazione e decodifica per i segnali ISO/IEC 14443A/MIFARE ricevuti da carte e transponder compatibili. La parte digitale comprende un completo frame ISO/IEC 14443A con rilevazioni d’errori ( accoppiamento e controllo a ridondanza ciclica).

Il modulo MFRC5522 è compatibile con i prodotti MIFARE®Classic (e.g. MIFARE Standard). Supporta le comunicazioni MIFARE contactless che utilizzano una velocità di trasferimento superiore a 848kbit/s in entrambe le direzioni.

Le interfacce implementate sono le seguenti:

  • Interfaccia SPI
  • Seriale UART (Simile alla RS232 con livelli di voltaggio adeguati)
  • Interfaccia I2C

L’immagine qui sotto mostra un diagramma tipico del circuito da implementare per utilizzare il modulo MFRC5522.

RFID RC522

Schema di collegamento

RFID RC522

Codice

Dopo aver effettuato i collegamenti, carica il codice. Non dimenticare di includere il modulo RFID.

La configurazione prevede di decommentare le righe di definizione per il protocollo SPI (#4 e #5). Di seguito una tabella utile per diverse piattaforme:

Come vedete, Arduino UNO utilizzerà i pin 9, 10, 11, 12 e 13  mentre altre schede Arduino potranno essere configurate secondo lo schema.

Il codice per il funzionamento del sistema RFID RC522 potrebbe spaventare. In realtà possiamo leggerlo come sempre a blocchi.

Nel Setup() inizializziamo la seriale,aspettiamo una risposta, inizializziamo il bus SPI, creiamo un oggetto RFID e azzeriamo l’UID (User ID) del nostro modulo o card.

Di seguito nella sezione Loop() commentata, è presentato uno dei sistemi standard per inserire un nuovo UID sul dispositivo, utilizzando il classico sistema di scrittura in un array. Pur trattandosi di una procedura valida, questo sistema non rappresenta il massimo dal punto di vista della pulizia del codice.

Il Loop() corretto parte invece dalla riga 37 e rappresenta una macchina a stati.

  1. Se non sono presenti cards o dispositivi, esci dal ciclo
  2. Se è stato trovato un dispositivo, esegui il dump del suo UID
  3. La successiva sezione commentata esegue l’eventuale dump dei dati presenti sul dispositivo
  4. A Riga 70 viene inserito il nuovo UID del dispositivo
  5. A Riga 76 il lettore viene resettato per poter acquisire i nuovi dati inseriti nella scheda
  6. A Riga 82 viene richiesto il dump dei nuovi dati presenti nella scheda

LiPO Amigo

Nota 1: Possiamo usare l’UID come numero di stanza per creare una chiave elettronica.

Nota 2: No, le chiavi elettroniche degli alberghi sono molto più complesse. Esse implicano un payload tra 1024 e 4096 byte contenente chiavi pubbliche e private con le quali codificare la combinazione della serratura…

 

Iscriviti ai nostri gruppi Telegram

Link utili

Seguici per non perdere le prossime novità!

 

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.