Obwód czytnika RFID wykorzystujący Arduino

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym artykule zamierzamy zrobić wycieczkę po technologii obwodów RFID. Będziemy badać, jak działają znaczniki i czytniki RFID, jak połączyć moduł RFID (RC522) z Arduino i wyodrębnić przydatne informacje z tagów RFID.

Korzystanie z tagów RFID

Jestem pewien, że każdy z was użył RFID, aby uzyskać dostęp do bezpieczeństwa przynajmniej raz w biurze, szkole, na uczelni, w bibliotece itp.



Przywieszka / karta, którą nosisz ze sobą, ma wbudowany elektroniczny chip, który przechowuje Twoją tożsamość elektronicznie. W przeciwieństwie do kodów kreskowych, w których karta powinna znajdować się na linii wzroku czytnika, identyfikatory RFID można umieścić tuż obok czytnika, aby odczytać informacje.

Większość naszych kart inteligentnych wykorzystuje pasywną technologię RFID, co oznacza, że ​​do odczytania informacji z karty nie jest wymagane zasilanie. Czytnik zasila chip RFID i jednocześnie wydobywa informacje.



Tego rodzaju znaczniki mogą odczytywać informacje od milimetrów do kilku stóp, w zależności od znacznika i zastosowania.

Aktywne tagi RFID są zasilane z zewnątrz, tego rodzaju tagi przekazują informacje na odległość 100 stóp. Zużycie energii baterii jest zoptymalizowane na kilka lat.

W tym projekcie przyjrzymy się pasywnej technologii RFID. Używamy modułu czytnika RC522 wraz z arduino do wyodrębniania i wyświetlania informacji. Moduł RC522 jest powszechnie dostępny na stronach e-commerce oraz w lokalnym sklepie z elektroniką.

Ilustracja modułu czytnika / zapisu RC522:

Moduł czytnika / zapisu RC522

Tagi typu karty i pęku kluczy:

Tagi typu karty i pęku kluczy

Jak widać, część płytki drukowanej jest otoczona na czytniku ścieżką przewodzącą w kształcie kwadratu, co spowoduje wygenerowanie pola elektromagnetycznego dla znacznika o częstotliwości 13,56 MHz.

Wygenerowana EMF jest pobierana przez znacznik i konwertowana na napięcie wystarczające do działania znacznika, znacznik wysyła niezbędne informacje w postaci impulsu z powrotem do czytnika. Wbudowany mikrokontroler dekoduje informacje.

Jak to działa

Obwód RFID wykorzystujący Arduino

Schemat jest bardzo prosty i zrozumiały, do realizacji tego projektu wystarczy kilka przewodów połączeniowych. Zamierzamy zasilać arduino i RFID przez port USB komputera. Napięcie robocze RC522 wynosi 3,3 V, nie podłączaj zasilania 5 V do modułu i spowoduje to uszkodzenie komponentów pokładowych.

Prototyp obwodu RFID Arduino:

To wszystkie połączenia sprzętowe, przejdźmy teraz do kodowania.

Przed wgraniem programu pobierz plik biblioteki z poniższego linku i przejdź do folderu biblioteki arduino IDE.

github.com/miguelbalboa/rfid.git

Kod programu:

//-------------------------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! Do czego służy powyższy program?

Powyższy program wyświetli UID tagu na monitorze szeregowym IDE, podczas skanowania czytnika. UID to unikalny numer identyfikacyjny przywieszki, którego nie można zmienić i jest ustawiany przez producenta.

WYNIK:

UID Twojej karty: FA: 4E: B2 // to jest przykład.

Uwaga 1: Obie wartości są oddzielone dwukropkiem, co jest wykonywane przez program. Wartości rzeczywiste nie mogą być oddzielane dwukropkiem, ale spacją.

Uwaga 2: Tylko tagi RFID wyprodukowane przez NXP są odczytywalne / zapisywalne w proponowanej konfiguracji, są one powszechnie używane i komercyjnie.

Identyfikator UID jest używany do rozpoznawania tagu, który przywieszka dołączona do zestawu może pomieścić do 1 KB informacji. Istnieją inne karty, które mogą przechowywać do 4 KB informacji lub nawet więcej.

Proces przechowywania i wydobywania informacji z tagu jest przedmiotem innego artykułu.
Jeśli masz pytania dotyczące tego projektu, możesz je zadać w sekcji komentarzy.




Poprzedni: Obwód czujnika ciśnienia barometrycznego - szczegóły działania i połączenia Dalej: Sterowanie fazą triaka za pomocą proporcjonalnego czasu PWM