Čtecí obvod RFID pomocí Arduina

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto článku se chystáme na prohlídku technologie obvodů RFID. Budeme zkoumat, jak RFID tagy a čtečky fungují, jak propojit RFID modul (RC522) s Arduino a extrahovat některé užitečné informace z RFID tagů.

Používání značek RFID

Jsem si jistý, že každý z vás použil RFID k získání bezpečnostního přístupu alespoň jednou v kanceláři, škole, škole, knihovně atd.



Štítek / karta, kterou nosíte, má v sobě zabudovaný elektronický čip, čip ukládá vaši identitu elektronicky. Na rozdíl od čárových kódů, kde by karta měla být v zorném poli čtečky, lze RFID umístit těsně vedle čtečky a číst informace.

Většina našich čipových karet používá pasivní technologii RFID, což znamená, že ke čtení informací z karty není zapotřebí žádné napájení. Čtečka napájí RFID čip a extrahuje informace současně.



Tyto druhy značek mohou číst informace od milimetrů do několika stop, v závislosti na značce a aplikaci.

Aktivní štítky RFID jsou napájeny externě, tyto druhy štítků přenášejí informace až do vzdálenosti 100 stop. Spotřeba energie baterie je optimalizována na posledních několik let.

V tomto projektu se podíváme na pasivní technologii RFID. K extrahování a zobrazování informací používáme modul čtečky RC522 spolu s arduino. Modul RC522 je běžně dostupný na webových stránkách elektronického obchodování a v místním obchodě s elektronickými soupravami.

Ilustrace modulu čtečky / zapisovače RC522:

Modul čtečky / zapisovače RC522

Značky typu karty a klíčenky:

Značky typu karty a klíčenky

Jak vidíme, část PCB je na čtečce obklopena vodivou cestou ve čtvercovém tvaru, což bude generovat elektromagnetické pole pro značku na frekvenci 13,56 MHz.

Vygenerovaný EMF je vybrán štítkem a převeden na dostatečné napětí pro provoz štítku, štítek odešle potřebné informace v pulzní formě zpět do čtečky. Integrovaný mikrokontrolér tyto informace dekóduje.

Jak to funguje

RFID obvod pomocí Arduina

Schéma je velmi snadné a srozumitelné, k provedení tohoto projektu stačí několik propojovacích vodičů. Budeme napájet arduino a RFID přes USB port počítače. Provozní napětí RC522 je 3,3 V, nepřipojujte napájení 5V k modulu a poškodí komponenty na desce.

Prototyp obvodu Arduino RFID:

To jsou všechna hardwarová připojení, pojďme nyní skočit na kódování.

Před nahráním programu si stáhněte soubor knihovny z následujícího odkazu a přesuňte se do složky knihovny 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! Jak funguje výše uvedený program?

Výše uvedený program zobrazí UID tagu na sériovém monitoru IDE, když skenujete na čtečce. UID je jedinečné identifikační číslo značky, nelze jej změnit a je nastaveno výrobcem.

VÝSTUP:

UID vaší karty: FA: 4E: B2 // toto je příklad.

Poznámka 1: Každé dvě hodnoty jsou odděleny dvojtečkou, což se provádí programem, skutečné hodnoty nemusí být odděleny dvojtečkou, ale spíše mezerou.

Poznámka 2: Pouze RFID tagy vyráběné společností NXP jsou čitelné / zapisovatelné s navrhovaným nastavením, jsou běžně a komerčně používány.

UID se používá k rozpoznání značky, značka, která je dodávána se sadou, může uložit až 1 kB informací. Existují další karty, na které lze uložit až 4 kB informací nebo dokonce více.

Proces ukládání a extrahování informací ze značky je předmětem jiného článku.
Pokud máte dotazy týkající se tohoto projektu, neváhejte se zeptat v sekci komentářů.




Předchozí: Obvod snímače barometrického tlaku - pracovní a propojovací podrobnosti Další: Řízení triakové fáze pomocí PWM Time Proportional