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

Создание надежного RFID-замка на Arduino — пошаговое руководство

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

Примерная стоимость проекта — около $15.

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

  • Arduino IDE — для написания и загрузки кода

О проекте

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

Шаг 1: Подготовка компонентов

Вам понадобятся перечисленные выше детали. RFID-считыватель RC522 поставляется обычно с двумя метками: картой и брелоком. Обе содержат чип с уникальным UID и памятью на 1 Кбайт (в этом проекте память не используется).

Шаг 2: Принцип работы RFID-считывателя RC522

В каждой RFID-метке находится миниатюрный чип и антенная катушка. Чип не имеет собственного питания — он получает энергию от считывателя по индукции через катушку. Расстояние считывания составляет до 20 мм. Каждая метка имеет уникальный 4-байтовый UID, который мы и будем использовать для идентификации.

Шаг 3: OLED-дисплей 128×64 (I2C)

Этот дисплей на контроллере SSD1306 потребляет всего 10–20 мА, имеет высокий контраст и подключается всего по двум сигнальным проводам (SDA, SCL) благодаря интерфейсу I2C. Существует двухцветная версия (желтый/синий) и монохромная. Для работы используется библиотека Adafruit_SSD1306 и Adafruit_GFX.

Шаг 4: Подключение всех модулей

Важно: RFID-модуль RC522 работает от 3.3 В. Подача 5 В приведет к его выходу из строя. OLED-дисплей также совместим с 3.3 В, поэтому оба модуля запитываем от вывода 3.3V Arduino.

Схема подключения:

МодульВыводArduino UNO
OLED (I2C)VCC3.3V
GNDGND
SCLA5 (Analog Pin 5)
SDAA4 (Analog Pin 4)
RC522 (SPI)RSTD9
IRQНе подключен
MISOD12
MOSID11
SCKD13
SDA (SS)D10
VCC3.3V
GNDGND

Шаг 5: Программный код

Для компиляции требуются библиотеки:

  • MFRC522 (устанавливается через менеджер библиотек)
  • Adafruit_SSD1306 и Adafruit_GFX

В библиотеке Adafruit_SSD1306 нужно отредактировать файл Adafruit_SSD1306.h: закомментировать строку 70 и раскомментировать строку 69 (определение разрешения 128×64).

Основные фрагменты кода:

// Заданный UID разрешенной метки (пример)
int code[] = {69, 141, 8, 136}; 

// Инициализация в setup()
rfid.PCD_Init();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

// В loop() каждые 100 мс проверяем наличие метки
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
  // Сравниваем UID с эталоном
  bool match = true;
  for (byte i = 0; i < 4; i++) {
    if (rfid.uid.uidByte[i] != code[i]) { match = false; break; }
  }
  if (match) {
    Serial.println("I know this card!");
    printUnlockMessage(); // Вывод "Unlocked" на дисплей
  } else {
    Serial.println("Unknown Card");
  }
}

Полный скетч (RFID.ino) доступен в разделе «Code» проекта. Вы можете расширить массив code для хранения нескольких разрешенных UID.

Шаг 6: Заключение и идеи для улучшения

Проект демонстрирует низкобюджетное внедрение RFID в DIY-системы безопасности. На этой базе можно построить:

  • Контроллер доступа с логированием событий на SD-карту
  • Интерактивные игры для детей с множеством RFID-меток
  • Систему учета рабочего времени (см. проект ID 1010016367)
  • Чтение/запись пользовательских данных в память метки (1 КБ)

Стоимость компонентов минимальна, а возможности — огромны. Экспериментируйте!

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

  1. Надёжный RFID-замок на Arduino с RC522 (MIFARE 13.56 МГц) и сервоприводом
  2. Проект датчика отпечатков пальцев на Arduino Nano – Пошаговое руководство
  3. Создание мини-пианино на Arduino UNO — пошаговое руководство
  4. Создание портативного RFID-замка на Arduino — пошаговое руководство
  5. Защита ПК RFID-замком на реле: Arduino-проект
  6. Интеграция HID Prox RFID (Wiegand) с Arduino UNO — пошаговое руководство
  7. Сетевой RFID-считыватель на Arduino, ENC28J60 Ethernet и MFRC522
  8. RFID-замок для Windows: мгновенная блокировка/разблокировка ПК
  9. Мастер-класс по многопоточности Arduino с протопотоками: пошаговое руководство
  10. Урок Arduino для начинающих 01: Начало работы с первым проектом