Obvod čítačky RFID pomocou Arduina

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto článku sa chystáme na prehliadku technológie obvodov RFID. Budeme skúmať, ako fungujú RFID tagy a čítačky, ako prepojiť RFID modul (RC522) s Arduino a extrahovať niektoré užitočné informácie z RFID tagov.

Používanie značiek RFID

Som si istý, že každý z vás použil RFID na získanie bezpečnostného prístupu aspoň raz v kancelárii, škole, na vysokej škole, v knižnici atď.



Značka / karta, ktorú nosíte, má v sebe zabudovaný elektronický čip, čip uchováva vašu identitu elektronicky. Na rozdiel od čiarových kódov, kde by karta mala byť v zornom poli čitateľa, môžu byť RFID umiestnené tesne pri čítačke, aby ste si prečítali informácie.

Väčšina našich čipových kariet využíva pasívnu technológiu RFID, čo znamená, že na čítanie informácií z karty nie je potrebné žiadne napájanie. Čítačka napája čip RFID a súčasne extrahuje informácie.



Tieto druhy štítkov dokážu prečítať informácie od milimetrov do niekoľkých stôp, v závislosti od štítku a aplikácie.

Aktívne štítky RFID sú napájané externe. Tieto druhy štítkov prenášajú informácie do vzdialenosti 100 stôp. Spotreba energie batérie je optimalizovaná na niekoľko posledných rokov.

V tomto projekte sa pozrieme na pasívnu technológiu RFID. Na extrahovanie a zobrazovanie informácií používame čítací modul RC522 spolu s arduino. Modul RC522 je bežne dostupný na webových stránkach elektronického obchodu a v miestnom obchode s elektronickými súpravami.

Ilustrácia modulu čítačky / zapisovača RC522:

Modul čítačky a zapisovača RC522

Značky typu karty a kľúčenky:

Značky typu karty a kľúčenky

Ako vidíme, časť PCB je na čítačke obklopená vodivou cestou v štvorcovom tvare, ktorá bude generovať elektromagnetické pole pre štítok na frekvencii 13,56 MHz.

Vygenerovaný EMF tag vyberie a prevedie na dostatočné napätie, aby tag fungoval, tag vyšle potrebné informácie v pulznej forme späť do čítačky. Palubný mikrokontrolér tieto informácie dekóduje.

Ako to funguje

RFID obvod pomocou Arduina

Schéma je veľmi ľahká a zrozumiteľná, na uskutočnenie tohto projektu stačí len niekoľko prepojovacích vodičov. Budeme napájať arduino a RFID cez USB port počítača. Prevádzkové napätie RC522 je 3,3 V, nepripojujte k modulu napájanie 5V a poškodia sa komponenty na vozidle.

Prototyp obvodu Arduino RFID:

To sú všetky hardvérové ​​spojenia, poďme teraz k programovaniu.

Pred nahraním programu si stiahnite súbor knižnice z nasledujúceho odkazu a presuňte sa do priečinka knižnice arduino IDE.

github.com/miguelbalboa/rfid.git

Programový kód:

//-------------------------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! Čo funguje vyššie uvedený program?

Vyššie uvedený program zobrazí UID tagu na sériovom monitore IDE, keď skenujete na čítačke. UID je jedinečné identifikačné číslo štítku, ktoré nie je možné zmeniť, a nastavuje ho výrobca.

VÝKON:

UID vašej karty: FA: 4E: B2 // toto je príklad.

Poznámka 1: Každé dve hodnoty sú oddelené dvojbodkou, čo sa deje pomocou programu, skutočné hodnoty sa od seba nemôžu oddeľovať dvojbodkou, ale skôr medzerou.

Poznámka 2: Iba RFID tagy vyrobené NXP sú čitateľné / zapisovateľné pomocou navrhovaného nastavenia, tieto sa bežne a komerčne používajú.

UID sa používa na rozpoznanie štítku, na ktorý štítok dodaný so súpravou môže uložiť až 1 kB informácií. Existujú ďalšie karty, na ktoré sa dá uložiť až 4 kB informácií alebo dokonca viac.

Proces ukladania a extrahovania informácií zo značky je predmetom iného článku.
Ak máte otázky týkajúce sa tohto projektu, neváhajte sa opýtať v sekcii komentárov.




Predchádzajúci: Obvod snímača barometrického tlaku - podrobnosti o práci a prepojení Ďalej: Triakové fázové riadenie pomocou PWM proporcionálneho času