🛒
0 товар.
0 руб.
Логотип

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

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

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

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

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

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

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

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

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

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

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

Скетч

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

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

#define SS_PIN 10
#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();
  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; // сверяем каждый байт
  }

  if (match) {
    digitalWrite(relayPin, HIGH); // открываем
    delay(2000);
    digitalWrite(relayPin, LOW);  // закрываем обратно
  }

  rfid.PICC_HaltA();
}
                

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

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

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

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

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

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

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

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

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

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

Корзина

Поиск


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