Оглавление:

Учебное пособие по RFID-блокировке Arduino: 6 шагов (с изображениями)
Учебное пособие по RFID-блокировке Arduino: 6 шагов (с изображениями)

Видео: Учебное пособие по RFID-блокировке Arduino: 6 шагов (с изображениями)

Видео: Учебное пособие по RFID-блокировке Arduino: 6 шагов (с изображениями)
Видео: Набор Ардуино для начинающих 📟 с Алиэкспресс. Обзор набора модулей Arduino Unoдля обучения 2024, Ноябрь
Anonim
Image
Image
Учебное пособие по блокировке Arduino RFID
Учебное пособие по блокировке Arduino RFID
Руководство Arduino RFID Lock
Руководство Arduino RFID Lock

Дорогие друзья, добро пожаловать в очередной учебник. Это Ник из education8s.tv, и сегодня мы собираемся узнать, как использовать этот считыватель RFID с Arduino, чтобы построить простую систему блокировки.

Впервые мы собираемся использовать RFID-метки с Arduino. Я создал простой проект, который считывает уникальный идентификатор (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, каждый тег может хранить данные. В этом типе карт мы можем хранить до 1К данных! Впечатляет, не правда ли? Сегодня мы не будем использовать эту функцию, но сделаем это в будущем. Сегодня все, что нас интересует, - это идентифицировать конкретную карту по ее UID. Стоимость считывателя RFID и этих двух карт RFID составляет около 4 долларов.

Шаг 3: OLED-дисплей

Image
Image
Соединить все части
Соединить все части

Это очень хороший дисплей для использования с Arduino. Это OLED-дисплей, а это значит, что он имеет низкое энергопотребление. Потребляемая мощность этого дисплея составляет около 10-20 мА, и это зависит от количества горящих пикселей.

Дисплей имеет разрешение 128х64 точки и имеет крошечные размеры. Есть два варианта отображения. Один из них монохромный, а другой, как тот, который я использую, может отображать два цвета, желтый и синий. Верхняя часть экрана может отображаться только желтым цветом, нижняя часть - только синим.

Этот OLED-дисплей очень яркий и имеет отличную библиотечную поддержку. Adafruit разработала очень хорошую библиотеку для этого дисплея. В дополнение к этому дисплей использует интерфейс I2C, поэтому соединение с Arduino невероятно простое. Вам нужно только подключить два провода, кроме Vcc и GND. Если вы новичок в Arduino и хотите недорогой и простой в использовании дисплей для использования с вашим проектом, начните с дисплея. Это самый простой способ добавить дисплей в ваш проект Arduino. Я подготовил подробное руководство по использованию этого дисплея, которое я приложил к этому Руководству.

Шаг 4: соедините все части

Соединить все части
Соединить все части
Соединить все части
Соединить все части
Соединить все части
Соединить все части

Подключение к плате Arduino Uno очень простое. Сначала подключим питание как считывателя, так и дисплея.

Будьте осторожны, считыватель RFID должен быть подключен к выходу 3,3 В Arduino Uno, иначе он будет разрушен. Поскольку дисплей также может работать при напряжении 3,3 В, мы подключаем Vcc от обоих модулей к положительной шине макетной платы. Затем эта шина подключается к выходу 3,3 В Arduino Uno. Затем мы подключаем оба заземления к шине заземления макетной платы. Затем мы подключаем шину GND макета к GND Arduino.

OLED-дисплей - Arduino

Vcc ▶ 3,3 В

ЗЕМЛЯ ▶ ЗЕМЛЯ

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 дисплея переходит к аналоговому выводу 5, а вывод SDA дисплея - к аналоговому выводу 4. Если мы теперь включим проект и поместим RFID-карту рядом с считывателем, мы увидим, что проект работает нормально! Пришло время взглянуть на код проекта.

Шаг 5: Код проекта

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

Чтобы код проекта скомпилировался, нам нужно включить некоторые библиотеки. В первую очередь нам понадобится библиотека MFRC522 Rfid. Чтобы установить его, перейдите в Скетч -> Включить библиотеки -> Управление библиотеками. Найдите MFRC522 и установите его. Также нам понадобятся библиотека Adafruit SSD1306 и библиотека Adafruit GFX для дисплея. Установите обе библиотеки, выполнив одинаковую процедуру. Библиотека Adafruit SSD1306 нуждается в небольшой модификации. Перейдите в папку Arduino -> Libraries, откройте папку Adafruit SSD1306 и отредактируйте библиотеку Adafruit_SSD1306.h. Строка комментария 70 и строка раскомментирования 69. Наш дисплей имеет разрешение 128x64, это то, что мы здесь определяем. Теперь мы готовы взглянуть на код.

Сначала мы объявляем значение RFID-метки, которое мы хотим, чтобы Arduino распознала. Это массив целых чисел.

int code = {69, 141, 8, 136}; // Это сохраненный UID

Затем мы инициализируем считыватель RFID и дисплей.

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

После этого в функции цикла мы проверяем наличие тега на считывателе каждые 100 мс.

Если на считывателе есть тег, мы читаем его UID и выводим его на дисплей. Затем мы сравниваем UID тега, который мы только что прочитали, со значением, которое хранится в переменной кода. Если значения совпадают, мы отображаем сообщение РАЗБЛОКИРОВАТЬ, иначе мы не отображаем это сообщение.

if (match) {Serial.println ("\ nЯ знаю эту карту!"); printUnlockMessage (); } else {Serial.println ("\ nНеизвестная карта"); }

Конечно, вы можете изменить этот код, чтобы хранить более одного значения UID, чтобы проект мог распознавать больше RFID-тегов.

Это всего лишь пример. Как всегда, вы можете найти код проекта в приложении к этой инструкции.

Шаг 6: Заключительные мысли и улучшения

Заключительные мысли и улучшения
Заключительные мысли и улучшения

Как видите, при очень низкой стоимости мы можем добавить в наши проекты считыватель RFID. Мы можем легко построить систему безопасности с помощью такого ридера или построить больше интересных проектов.

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

Рекомендуемые: