RFID верига за четене, използваща Arduino

RFID верига за четене, използваща Arduino

В тази статия ще направим обиколка на RFID технологията на веригата. Ще проучим как работят RFID таговете и четците, как да свържем RFID модула (RC522) с Arduino и да извлечем полезна информация от RFID таговете.



Използване на RFID тагове

Сигурен съм, че всеки от вас е използвал RFID, за да получи достъп до сигурност поне веднъж в офис, училище, колеж, библиотека и т.н.

Етикетът / картата, която носите, има вграден електронен чип, чипът съхранява вашата самоличност по електронен път. За разлика от баркодовете, където картата трябва да бъде видимост на четеца, RFID могат да бъдат поставени точно в близост до четеца, за да прочетат информацията.





Повечето от нашите смарт карти използват пасивна RFID технология, което означава, че не е необходимо захранване за четене на информацията от картата. Четецът захранва RFID чипа и извлича информация едновременно.

Тези видове маркери могат да четат информация от милиметри до няколко фута, в зависимост от маркера и приложението.



Активните RFID тагове се захранват външно, тези видове тагове предават информацията до 100 фута. Консумацията на енергия на батерията е оптимизирана за последните няколко години.

В този проект ще разгледаме пасивната RFID технология. Използваме модул за четене RC522 заедно с arduino за извличане и показване на информация. Модулът RC522 е често достъпен в уебсайтовете за електронна търговия и в магазина за местни комплекти за електроника.

Илюстрация на модул за четене / запис RC522:

RC522 модул за четене / запис

Етикети от тип карта и ключодържател:

Тагове от тип карта и ключодържател

Както виждаме, част от печатната платка е заобиколена от проводяща пътека в квадратна форма върху четеца, което ще генерира електромагнитно поле за маркера при честота 13,56MHz.

Генерираната EMF се избира от маркера и се преобразува до достатъчно напрежение, за да може етикетът да работи, етикетът изпраща необходимата информация в импулсна форма обратно на четеца. Вграденият микроконтролер декодира информацията.

Как работи

RFID схема, използваща Arduino

Схемата е много лесна и очевидна, няколко джъмперни проводника са достатъчни за изпълнението на този проект. Ще захранваме arduino и RFID през USB порта на компютъра. Работното напрежение на RC522 е 3.3V, не свързвайте 5V захранване към модула и ще повреди бордовите компоненти.

Прототип на Arduino RFID схема:

Това са всички хардуерни връзки, сега нека да преминем към кодиране.

Преди да качите програмата, изтеглете библиотечния файл от следната връзка и се преместете в папката на библиотеката на arduino IDE.

github.com/miguelbalboa/rfid.git

Код на програмата:

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

Добре! Какво прави горната програма, предназначена да функционира?

Горната програма ще покаже UID на маркера в сериен монитор на IDE, когато сканирате на четеца. UID е уникален идентификационен номер на маркера, той не може да бъде променен и е зададен от производителя.

ИЗХОД:

UID на вашата карта: FA: 4E: B2 // това е пример.

Забележка 1: Всяка две стойности са разделени с двоеточие, което се прави от програмните реални стойности може да не са разделени с двоеточие, а по-скоро с интервал.

Забележка 2: Само произведените от NXP RFID тагове могат да се четат / записват с предложената настройка, те се използват често и в търговската мрежа.

UID се използва за разпознаване на етикета, етикетът, който идва заедно с комплекта, може да съхранява до 1KB информация. Има и други карти, които могат да съхраняват до 4KB информация или дори повече.

Процесът на съхранение и извличане на информацията от маркера е предмет на друга статия.
Ако имате въпроси относно този проект, не се колебайте да попитате в раздела за коментари.




Предишна: Барометрична схема на датчика за налягане - подробности за работа и взаимодействие Напред: Контрол на фазата на триак с използване на ШИМ Пропорционално време