RFID čitački krug koji koristi Arduino

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo članku obilaziti tehnologiju RFID sklopova. Istražit ćemo kako rade RFID oznake i čitači, kako povezati RFID modul (RC522) s Arduinom i izvući neke korisne informacije iz RFID oznaka.

Korištenje RFID oznaka

Siguran sam da je svatko od vas koristio RFID da bi barem jednom dobio sigurnosni pristup u uredu, školi, fakultetu, knjižnici itd.



Oznaka / kartica koju nosite sa sobom ima ugrađen elektronički čip, čip pohranjuje vaš identitet elektroničkim putem. Za razliku od crtičnih kodova, gdje bi kartica trebala biti vidokrug čitača, RFID se mogu staviti neposredno blizu čitača kako bi pročitao informacije.

Većina naših pametnih kartica koristi pasivnu RFID tehnologiju, što znači da nije potrebno napajanje za čitanje podataka s kartice. Čitač istovremeno napaja RFID čip i vadi informacije.



Ove vrste oznaka mogu čitati podatke od milimetara do nekoliko metara, ovisno o oznaci i primjeni.

Aktivne RFID oznake napajaju se izvana, ove vrste oznaka prenose podatke do 100 stopa. Potrošnja energije baterije optimizirana je za posljednjih nekoliko godina.

U ovom ćemo projektu razmotriti pasivnu RFID tehnologiju. Za izdvajanje i prikazivanje podataka koristimo modul čitača RC522 zajedno s arduinom. RC522 modul obično je dostupan na web mjestima e-trgovine i u lokalnoj trgovini elektroničkim kompletima.

Ilustracija modula čitača / pisanja RC522:

RC522 modul čitača / pisanja

Oznake tipa kartice i privjeska:

Oznake tipa kartice i privjeska

Kao što vidimo, dio PCB-a je na čitaču okružen vodljivim putem u četvrtastom obliku, što će generirati elektromagnetsko polje za oznaku na frekvenciji 13,56 MHz.

Oznaka odabire generirani EMF i pretvara se u dovoljan napon za rad oznake, a oznaka će u pulsnom obliku poslati potrebne podatke natrag u čitač. Ugrađeni mikrokontroler dekodira informacije.

Kako radi

RFID krug koji koristi Arduino

Shema je vrlo jednostavna i sama po sebi razumljiva, nekoliko žica kratkospojnika dovoljno je za postizanje ovog projekta. Napajat ćemo arduino i RFID putem USB priključka računala. Radni napon RC522 je 3,3 V, nemojte priključivati ​​napajanje od 5 V na modul i oštetit će ugrađene komponente.

Prototip Arduino RFID sklopa:

To su sve hardverske veze, sad krenimo u kodiranje.

Prije prijenosa programa, preuzmite datoteku knjižnice sa slijedeće poveznice i premjestite se u mapu knjižnice arduino IDE-a.

github.com/miguelbalboa/rfid.git

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

U redu! Što gore navedeni program osmišljen da funkcionira?

Gornji program će prikazati UID oznake na serijskom monitoru IDE-a kada skenirate na čitaču. UID je jedinstveni identifikacijski broj oznake, ne može se mijenjati i postavlja ga proizvođač.

IZLAZ:

UID vaše kartice: FA: 4E: B2 // ovo je primjer.

Napomena 1: Svaka dvije vrijednosti odvojene su dvotočkom, što se radi pomoću stvarnih vrijednosti programa, ne moraju se odvajati dvotočkom, već razmakom.

Napomena 2: Samo RFID oznake proizvedene od NXP-a mogu se čitati / pisati s predloženim postavkama, one se često i komercijalno koriste.

UID se koristi za prepoznavanje oznake koja oznaka koja dolazi s kompletom može pohraniti do 1 KB podataka. Postoje i druge kartice na koje se može pohraniti do 4 KB podataka ili čak više.

Postupak spremanja i izdvajanja podataka s oznake predmet je drugog članka.
Ako imate pitanja u vezi s ovim projektom, slobodno pitajte u odjeljku za komentare.




Prethodno: Krug senzora barometarskog tlaka - detalji o radu i povezivanju Dalje: Kontrola faze trijaka pomoću proporcionalnog PWM vremena