Circuit lector RFID mitjançant Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest article farem un recorregut per la tecnologia de circuits RFID. Explorarem el funcionament de les etiquetes i els lectors RFID, la forma d’interfaçar el mòdul RFID (RC522) amb Arduino i extreure’n informació útil de les etiquetes RFID.

Utilitzant etiquetes RFID

Estic segur que cadascun de vosaltres ha utilitzat l'RFID per obtenir accés de seguretat almenys una vegada a l'oficina, a l'escola, a la universitat, a la biblioteca, etc.



L'etiqueta / targeta que porteu al voltant té un xip electrònic incrustat, el xip emmagatzema la vostra identitat electrònicament. A diferència dels codis de barres, on la targeta ha de ser la línia de visió del lector, els RFID es poden col·locar a prop del lector per llegir la informació.

La majoria de les nostres targetes intel·ligents utilitzen tecnologia RFID passiva, cosa que significa que no es necessita energia per llegir la informació de la targeta. El lector alimenta el xip RFID i extreu informació al mateix temps.



Aquest tipus d’etiquetes poden llegir informació de mil·límetres a pocs peus, segons l’etiqueta i l’aplicació.

Les etiquetes RFID actives s’alimenten externament, aquest tipus d’etiquetes transmeten la informació fins a 100 peus. El consum d'energia de la bateria està optimitzat per durar uns quants anys.

En aquest projecte analitzarem la tecnologia RFID passiva. Estem utilitzant el mòdul lector RC522 juntament amb arduino per extreure i mostrar informació. El mòdul RC522 està disponible normalment als llocs web de comerç electrònic i a la botiga local de kits d’electrònica.

Il·lustració del mòdul lector / escriptor RC522:

Mòdul lector / escriptor RC522

Etiquetes de tipus targeta i clauer:

Etiquetes de tipus targeta i clauer

Com podem veure que, una part del PCB està envoltada per un camí conductor en forma quadrada al lector, això generarà un camp electromagnètic per a l'etiqueta a una freqüència de 13,56 MHz.

El CEM generat és recollit per l'etiqueta i es converteix en voltatge suficient perquè l'etiqueta funcioni, l'etiqueta enviarà la informació necessària en forma de pols al lector. El microcontrolador integrat descodifica la informació.

Com funciona

Circuit RFID mitjançant Arduino

L'esquema és molt fàcil i s'explica per si mateix, amb pocs cables de pont és suficient per dur a terme aquest projecte. Alimentarem l’arduino i el RFID mitjançant el port USB de l’ordinador. La tensió de funcionament del RC522 és de 3,3 V, no connecteu l’alimentació de 5 V al mòdul i danyarà els components integrats.

Prototip de circuit RFID Arduino:

Això són totes les connexions de maquinari, ara anem a la codificació.

Abans de carregar el programa, descarregueu el fitxer de la biblioteca des del següent enllaç i moveu-lo a la carpeta de biblioteca de l’IDE ​​arduino.

github.com/miguelbalboa/rfid.git

Codi del programa:

//-------------------------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------------------//

D'acord! Què ha de funcionar el programa anterior?

El programa anterior mostrarà l'ID de l'etiqueta al monitor sèrie de l'IDE quan escanegeu al lector. L’UID és el número d’identificació únic de l’etiqueta, no es pot canviar i el defineix el fabricant.

SORTIDA:

UID de la vostra targeta: FA: 4E: B2 // aquest és un exemple.

Nota 1: Els dos valors estan separats per dos punts, cosa que es fa mitjançant el programa, els valors reals poden no estar separats per dos punts, sinó per espai.

Nota 2: Només es poden llegir / escriure les etiquetes RFID fabricades per NXP amb la configuració proposada, que s’utilitzen habitualment i comercialment.

L'UID s'utilitza per reconèixer l'etiqueta que l'etiqueta que s'inclou amb el kit pot emmagatzemar fins a 1 KB d'informació. Hi ha altres targetes que poden emmagatzemar fins a 4KB d'informació o fins i tot més.

El procés d'emmagatzematge i extracció de la informació de l'etiqueta està subjecte a un altre article.
Si teniu cap pregunta sobre aquest projecte, no dubteu a fer-ho a la secció de comentaris.




Anterior: Circuit del sensor de pressió baromètrica: detalls de treball i interfície Següent: Control de fase de Triac mitjançant el temps proporcional PWM