🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


💳 Проект: считыватель RFID-карт для двери на RC522

Схема считывателя RFID-карт на RC522 для двери

RC522 считывает уникальный UID карты или брелока по SPI, Arduino сверяет его со списком разрешённых и на пару секунд включает реле замка.

Как это работает

RC522 — модуль на базе RFID-чипа MFRC522, который работает на частоте 13.56 МГц (это стандарт MIFARE, самый распространённый для карт доступа и проездных). Модуль создаёт вокруг антенны-катушки слабое электромагнитное поле; когда в это поле попадает пассивная карта или брелок без собственной батарейки, поле наводит в её встроенной катушке ток, которого хватает, чтобы чип карты "проснулся" и передал модулю свой уникальный идентификатор (UID) — обычно 4 или 7 байт, зашитых на заводе и неизменяемых.

Arduino получает этот UID от модуля по шине SPI (быстрый последовательный протокол, которым пользуются многие периферийные модули) и просто сравнивает полученные байты с заранее прописанным в коде "разрешённым" UID. Если совпадение есть — Arduino подаёт сигнал на модуль реле, которое физически замыкает контакты электромеханического замка на пару секунд, имитируя нажатие кнопки открытия двери.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Подключите RC522: SDA (иногда подписан SS) → D10, SCK → D13, MOSI → D11, MISO → D12, RST → D9.
  2. Питание RC522 — обязательно от 3.3V, а не от 5V: модуль не рассчитан на 5 вольт и может выйти из строя при подаче повышенного напряжения на VCC. GND → GND.
  3. Подключите модуль реле: сигнальный пин → D7, VCC и GND модуля реле — к 5V и GND Arduino (большинство модулей реле управляются 5-вольтовым сигналом, несмотря на то что сам RC522 работает от 3.3V).
  4. Подключите замок к контактам реле (COM и NO — "нормально разомкнут") согласно инструкции конкретного замка — для реальной двери эта часть схемы силовая и должна быть собрана отдельно и аккуратно.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <SPI.h>       // стандартная библиотека для шины SPI
#include <MFRC522.h>   // библиотека конкретно под чип RC522

#define SS_PIN 10   // пин SDA/SS модуля
#define RST_PIN 9   // пин сброса модуля
MFRC522 rfid(SS_PIN, RST_PIN); // создаём объект считывателя на этих пинах
const int relayPin = 7;        // пин управления реле
byte allowedUID[4] = {0xDE, 0xAD, 0xBE, 0xEF}; // впишите сюда UID своей карты (см. ниже как узнать)

void setup() {
  SPI.begin();       // запускаем шину SPI
  rfid.PCD_Init();   // инициализируем модуль считывателя
  pinMode(relayPin, OUTPUT);
}

void loop() {
  // если новой карты нет в зоне действия или не удалось прочитать её серийный номер — просто выходим
  if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) return;

  bool match = true;
  for (byte i = 0; i < 4; i++) {
    if (rfid.uid.uidByte[i] != allowedUID[i]) match = false; // сверяем каждый байт UID
  }

  if (match) {
    digitalWrite(relayPin, HIGH); // включаем реле — замок открывается
    delay(2000);                  // держим открытым 2 секунды
    digitalWrite(relayPin, LOW);  // закрываем обратно
  }

  rfid.PICC_HaltA(); // переводим карту в режим остановки, чтобы не читать её повторно без необходимости
}

Библиотека MFRC522 (от miguelbalboa) ставится через Менеджер библиотек Arduino IDE. Чтобы узнать UID своей карты — один раз запустите скетч без проверки совпадения и выведите `rfid.uid.uidByte` в Serial-монитор на скорости 9600, поднесите карту и спишите полученные 4 байта в `allowedUID`.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🔐 кодовый замок на клавиатуре 4×4 и реле📶 RFID-приветствие на RDM6300 с выводом на L… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 219 ₽ 197 ₽ (экономия 22 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA