Circuito lettore RFID che utilizza Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo articolo faremo un giro sulla tecnologia dei circuiti RFID. Esploreremo come funzionano i tag ei ​​lettori RFID, come interfacciare il modulo RFID (RC522) con Arduino ed estrarre alcune informazioni utili dai tag RFID.

Utilizzo di tag RFID

Sono sicuro che ognuno di voi ha utilizzato l'RFID per ottenere l'accesso di sicurezza almeno una volta in ufficio, a scuola, all'università, in biblioteca, ecc.



Il tag / carta che porti con te ha un chip elettronico incorporato, il chip memorizza la tua identità elettronicamente. A differenza dei codici a barre, dove la carta deve essere in linea di vista del lettore, gli RFID possono essere posizionati vicino al lettore per leggere le informazioni.

La maggior parte delle nostre smart card utilizza la tecnologia RFID passiva, il che significa che non è necessaria alcuna alimentazione per leggere le informazioni dalla scheda. Il lettore alimenta il chip RFID ed estrae le informazioni allo stesso tempo.



Questi tipi di tag possono leggere informazioni da millimetri a pochi piedi, a seconda del tag e dell'applicazione.

I tag RFID attivi sono alimentati esternamente, questi tipi di tag trasmettono le informazioni fino a 100 piedi. Il consumo di energia della batteria è ottimizzato per durare pochi anni.

In questo progetto esamineremo la tecnologia RFID passiva. Stiamo usando il modulo lettore RC522 insieme ad arduino per l'estrazione e la visualizzazione delle informazioni. Il modulo RC522 è comunemente disponibile nei siti Web di e-commerce e nei negozi di kit elettronici locali.

Illustrazione del modulo lettore / scrittore RC522:

Modulo lettore / scrittore RC522

Tag tipo di carta e portachiavi:

Tag tipo tessera e portachiavi

Come possiamo vedere, una parte del PCB è circondata da un percorso conduttivo di forma quadrata sul lettore, questo genererà un campo elettromagnetico per il tag alla frequenza di 13,56 MHz.

L'EMF generato viene selezionato dal tag e si converte in una tensione sufficiente per il funzionamento del tag, il tag invierà le informazioni necessarie sotto forma di impulsi al lettore. Il microcontrollore di bordo decodifica le informazioni.

Come funziona

Circuito RFID che utilizza Arduino

Lo schema è molto semplice e autoesplicativo, bastano pochi ponticelli per realizzare questo progetto. Alimenteremo arduino e RFID tramite la porta USB del computer. La tensione di esercizio dell'RC522 è 3,3 V, non collegare l'alimentazione a 5 V al modulo e danneggerà i componenti di bordo.

Prototipo di circuito RFID Arduino:

Queste sono tutte le connessioni hardware, ora passiamo alla codifica.

Prima di caricare il programma, scarica il file della libreria dal seguente link e spostati nella cartella della libreria dell'IDE di arduino.

github.com/miguelbalboa/rfid.git

Codice del programma:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

Ok! Cosa fa il programma di cui sopra progettato per funzionare?

Il programma sopra mostrerà l'UID del tag nel monitor seriale dell'IDE, quando si esegue la scansione sul lettore. L'UID è il numero di identificazione univoco del tag, non può essere modificato ed è impostato dal produttore.

PRODUZIONE:

UID della tua carta: FA: 4E: B2 // questo è un esempio.

Nota 1: i due valori sono separati da due punti, operazione eseguita dal programma. I valori reali potrebbero non essere separati da due punti, ma piuttosto da uno spazio.

Nota 2: solo i tag RFID prodotti da NXP sono leggibili / scrivibili con la configurazione proposta, questi sono comunemente e commercialmente utilizzati.

L'UID viene utilizzato per riconoscere il tag, il tag fornito con il kit può memorizzare fino a 1 KB di informazioni. Esistono altre schede che possono memorizzare fino a 4KB di informazioni o anche di più.

Il processo di memorizzazione ed estrazione delle informazioni dal tag è oggetto di un altro articolo.
Se hai domande, riguardo a questo progetto, sentiti libero di chiedere nella sezione commenti.




Precedente: Circuito del sensore di pressione barometrica - Dettagli di funzionamento e interfacciamento Avanti: Controllo di fase triac utilizzando PWM Time Proportional