Съдържание:

Как да използвате модула RFID-RC522 с Arduino: 5 стъпки
Как да използвате модула RFID-RC522 с Arduino: 5 стъпки

Видео: Как да използвате модула RFID-RC522 с Arduino: 5 стъпки

Видео: Как да използвате модула RFID-RC522 с Arduino: 5 стъпки
Видео: Monitor System with ESP8266 (ESP-12) 2024, Ноември
Anonim
Как да използвате модула RFID-RC522 с Arduino
Как да използвате модула RFID-RC522 с Arduino

В тази инструкция ще разгледам основния принцип на работа на RFID модула, съчетан с неговите тагове и чипове. Ще дам и кратък пример за проект, който направих с помощта на този RFID модул с RGB LED. Както обикновено с моите Instructables, ще дам кратък преглед в първите няколко стъпки и ще оставя изчерпателно, подробно обяснение в последната стъпка за тези, които се интересуват.

Консумативи:

RC522 RFID модул + идентификационен етикет и карта-https://www.amazon.com/SunFounder-Mifare-Reader-Ar…

RGB LED + три 220 ома резистора

Стъпка 1: Хардуерни връзки

Хардуерни връзки
Хардуерни връзки

В този проект използвах Arduino Mega, но можете да използвате всеки микроконтролер, който искате, тъй като това е проект с относително ниски ресурси, единственото нещо, което би било различно, са пиновите връзки за SCK, SDA, MOSI, MISO и RST, тъй като те са различни на всяка дъска. Ако не използвате Mega, вижте горната част на този скрипт, който скоро ще използваме:

RFID:

SDA (бял) - 53

SCK (оранжево) - 52

MOSI (жълто) - 51

MISO (зелен) - 50

RST (синьо) - 5

3.3v - 3.3v

GND - GND

(Забележка: Въпреки че четецът стриктно изисква 3.3V, щифтовете са 5V толерантни, което ни позволява да можем да използваме този модул с Arduinos и други 5V DIO микроконтролери)

RGB LED:

Червен катод (лилав) - 8

GND - GND

Зелен катод (зелен) - 9

Син катод (син) - 10

Стъпка 2: Софтуер

Софтуер
Софтуер

Сега към софтуера.

Първо, трябва да инсталираме библиотеката MFRC522, за да можем да получаваме, записваме и обработваме RFID данни. Връзката на github е: https://github.com/miguelbalboa/rfid, но можете да я инсталирате и чрез мениджъра на библиотеката в IDE на Arduino или на PlatformIO. Преди да можем да създадем своя собствена, персонализирана програма за обработка и обработка на RFID данни, първо трябва да получим действителните UID за нашата карта и етикет. За целта трябва да качим тази скица:

(IDE на Arduino: примери> MFRC522> DumpInfo)

(PlatformIO: PIO Home> библиотеки> инсталирани> MFRC522> примери> DumpInfo)

Това, което прави тази скица, е по същество да извлича цялата информация, присъстваща в карта, включително UID в шестнадесетична форма. Например UID на картата ми е 0x72 0x7D 0xF5 0x1D (вижте снимката). Останалата част от разпечатаната структура от данни е информацията, присъстваща в картата, която можем да четем или пишем. Ще се спра по -задълбочено в последния раздел.

Стъпка 3: Софтуер (2)

Софтуер (2)
Софтуер (2)

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

github.com/belsh/RFID_MEGA/blob/master/mfr….

Стъпка 4: RFID; Обяснено

RFID; Обяснено
RFID; Обяснено

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

Принципът на работа на RFID комуникацията е доста ясен. Антената на четеца (в нашия случай антената на RC522 е вградена структура, наподобяваща намотка на лицето), която ще изпраща радиовълни, които от своя страна ще задействат бобина в картата/етикета (в непосредствена близост) и че преобразуваното електричество ще се използва от транспондера (устройство, което приема и излъчва радиочестотни сигнали) в рамките на картата, за да изпраща обратно информацията, съхранявана в нея, под формата на повече радиовълни. Това е известно като backscatter. В следващия раздел ще обсъдя специфичната структура от данни, използвана от картата/маркера за съхраняване на информация, която можем да четем или да пишем.

Стъпка 5: RFID; Обяснено (2)

RFID; Обяснено (2)
RFID; Обяснено (2)

Ако погледнете горната част на изхода на нашия скрипт, качен по -рано, ще забележите, че типът на картата е PICC 1 KB, което означава, че има 1 KB памет. Тази памет е разпределена в структура от данни, съставена от 16 сектора, които носят 4 блока, всеки от които носи 16 байта данни (16 x 4 x 16 = 1024 = 1 KB). Последният блок във всеки сектор (AKA Sector Trailer) ще бъде запазен за предоставяне на достъп за четене / / запис на останалата част от сектора, което означава, че имаме само първите 3 блока, с които да работим по отношение на съхранението и четенето на данни.

(Забележка: първият блок от сектор 0 е известен като Производителски блок и съдържа жизненоважна информация, като например данни на производителя; промяната на този блок може напълно да заключи картата ви, така че бъдете внимателни, когато се опитвате да записвате данни в нея)

Честито калайджия.

Препоръчано: