Съдържание:

Урок за заключване на RFID за Arduino: 6 стъпки (със снимки)
Урок за заключване на RFID за Arduino: 6 стъпки (със снимки)

Видео: Урок за заключване на RFID за Arduino: 6 стъпки (със снимки)

Видео: Урок за заключване на RFID за Arduino: 6 стъпки (със снимки)
Видео: Web Programming - Computer Science for Business Leaders 2016 2024, Ноември
Anonim
Image
Image
Урок за заключване на RFID за Arduino
Урок за заключване на RFID за Arduino
Урок за заключване на RFID за Arduino
Урок за заключване на RFID за Arduino

Скъпи приятели, добре дошли в друг Instructable. Това е Ник от edu8s.tv и днес ще научим как да използваме този RFID четец с Arduino, за да изградим проста система за заключване.

За първи път ще използваме RFID тагове с Arduino. Изградих прост проект, който чете Unique ID (UID) на всеки RFID таг, който поставяме близо до четеца, и го показва на този OLED дисплей. Ако UID на етикета е равен на предварително определена стойност, която се съхранява в паметта на Arduino, тогава на дисплея ще видим съобщението „Отключено“. Ако уникалният идентификатор на картата не е равен на предварително зададената стойност, съобщението за отключване няма да се появи. Готино нали?

Има много за покриване, така че нека започнем!

Стъпка 1: Вземете всички части

Вземете всички части
Вземете всички части

Частите, необходими за изграждането на този проект, са следните:

  • Arduino Uno ▶
  • RFID четец ▶
  • OLED дисплей ▶
  • Малка дъска ▶
  • Някои проводници ▶

Допълнителни части:

Powerbank ▶

Общата стойност на проекта е около 15 долара.

Стъпка 2: RFID четецът RC522

RFID четецът RC522
RFID четецът RC522
RFID четецът RC522
RFID четецът RC522
RFID четецът RC522
RFID четецът RC522
RFID четецът RC522
RFID четецът RC522

Всеки RFID етикет има малък чип вътре. Ако поставя фенерче под тази RFID карта, можете да видите малкия чип и бобината, която го заобикаля. Този чип няма батерия, за да получи захранване. Той получава захранване от четеца, това устройство, използвайки безжично тази голяма бобина. Читателят може да прочете RFID карта като тази от разстояние до 20 мм!

Същият чип съществува и в RFID таговете за ключодържатели.

Всеки RFID таг има уникален номер, който го идентифицира. Това е UID, който показваме на OLED дисплея. С изключение на този UID, всеки маркер може да съхранява данни. В този тип карти можем да съхраняваме до 1K данни! Впечатляващо нали? Няма да използваме тази функционалност днес, но ще го направим в бъдеще Instructable. Днес всичко, което ни интересува, е да идентифицираме конкретна карта по нейния UID. Цената на RFID четеца и тези две RFID карти е около $ 4.

Стъпка 3: OLED дисплей

Image
Image
Свържете всички части
Свържете всички части

Това е много хубав дисплей за използване с Arduino. Това е OLED дисплей и това означава, че има ниска консумация на енергия. Консумацията на енергия на този дисплей е около 10-20 mA и зависи от това колко пиксела са осветени.

Дисплеят е с резолюция 128 × 64 пиксела и е малък по размер. Има два варианта на дисплея. Единият от тях е монохромен, а другият като този, който използвам, може да показва два цвята, жълт и син. Горната част на екрана може да показва само жълто, долната част само синьо.

Този OLED дисплей е много ярък и има страхотна библиотечна поддръжка. Adafruit разработи много хубава библиотека за този дисплей. В допълнение към това, дисплеят използва интерфейса I2C, така че връзката с Arduino е невероятно лесна. Трябва само да свържете два проводника, с изключение на Vcc и GND. Ако сте нов в Arduino и искате евтин и лесен за използване дисплей, който да използвате с вашия проект, започнете с display. Това е най -лесният начин да добавите дисплей към вашия проект Arduino. Подготвих подробен урок за това как да използвам този дисплей, който съм приложил към тази инструкция.

Стъпка 4: Свържете всички части

Свържете всички части
Свържете всички части
Свържете всички части
Свържете всички части
Свържете всички части
Свържете всички части

Връзката с дъската Arduino Uno е много проста. Първо, нека свържем захранването както на четеца, така и на дисплея.

Внимавайте, RFID четецът трябва да бъде свързан към 3.3V изхода на Arduino Uno или ще бъде унищожен. Тъй като дисплеят може да работи и при 3.3V, свързваме Vcc от двата модула към положителната шина на макетите. След това тази релса е свързана към 3.3V изхода на Arduino Uno. След това свързваме двата GND към основната GND шина. След това свързваме GND шината на макета към Arduino GND.

OLED дисплей - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Аналогов извод 5

SDA ▶ Аналогов извод 4

RFID четец - Arduino

RST ▶ Цифров извод 9

IRQ ▶ Без връзка

MISO ▶ Цифров извод 12

MOSI ▶ Цифров извод 11

SCK ▶ Цифров извод 13

SDA ▶ Цифров извод 10

Модулът за четене на RFID използва SPI интерфейса, за да комуникира с Arduino. Така че ще използваме хардуерните SPI щифтове на Arduino UNO. ПИН RST преминава към цифров пин 9. IRQ щифт остава несвързан. ПИН MISO отива към цифров пин 12. MOSI щифт отива към цифров пин 11. SCK пин отива към цифров пин 13 и накрая, SDA пин отива към цифров пин 10. Това е всичко. RFID четецът е свързан. Сега трябва да свържем OLED дисплея с Arduino, използвайки интерфейса I2C. И така, SCL щифтът на дисплея отива към Analog Pin 5 и SDA pin на дисплея към Analog Pin 4. Ако сега включим проекта и поставим RFID карта близо до четеца, можем да видим, че проектът работи добре! Сега е време да разгледаме кода на проекта.

Стъпка 5: Кодът на проекта

Кодът на проекта
Кодът на проекта

За да се компилира кода на проекта, трябва да включим някои библиотеки. На първо място, имаме нужда от библиотеката MFRC522 Rfid. За да го инсталирате, отидете на Sketch -> Include Libraries -> Manage libraries. Потърсете MFRC522 и го инсталирайте. Също така се нуждаем от библиотеката Adafruit SSD1306 и библиотеката Adafruit GFX за дисплея. Инсталирайте двете библиотеки със същата процедура. Библиотеката Adafruit SSD1306 се нуждае от малка модификация. Отидете в папката Arduino -> Библиотеки, отворете папката Adafruit SSD1306 и редактирайте библиотеката Adafruit_SSD1306.h. Ред за коментар 70 и ред за разкоментиране 69. Нашият дисплей има разделителна способност 128x64, това е, което определяме тук. Сега сме готови да разгледаме набързо кода.

Отначало декларираме стойността на RFID етикета, който искаме Arduino да разпознае. Това е масив от цели числа.

int код = {69, 141, 8, 136}; // Това е съхраненият UID

След това инициализираме RFID четеца и дисплея.

rfid. PCD_Init (); display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

След това във функцията цикъл проверяваме за маркер на четеца на всеки 100 ms.

Ако има маркер на четеца, четем неговия UID и го отпечатваме на дисплея. След това сравняваме UID на маркера, който току -що прочетохме, със стойността, която се съхранява в променливата на кода. Ако стойностите са еднакви, показваме съобщението UNLOCK, в противен случай не показваме това съобщение.

if (съвпадение) {Serial.println ("\ nЗнам тази карта!"); printUnlockMessage (); } else {Serial.println ("\ nНеизвестна карта"); }

Разбира се, можете да промените този код, за да съхранявате повече от 1 UID стойности, за да може проектът да разпознава повече RFID тагове.

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

Стъпка 6: Последни мисли и подобрения

Заключителни мисли и подобрения
Заключителни мисли и подобрения

Както можете да видите с много ниска цена, можем да добавим RFID четец към нашите проекти. Можем лесно да изградим система за сигурност с четец като този или да изградим по -забавни проекти.

Основното ми намерение е да създам някои интерактивни игри за деца, използващи този RFID четец и много RFID тагове. В бъдеще видео ще се опитаме също да запишем и прочетем данни от RFID етикет. На този етап бих искал да чуя вашето мнение за този четец на RFID карти. Планирате ли да го използвате в някой от вашите проекти? Моля, публикувайте коментари или идеи в този раздел за коментари по -долу, благодаря!

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