Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Учебное пособие по блокировке RFID для Arduino

Компоненты и расходные материалы

Arduino UNO
× 1
Считыватель RFID (общий)
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

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

Впервые мы собираемся использовать RFID-метки с Arduino. Я создал простой проект, который считывает уникальный идентификатор (UID) каждой метки RFID, которую мы помещаем рядом с устройством чтения, и отображает его на этом OLED-дисплее. Если UID тега равен предопределенному значению, которое хранится в памяти Arduino, то на дисплее мы увидим сообщение «Разблокировано». Если уникальный идентификатор карты не равен предварительно заданному значению, сообщение о разблокировке не появится. Круто, не правда ли?

Так что давайте начнем!

Шаг 1. Получите все детали

Детали, необходимые для создания этого проекта, следующие:

  • Arduino Uno ▶ https://store.arduino.cc/arduino-uno-rev3
  • Считыватель RFID ▶ http://educ8s.tv/part/RFID
  • OLED-дисплей ▶ http://educ8s.tv/part/OLED096
  • Маленькая макетная плата ▶ http://educ8s.tv/part/SmallBreadboard
  • Некоторые провода ▶ http://educ8s.tv/part/Wires

Дополнительные детали:

  • Powerbank ▶ http://educ8s.tv/part/Powerbank

Общая стоимость проекта составляет около 15 долларов.

Шаг 2. RFID-считыватель RC522

Внутри каждой RFID-метки есть небольшой чип. Если я помещу фонарик под эту RFID-карту, вы увидите небольшой чип и катушку, которая его окружает. В этом чипе нет батареи для получения питания. Он получает питание от считывающего устройства, этого устройства, по беспроводной сети с помощью этой большой катушки. Считыватель может считывать такую ​​RFID карту с расстояния до 20 мм!

Такой же чип присутствует и в RFID-метках цепочки для ключей.

Каждая метка RFID имеет уникальный номер, который ее идентифицирует. Это UID, который мы отображаем на OLED-дисплее. За исключением этого UID, каждый тег может хранить данные. В этом типе карт мы можем хранить до 1К данных! Впечатляет, не правда ли? Сегодня мы не будем использовать эту функцию, но сделаем это в будущем руководстве. Сегодня все, что нас интересует, - это идентифицировать конкретную карту по ее UID. Стоимость считывателя RFID и этих двух карт RFID составляет около 4 долларов.

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

Это очень хороший дисплей для использования с 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 макетной платы. Затем мы подключаем шину GND макета к GND Arduino.

OLED-дисплей - Arduino

Vcc ▶ 3,3 В

ЗЕМЛЯ ▶ ЗЕМЛЯ

SCL ▶ Аналоговый вывод 5

SDA ▶ Аналоговый вывод

Считыватель 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.

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

RFID.ino

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

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

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

Код

  • RFID.ino
  • Фрагмент кода №3
RFID.ino Arduino
 Нет предварительного просмотра (только загрузка). 
Фрагмент кода № 3 Обычный текст
 if (match) {Serial.println ("\ nЯ знаю эту карту!"); printUnlockMessage (); } else {Serial.println ("\ nНеизвестная карта"); } 

Производственный процесс

  1. RFID-замок Arduino с RC522 - протокол MIFARE 13,56 МГц
  2. Учебное пособие по датчику отпечатков пальцев Arduino
  3. Учебное пособие по Arduino:мини-пианино
  4. Идея DIY с RFID
  5. RFID + реле + RFID код дверного замка =RFID-переключатель ПК!
  6. HID Prox RFID для Arduino
  7. Считыватель карт Arduino Ethernet Rfid
  8. Блокировка / разблокировка ПК с Windows с помощью RFID
  9. Как многопоточно на Arduino (Учебное пособие по протопоточности)
  10. Учебник по Arduino 01:Начало работы