RFID замок на Arduino.
Это второе видео из серии про «ВСЁ ПРО RFID«. Надеюсь, что вы посмотрели моё видео про «Технологии RFID» RFID RC522 Подключение к Ардуино. И теперь мы можем переходить от теории к практике. Сегодня мы соберём систему доступа и сигнализации.
Она работает так.
Если для номера карты прописано разрешение, то загорится зелёный светодиод и откроется электронный замок.
Если это чужая карта, то загорится красный светодиод и замок не сработает.
Для начала нам надо скачать библиотеку для работы с модулем RC522. Она называется MFRC522.h
Установить библиотеку можно 2-мя способами.
Самый простой – это из самой программы ARDUINO IDE
2 способ
Думаю, что с этим проблем нет. Если что не понятно, то можете посмотреть моё видео.
После установки заходим в Примеры.
С библиотекой нам прилетело много примеров.
Начнём с Firmware_check.
Этот пример проверяет сам модуль RC522. Он показывает версию и ошибки если они есть.
Другой пример DumpInfo.
Этот пример показывает полную информацию про карту RFID.
Здесь можно посмотреть данные записанные в сектора и блоки карты. Ну это всё мы знаем из предыдущего урока.
Давайте рассмотрим первые 5 строчек.
- В первой строчке
мы видим версию прошивки. В моём случае – это версия 2.0 - В третьей строчке выводится номе карты, UID в шестнадцатеричной системе счисления .
- В четвёртой строчке цифра 08 говорит нам о том, что карта принадлежит семейству MIFARE Classic 1 k.
- В пятой строчке тип карты.
Дальше идёт таблица секторов и блоков со всеми данными и в самом конце, в нулевом секторе мы снова видим UID карты и данные о производителе чипа.
Всё это мы изучили в первой части. Если не смотрели видео этого урока, то советую посмотреть.
Номер карты в этом примере как я сказал хранится в шестнадцатеричной системе счисления, но для простоты понимания для нас привычнее десятеричная система, вот её я и буду использовать в своём примере.
Рассмотрим подключение модуля RFID RC522 к Ардуино.
Как подключать модуль я уже показывал в предыдущем видеоуроке, поэтому просто покажу схему подключения модуля RFID без объяснений, чтобы не тратить время.
Расскажу только про дополнительный обвес.
- Пищалку-Buzzer я подключил в пину 2 Ардуино
- Светодиод RGB я подключил к пинам 3,4 и 5.
- Электро-замок к пину 6.
Так как замок питается от напряжения 12 Вольт я использую дополнительный источник напряжения.
Что будет не понято спрашивайте в комментариях.
Я создал массив куда буду вставлять номера ключей, а в цикле буду просто перебирать их.
Здесь я вывожу ключи в десятеричной системе. Если вместо DEC написать HEX, то будут выводиться в шестнадцатеричной.
Подносим брелок к считывателю, скетч проверяет номер ключа с условиями доступа. Если ключ совпадает, доступ разрешён.
Если карты нет в условии то прозвучит сигнал, загорится красный светодиод, а замок не открывается.
Количество ключей неограниченно, в пределах разумного конечно.
Рассмотрим скетч примера.
Для работы нам нужно знать UID карты. Его можно узнать можно узнать, поднеся карту к считывателю. Я для этого специально оставил вывод информации в монитор порта.
Теперь зная номер карты можно приступать.
В примере я использую RGB светодиод и электро-замок.
Если номер карты совпадает с прописанным в скетче, то доступ разрешён и загорается Зелёный свет, и на замок подаётся напряжение и он срабатывает.
Потом через 5 секунд, светодиод гаснет и напряжение с замка снимается.
Если номер не соответствует скетчу, то загорается Красный свет и звучит сигнал из пищалки длительностью 1 секунда, и замок не сработает. После модуль готов к приёму новой карты.
Я специально написал такой скетч, где номера надо вводить всего в 1 месте и больше ничего менять не надо. Это очень удобно.
Посмотрев видео вы увидите как это всё работает.
Там я поочерёдно добавляю UID карты, и можно посмотреть как меняется принцип работы.
Сначала доступ разрешён всего одному ключу, а именно брелоку.
Все остальные не пройдут аутентификацию и раздастся сигнал.
И так далее.
Как видите нет ничего сложного в добавлении новой карты.
А это всего 2 урок. Самое интересное будет в следующих уроках. Так что если заинтересовались, то не забывайте ставить лайк, а кто ещё не подписался, то сейчас самое время.
До встречи в новых уроках. В следующем уроке я расскажу как записывать на карту Фамилию и Имя, а также любую информацию. Будем делать именные карты.
Электромеханический замок с электронной картой доступа
Взгляните на классический RFID замок (Radio Frequency IDentification, RFID, РЧИД, радиочастотная идентификация). Раньше он был вестником далекого будущего, теперь он стал чем-то обыденным. В этой статье вы узнаете, как сделать электронный замок на Ардуино, который откроется по мановению РЧИД-карты!
Мы запрограммируем список катр-«ключей», которые будут открывать замок определённый период времени. Хотя проект достаточно простой, нужно будет немного переделать дверной косяк, поэтому будьте готовы поработать с деревом, если хотите, чтобы запорная планка была утоплена максимально.
Шаг 1: Список компонентов
Здесь список рекомендованных для этого проекта компонентов, если хотите, можете взять другую модификацию контроллера, реле или совместимые РЧИД-чипы, но лучше взять RFIDuino Shield, чтобы код, который будет дан ниже работал без осечек.
- RFIDuino Shield V1. 2 шилд с антенной
- Geekduino или другой совместимый с Arduino микроконтроллер
- RobotGeek Relay Board релейная панель
- Врезной соленоидный электронный замок или электромеханическая защелка (не забывайте, что я даю вам только примеры возможных компонентов, они могут не подойти конкретно вашей двери. Когда будете выбирать электромеханическую защелку, обратите внимание на пометку NO (normally open – блокировка в открытом положении. Это значит, что при открытом положении защелки ваша дверь фиксируется и вы можете не бояться отключения электричества)
- 3хконтактный провод для датчика
- 6В блок питания
- подходящий блок питания для соленоидного замка (в случае с подключаемым к сети замком нужен 12В блок)
- провод микро-USB для вашего Geekduino или другого совместимого с Arduino микроконтроллера
- совместимые РЧИД-чипы
- коннектор-разветвитель для микроконтроллеров с креплением разъема на панели
- соединительный изолирующий зажим, изолента, припой
Хочу упомянуть, что соленоидный замок требует дополнительного питания для открывания двери.
Шаг 2: Определяем идентификаторы
Подключите ваш RFIduino как показано на схеме.
Откройте программу [RFIDuino_helloworld] на компьютере. Этот скетч вы можете найти здесь:
File>Examples>RFIDuino>RFIDuino_helloworld
Вы должны убедиться, что код подходит для вашего шилда RFIduino.
Оба кода доступны в скетче программы RFIDuino_helloworld, просто раскомментируйте ненужный код. Соедините ваш компьютер и Geekduino кабелем микро-USB. Загрузите RFIDuino_helloworld3 на вашу плату, с помощью кнопки загрузки в программе Arduino IDE.
После загрузки не отсоединяйте USB-кабель от компьютера, по нему будет идти питание на плату и проходить обмен данными с компьютером.
Откройте последовательный монитор
Tools -> Serial Monitor
Последовательному монитору оставьте дефолтные настройки («Нет конца строки», 9600 бод).
Пронесите чип над антенной. Должен загореться зеленый огонек и раздаться звуковой сигнал.
На последовательном мониторе появятся пять чисел, они являются идентификационным номером (идентификатором) вашей метки.
Скопируйте номер для дальнейшего использования. Возможно, будет удобнее записать его на стикере. Для следующего шага вам понадобится как минимум один идентификатор.
Шаг 3: Подключаем соленоидный электронный замок и активируем карты к нему
Соедините компоненты в указанном (на рисунке) порядке.
Откройте RFIDuino_demo3_lockbox_multi на вашей плате/компьютере, адресный путь к нему:
File>Examples>RFIDuino>RFIDuino_demo3_lockbox_multi
Убедитесь, что код подходит для комплектующих вашего RFIduino.
Оба кода есть в скетче RFIDuino_demo3_lockbox_multi, ненужный код раскомментируйте.
1,2В шилд идет в комплекте с набором апппаратуры для экспериментирования (RFID Experimenter’s Kit).
Измените код в соответствии с числом РЧИД-карт у вас на руках.
#define NUMBER_OF_CARDS 3 //total numer of key cards that the system will respond to
Также вам нужно изменить скетч, чтобы учесть идентификаторы меток, которые вы хотите активировать. Эти идентификаторы находятся с помощью программы Hello World, найдите блок кодов, начинающийся на строке 62, он выглядит так:
byte keyTag[NUMBER_OF_CARDS][5] ={ {0,0,0,0,0}, //Tag 1 //commenting each tag with a description can help you keep track of them {0,0,0,0,0}, //Tag 2 {0,0,0,0,0}, //Tag 3 {0,0,0,0,0},//Tag 4 };
Внесите идентификаторы ваших меток. Допустим, у вас три метки, тогда ваш код будет выглядеть так:
byte keyTag[NUMBER_OF_CARDS][5] ={ {77,0,44,22,242}, //Tag 1 //commenting each tag with a description can help you keep track of them {200,1,4,98,236}, //Tag 2 {23,64,4,25,1}, //Tag 3 };
Соедините компьютер и Geekduino кабелем микро-USB. Загрузите RFIDuino_demo3_lockbox_multi на вашу плату с помощью кнопки загрузки в программе Arduino IDE. После загрузки отсоедините кабель микро-USB от компьютера.
Пронесите любую из меток-ключей над антенной RFIDuino. Загорится зеленый огонек и раздастся звуковой сигнал из трех разных нот. Также сработает соленоид замка.
Пронесите любую метку, не являющуюся ключом, над антенной RFIDuino. Загорится красный огонек, раздастся тройной звуковой сигнал на одной ноте. Соленоид не отреагирует.
Шаг 4: Монтируем замок
После того, как правильно запрограммируете электромеханический замок, и он будет узнавать карты-ключи, можно устанавливать его в дверной косяк. У нас дверь с металлическим косяком и стеклянным полотном, поэтому я просто закрепил считыватель чипов за стеклом. Возможно, вы захотите установить антенну в корпус, защищающий от непогоды, для удобства доступа, и оставить микроконтроллер и всю электронику в помещении для безопасности.
По установке электронной врезной планки есть много инструкций в открытом доступе. Могу лишь посоветовать устанавливать планку так плотно к стене, как это возможно, и быть осторожными с протягиванием проводов через стену.
Шаг 5: Установленный замок
Теперь, когда у вас есть микроконтроллер, отвечающий за пропуск в дом, вы можете придумать, что к нему можно добавить. Например, клавиатуру для введения кодовой комбинации, или встроенного Bluetooth-модуля, чтобы открывать дверь смартфоном – вариантов множество.
Дверной замок RFID с использованием Arduino
Здравствуйте,
В этом уроке мы изучим основы радиочастотной идентификации (RFID). И мы собираемся научиться делать дверной замок с помощью RFID-метки и Arduino.
Оборудование, необходимое для изготовления дверного замка с помощью ArduinoАрдуино Уно
Комбинированный RFID
Сервопривод
Проволочные перемычки
Arduino IDE
Радиочастотная идентификация (RFID) — это беспроводное использование радиочастотных волн для передачи данных. Использование RFID-меток позволяет пользователям автономно и однозначно идентифицировать и отслеживать инвентарь и активы. RFID делает технологию авто-идентификации намного более осуществимой, позволяя считывать метки без прямой видимости и, в зависимости от типа RFID, имея диапазон считывания от нескольких сантиметров до более чем 20+ метров.
RFID претерпел множество нововведений с момента своего первого использования для идентификации самолетов как друзей или врагов во время Второй мировой войны. Технология не только продолжает совершенствоваться из года в год, но и становится все более экономичной с каждым днем, что делает RFID более рентабельным и эффективным.
Типы систем RFIDActive: Активные метки RFID — это метки, имеющие внутренний источник питания. Обычно это означает, что они будут иметь увеличенный диапазон. Активные теги обычно имеют увеличенный диапазон и более крупные компоненты. Они издают «чирп» с фиксированным интервалом, который может быть прочитан метками считывателя на большом расстоянии. Активные теги, как правило, больше, дороже и имеют меньший срок службы, чем пассивные теги.
Частоты RFIDRFID также можно разделить на разные частоты. Некоторые системы предназначены для чтения одного тега за раз, а другие предназначены для чтения нескольких тегов одновременно.
Полоса частот | Диапазон чтения | Данные и скорость | Использование |
Низкая частота (125 кГц — 134 кГц) | От коротких до средних 3–5 футов | Низкая скорость — Малые данные | — Мечение животных — Управление запасами |
Высокая частота (13,56 МГц) | Короткий 1-3 фута | Средняя скорость — объем данных от малого до среднего | — Смарт-карты — Карты близости |
Очень высокая частота (433 МГц) | Высота 1–1000 футов | Высокая скорость — Большой объем данных | — Отслеживание активов — Отслеживание местоположения |
Сверхвысокая частота (860 МГц — 960 МГц) | Средний 1-30 футов | Высокая скорость — объем данных от малого до среднего | — Маркировка уровня поддона или ящика |
Микроволновая частота (2,45 ГГц и 5,4 ГГц) | Высота 1–300 футов | Высокая скорость — средний объем данных | — Контейнерный вагон — Платные автомобильные дороги |
Микро сервопривод 9G — это легкий, качественный и очень быстрый серводвигатель. Этот сервопривод предназначен для работы с большинством систем радиоуправления. Он идеально подходит для небольших проектов робототехники. Мини-сервопривод SG90 с аксессуарами идеально подходит для дистанционно управляемых вертолетов, самолетов, автомобилей, лодок и грузовиков.
Принципиальная схема
Принципиальная схема дверного замка показана ниже. В данном случае мы используем протокол SPI для связи между RC522 и Arduino Uno.
Батарея 9 В не показана на схеме, но вы можете просто подключить положительную клемму к Vin, а отрицательную клемму к GND.
Соединения между RC522 RFID и Arduino Uno
Контакты на RC522 | контакта на Arduino |
ВКЦ | 3,3 В |
РСТ | 9 |
ЗЕМЛЯ | ЗЕМЛЯ |
МИСО/СКЛ/Ткс | 12 |
МОСИ | 11 |
СКК | 13 |
СС/СДА/Ркс | ЗЕМЛЯ |
Соединения между сервоприводом и Arduino Uno
штифты на сервоприводе | контакта на Arduino |
Красный | 5В |
Черный | ЗЕМЛЯ |
Желтый | 3 |
На элементарном уровне системы RFID состоят из трех основных компонентов: метки RFID или смарт-этикетки, считывателя RFID и антенны. Метки RFID содержат микросхему и антенну, которые используются для передачи данных на считывающее устройство RFID (также называемое запросчиком). Каждая метка RFID имеет свой ключ. Поэтому, когда считыватель сканирует метку RFID, он пытается определить, соответствует ли ключ метки авторизованному ключу. Если ключ совпадает, то ему можно присвоить определенную функцию. Это должно быть сделано с помощью изменений в коде в Arduino IDE.
Итак, как только ключ совпадает, считыватель RFID отправляет сигнал на плату Arduino. Плата, в свою очередь, посылает еще один сигнал микросервоприводу SG90. Микросервопривод прикреплен к дверной ручке таким образом, что всякий раз, когда сервопривод вращается, дверь открывается.
Код Arduino для дверного замка RFID можно скачать здесь.
Загрузить код. Прикрепите Arduino, аккумулятор и сервопривод к внутренней стороне двери. И прикрепите считыватель RFID к внешней стороне двери. Таким образом, метку RFID можно использовать для легкого открытия двери.
В зависимости от окружающих условий и настроек вы можете столкнуться с различными типами проблем. Вот некоторые способы устранения проблемы, с которой вы можете столкнуться:
Избегайте радиопомех – Любые другие устройства, излучающие радиочастоты, в зоне действия вашей системы могут негативно повлиять на работу системы RFID, особенно если они работают в том же диапазоне. Наличие нескольких считывателей RFID рядом друг с другом может вызвать помехи в системе.
Используйте регулируемый источник питания — В большинстве электронных систем шумные или грязные источники питания могут вызвать изменение в работе RFID-системы. Рекомендуется использовать чистые регулируемые источники питания.
Проверьте, открыта ли линия прямой видимости — показания на открытом воздухе без других объектов, препятствующих прямой видимости между считывателем и меткой, могут улучшить результаты.
Используйте другую внешнюю антенну. Встроенные антенны ограничены по мощности и радиусу действия. Использование внешней антенны может увеличить мощность и радиус действия
Не держите метки в руках (УВЧ-системы) — Люди на 70 % состоят из воды. Если вы держите метку в руке, вы значительно сократите диапазон чтения. Вместо этого прикрепите бирку к неметаллическому и непроницаемому для воды устройству.
Изменить типы тегов. Как правило, чем меньше тег, тем короче диапазон считывания. Если вы используете стеклянную капсулу, попробуйте кнопку. Если вы используете кнопку, попробуйте карту.
Поздравляем, ваш дверной замок RFID готов к использованию!
Дверной RFID-замок на базе Arduino
Электронные дверные замки более безопасны, чем обычные дверные замки. В таких дверных замках нет возможности взлома, так как весь механизм электронный. Такие дверные замки имеют базовую встроенную систему контроля доступа, которая, как правило, непроницаема. В электронных дверных замках используется несколько систем контроля доступа. Наиболее распространенными системами контроля доступа, используемыми в электронных замках, являются PIN-код (персональный идентификационный номер), отпечаток пальца и RFID.
Системы контроля доступа по отпечаткам пальцев предпочтительны только для решений с высокой степенью безопасности или личной безопасности, они очень персонализированы и являются дорогостоящими. PIN и RFID являются экономически эффективными решениями, применимыми к системам общего доступа, таким как гостиничные номера, классы и офисы. Из этих двух систем контроля доступа RFID обеспечивают более высокий уровень безопасности и предлагают более широкое применение. Например, решения RFID можно использовать одновременно для контроля доступа и контроля посещаемости в школах/колледжах.
В этом проекте мы разрабатываем систему дверных замков с радиочастотной идентификацией и изучаем различные способы создания запорного механизма.
Необходимые компоненты
- Arduino UNO/Arduino Mega x1
- RC522 RFID-считыватель x1
- MFRC522 RFID-карты/метки x2
- SSD1306 OLED-дисплей x1
- Релейный модуль и электромагнитный замок или серводвигатель x1
- Соединительные провода/перемычки
Соединения цепей
Система дверных замков состоит из двух важных цепей – системы контроля доступа и запорного механизма. Для системы контроля доступа здесь используется RFID. В этом дверном замке используется считыватель RFID RC522 для чтения карт RFID, совместимых с MIFARE и NTAG. Каждый замок пропускает доступ только к одной RFID-карте, поэтому всем остальным картам доступ запрещен. Систему также можно запрограммировать на предоставление дополнительного доступа к мастер-карте, которую можно использовать вместо утерянной карты. Пользовательский интерфейс разработан с использованием OLED-дисплея SSD1306. Таким образом, полная система контроля доступа разработана путем сопряжения считывателя RFID RC522 и OLED-дисплея SSD1306 с Arduino UNO.
Считыватель RFID RC522 взаимодействует с Arduino по протоколу SPI. Следующие соединения схемы выполнены для взаимодействия считывателя RFID с Arduino UNO. Чтобы узнать больше о считывании RFID-карт с помощью RC522, перейдите по этой ссылке.
OLED-дисплей SSD1306 взаимодействует с Arduino по протоколу I2C. Чтобы узнать больше о взаимодействии OLED-дисплея SSD1306 с Arduino с использованием последовательного интерфейса I2C, перейдите по этой ссылке. Для сопряжения SSD1306 с Arduino выполняются следующие схемные соединения.
Принципиальная схема системы доступа RFID на основе Arduino
Механизм блокировки может быть построен двумя различными способами. Замок своими руками можно сконструировать с помощью серводвигателя одним методом. Если запирающий механизм построен с использованием серводвигателя, для управления ему требуется вывод ШИМ на Arduino.
Рекомендуется, чтобы сервопривод был снабжен отдельным источником питания с использованием батарей, поскольку колебания мощности серводвигателя могут повредить плату Arduino.
Во втором способе замок может быть выполнен с помощью электромагнитного замка. В этом случае управлять замком можно с помощью любого GPIO на Arduino через релейный модуль.
Принципиальная схема дверного замка RFID на базе Arduino с сервоприводом.
Само реле разделяет источники питания Arduino и соленоида.
Эскиз Arduino (контроль доступа RFID)
Принцип работы системы доступа RFID
Считыватель RFID, использованный для разработки этого дверного замка, — RC522. Этот считыватель RFID может считывать RFID-карты, совместимые с MIFARE и NTAG. Карты RFID имеют либо 7-байтовый уникальный идентификационный номер (UID), либо 4-байтовый неуникальный идентификационный номер (NUID). Даже если используются карты NUID, почти нет возможности получить две карты с одинаковым NUID. Системы запирания сконструированы таким образом, что идентификационный номер отсканированной карты не разглашается в процессе контроля доступа. Даже если доступ к идентификатору карты осуществляется с другого устройства, получить RFID-карту с тем же идентификационным номером невозможно.
Когда карта RFID сканируется с помощью RC522, он считывает NUID/UID конкретной карты. Отсканированный NUID сравнивается с предварительно сохраненным идентификационным номером системы дверного замка. Если идентификатор отсканированной карты совпадает с запрограммированным идентификатором, на OLED-дисплее отображается приветственное сообщение. Если идентификатор отсканированной карты не совпадает с запрограммированным идентификатором, дверь остается незапертой, а на OLED-дисплее отображается сообщение об отказе в доступе. В то же время дверь отпирается либо вращением сервопривода в случае самодельного сервозамка, либо активацией реле в случае соленоидного замка. Замок запрограммирован на пропуск доступа только к одной RFID-карте.
Код
Скетч начинается с импорта библиотеки SPI и MFRC522 для работы со считывателем RC522. В этом проекте используется библиотека Arduino MFRC522 от miguelbalboa, доступная на Github. Загрузите библиотеку в виде ZIP-файла. Перейдите к Sketch->Include Library->Add .ZIP Library в Arduino IDE. Выберите файл rfid-master.ZIP, и библиотека для RC522 будет добавлена в среду Arduino.
Затем следует импорт библиотек Wire, Adafruit_GFX и Adafruit_SSD1306 для работы с SSD1306 OLED. Эти библиотеки можно легко найти в менеджере библиотек.
Затем определяются константы для соединений схемы с OLED-дисплеем и создается экземпляр класса Adafruit_SSD1306. Определены константы для соединений цепи с RC522, и создан объект класса MFRC522. Определена переменная для хранения ключа MIFARE. Массив байтов ‘nuidPICC[]’ определен для хранения 4 байтов RFID NUID. Переменные объявлены для хранения строковых представлений NUID в десятичном и шестнадцатеричном форматах. Точно так же определяется переменная для хранения строкового представления ключа MIFARE. Растровое изображение хранится в PROGMEM для лога сайта, и для него определяется массив.
В функции setup() скорость передачи данных для последовательной связи установлена на 9600 бит/с. OLED-дисплей инициализируется вызовом метода display.begin(SSD1306_SWITCHCAPVCC), а дисплей мигает вызовом метода display.display(). Протокол SPI инициализируется вызовом метода SPI.begin(). Модуль RFID инициализирует метод PCD_Init() для объекта RFID. Байты ключа MIFARE устанавливаются в FF и сохраняются в строковом представлении в верхнем регистре. Ключ MIFARE публикуется в Serial Monitor. OLED-дисплей очищается, а логотип сайта мигает.
В функции loop() некоторые начальные сообщения сначала выводятся на экран. Карта/ключ/метка RFID обнаруживается путем вызова метода PICC_IsNewCardPresent() для объекта RFID. Затем NUID/UID карты считывается путем вызова метода PICC_ReadCardSerial() для объекта RFID. Тип карты MIFARE определяется с помощью метода PICC_GetType(rfid.uid.sak) и отображается на последовательном мониторе. Затем осуществляется доступ к отдельным байтам NUID с использованием свойства rfid.uid.uidByte[]. Сначала байты сериализуются в десятичном формате и преобразуются в строковый объект. Строка, содержащая десятичное представление NUID, публикуется в Serial Monitor. Затем байты сериализуются в шестнадцатеричном формате и преобразуются в строковый объект. Строка, содержащая шестнадцатеричное представление NUID, публикуется на последовательном мониторе.
Прочитанные байты NUID сохраняются в массиве символов. Этот массив символов сравнивается с предопределенным NUID с помощью определяемой пользователем функции compareNUID(). Функция возвращает логическое значение, используемое для определения контроля доступа. Если отсканированный NUID совпадает с запрограммированным ID, на OLED-экране отображается сообщение о предоставлении доступа. Если отсканированный NUID не соответствует запрограммированному ID, на OLED-экране отображается сообщение об отказе в доступе.
Читатель останавливается от чтения карты, вызывая метод PICC_HaltA() для объекта RFID. Наконец, шифрование останавливается вызовом метода PCD_StopCrypto1() для объекта RFID.
Функция loop() использует две определяемые пользователем функции — printtext() и compareNUID(). Функция printtext() предназначена для отображения сообщений на OLED-экране. Функция compareNUID() предназначена для сравнения отсканированных карт с запрограммированным идентификатором.
Сборка и управление запорным механизмом
Электронный запирающий механизм может быть выполнен несколькими способами. Здесь мы обсудим два способа. В первом способе мы можем создать замок с сервоприводом своими руками. Сервопривод остается на 0 градусов в разблокированном положении и поворачивается на 90 градусов в закрытом положении. Его вывод данных должен быть подключен к выводу PWM Arduino для управления сервоприводом.