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