В технологии радиочастотной идентификации (radio frequency identification, RFID) используются радиоволны для автоматической идентификации физических объектов. RFID является примером технологии автоматической идентификации (automatic identification, Auto-ID), с помощью которой можно идентифицировать физический объект. Технология RFID является лидирующей технологией в разработке автоматизированных ситсем проезда. Таким образом, является актуальным изучение принципов работы с RFID, например, на базе платформы Arduino.
Рассмотрим как генерировать события в плате Arduino в случае чтения допустимого радиомаркера. В скетч будут вписаны идентификационные числа одного из радиомаркеров. Далее к нашей плате Arduino UNO будет подключен сервопривод. Для управления сервоприводом, нам понадобится скетч, в котором мы прописывали идентификационные числа радиомаркера и добавим библиотеку Servo. Затем, в функции void setup(), этому экземпляру сообщается, какой контакт на плате Arduino должен использоваться для управления сервоприводом: myservo.attach(7); // контакт 7 управляет сервоприводом. Далее мы вписываем команду для поворачивания сервопривода: myservo.write(x); где x - целое число в диапазоне от 0 до 180 градусов - угол. И когда мы поднесем радиомаркер идентификационный номер которого внесен в скетч, то наш сервопривод повернется на указанный нами градус поворота. Для иллюстрации работы с RFID-модулем создадим проект, который моделирует действие открытия шлагбаума при считывании верного кода RFID.
Необходимое оборудование:
Arduino UNO;
RFID-модуль RC522;
RFID-метки;
сервопривод;
провода папа-мама;
провода папа-папа;
зуммер пьезоэлектрический;
макетная плата;
кабель подключения Arduino UNO к компьютеру;
светодиод.
Arduino Uno контроллер построен на базе программируемого контроллера ATmega328. Плата имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки (рис. 1).
Рисунок 1.Arduino UnoR3
Радиочастотная идентификация (RFID) – это технология бесконтактной идентификации объектов при помощи радиочастотного канала связи. Идентификация объектов производится по уникальному идентификатору, который имеет каждая электронная метка. Считыватель излучает электромагнитные волны определенной частоты. Метки отправляют в ответ информацию – идентификационный номер, данные памяти (рис. 2).
Рисунок 2.RFID-модуль RC522
RFID-метки – это миниатюрное запоминающее устройство, они состоят из микрочипа, они способны хранить и передавать данные. В памяти меток содержится их уникальный идентификационный код. Метки некоторых типов имеют перезаписываемую память (рис. 3).
Рисунок 3. RFID-метки
Сервопривод Ардуино (англ. arduino servo) – устройство с электрическим мотором, которое по команде может выполнить поворот вала на определенный угол и оставить в этом положении на определенное время (рис. 4).
Рисунок 4. Микросервопривод SG90
Набор соединительных Dupont проводов для Ардуино проектов. Тип разъемов на концах проводов Папа-Мама.
Провода отлично подходят для быстрого макетирования различных проектов и устройств на базе Arduino контроллеров. При этом не требуется использовать паяльник(рис. 5).
Рисунок 5. Набор проводов «Папа-Мама»
Набор соединительных Dupont проводов для Ардуино проектов. Тип разъемов на концах проводов Папа-Папа (рис. 6).
Рисунок 6. Набор проводов «Папа-Папа»
Пьезоэлектрический зуммер (или просто пьезозуммер) – это маленькое устройство в цилиндрическом корпусе, который можно использовать для подачи громких и раздражающих звуковых сигналов, например для предупреждения об открытии замка или закрытии (рис. 7).
Рисунок 7.Зуммер пьезоэлектрический
Для конструирования электрических систем необходима основа, на которую будут монтироваться электронные компоненты. Для этой цели отлично подходит макетная плата для навесного (беспаечного) монтажа. Плата имеет пластиковую основу с рядами гнезд, имеющих пружинные клеммы (рис. 8).
Рисунок 8. Макетная плата
Для подключения Arduino к компьютеру потребуется соответствующий кабель. В нашем случае для подключения Arduino UNO, нам потребуется USB-кабель типа AF-BF (рис. 9).
Рисунок 9. Кабель подключения ArduinoUNO к компьютеру
Светодиоды (LED) – это LED индикатор, имеющий разные цвета, необходим для того, чтобы была визуализация процесса работы какой-либо программы на Arduino (рис.10).
Рисунок 10. Светодиод
Для реализации проекта нам необходимо установить библиотеки: RFIDLibraryforMFRC522.
Сборка:
1) RFID-модуль RC522 подключается к arduino проводами Папа-Мама в следующей последовательности:
Таблица 1
Подключение RFID-модуль RC522 к Arduino UNO
Контакт MFRC522 |
Контакт Arduino Uno |
Описание |
RST |
9 |
Контакт RST (линия сброса) подключаем к пину №9 платы ArduinoUNO |
SDA(SS) |
10 |
Контакт SDA(SS) (выбор ведомого) подключаем к пину №10 платы ArduinoUNO |
MOSI |
11 (ICSP-4) |
Контакт MOSI (MasterOutputSlaveInput — данные от ведущего к ведомому) подключаем к пину №11 платы ArduinoUNO |
MISO |
12 (ICSP-1) |
Контакт MISO (MasterInputSlaveOutput — данные от ведомого к ведущему) подключаем к пину №12 платы ArduinoUNO |
SCK |
13 (ICSP-3) |
Контакт SCK (Serial Clock — тактовый сигнал) подключаем к пину №13 платы ArduinoUNO |
3.3V |
3.3V |
Контакт 3.3V (необходимое питание) подключаем к контакту 3.3V платы ArduinoUNO |
GND |
GND |
Контакт GND (Ground. Земля) подключаем к контакту GND платы ArduinoUNO |
2) Теперь нужно подключить зуммер, который будет подавать сигнал, когда RFID - метка с идентификационными числами поднесена верно и шлагбаум открывается, а второй сигнал, когда шлагбаум закрывается.
Таблица 2
Последовательность подключения зуммера к плате Arduino UNO.
Контакты зуммера |
Контакты Arduino |
Описание |
VCC |
5V |
Контакт VCC (вывод питания) подключаем к контакту № 5V платы ArduinoUNO |
GND |
GND |
Контакт GND (Ground. Земля) подключаем к контакту GND платы ArduinoUNO |
IO |
pin 4 |
Контакт IO (Питание необходимое для зуммера) подключаем к пину № 4 платы ArduinoUNO |
3) В роли отпирающего механизма будет использоваться сервопривод. Сервопривод может быть выбран любой, в зависимости от требуемых вам размеров и усилий, который создает сервопривод. У сервопривода имеется 3 контакта:
Таблица 3
Последовательность подключения сервопривода к плате Arduino UNO.
Контакты сервопривода |
Контакты Arduino |
Описание |
Красный (Центральный) |
5V |
Красный провод сервопривода (отвечает за питание сервопривода.) подключаем к контакту № 5V платы ArduinoUNO; |
Коричневый (Левый) |
GND |
Коричневый провод сервопривода (отвечает за заземление) подключаем к контакту № GND платы ArduinoUNO; |
Оранжевый (Правый) |
pin 6 |
Оранжевый провод сервопривода (подключается непосредственно к плате Arduino и предназначен для передачи управляющего сигнала) подключаем к пину № 6 платы Arduino UNO; |
Рисунок 11. Модель RFID-шлагбаума в сборке
Сервопривод рекомендуется питать от внешнего источника питания, если запитать сервопривод от Arduino, то могут возникнуть помехи и перебои в работе Arduino. Организовать это можно с помощью источника питания 9V и комбинированного стабилизатора 5V, 3.3V.
После сборки схемы необходимо написать программный код управления (рис. 12).
Рисунок 12. Скетч проекта
Для того, чтобы узнать идентификационный код карточки (Метки), нам необходимо записать наш скетч программы в Arduino, собрать схему модулей, изложенную выше, и открыть Консоль (Мониторинг последовательного порта). Когда вы поднесете RFID метку к RFID-модулю RC522, в консоли выведется номер (CardUID) (рис. 13).
Рисунок 13. Консоль с выводом идентификационного кода карточки
Полученный UID - код необходимо ввести в следующую строку скетча:
if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданному то сервопривод открывает.
У каждой карточки данный идентификационный код уникальный и не повторяется. Таким образом, когда вы поднесете карточку, идентификационный код которой вы задали в программе, система откроет шлагбаум с помощью сервопривода.
Рисунок 13. Модель RFID-шлагбаума
Список литературы
Проект 28: Считыватель RFID на примере RC522. принцип работы, подключение. [Электронный ресурс]. https://arduino-kit.ru/blogs/blog/project_28 (Дата обращения 03.12.2019).
Чтение и запись RFID меток [Электронный ресурс].https://arthurphdent.livejournal.com/1759.html (Дата обращения 04.12.2019).
Урок 6. Arduino считываем метки. [Электронный ресурс]. https://lesson.iarduino.ru/page/urok-6-arduino-schityvaem-metki-rfid-modul-rc522/ (Дата обращения 04.12.2019).
Урок 10. Контроль доступа. RFID - RC522 + Servo + Arduino. [Электронный ресурс]. https://lesson.iarduino.ru/page/kontrol-dostupa-rfid-rc522-servo-arduino/ (Дата обращения 04.12.2019).
RFID - метки и работа сними при помощи Arduino. [Электронный ресурс]. https://arduinka.pro/blog/podklyuchenie/rfid-metki-i-podkluchenie-k-arduino/ (Дата обращения 02.01.2019).
Читаем цифровой код с RFID карточек на Arduino. [Электронный ресурс]. http://kip-world.ru/chitaem-tsifrovoj-kod-s-rfid-kartochek-na-arduino.html (Дата обращения 02.01.2019).
Библиотеки Arduino [Электронный ресурс]. https://arduinomaster.ru/biblioteki-arduino/skachat-biblioteki-arduino/(Дата обращения 04.12.2019).
Считыватель карточек RFIDRC522. [Электронный ресурс]. https://mysku.ru/blog/aliexpress/23114.html (Дата обращения 02.01.2019).