RFID RC522: чтение и запись меток для Arduino своими руками

Модуль RFID RC522 читает и записывает метки на 13.56 МГц в проектах Arduino, IoT и умного дома. Подходит для контроля доступа, учёта времени, идентификации объектов и бесконтактных платежей. Библиотека MFRC522 упрощает работу.

На базе чипа MFRC522, поддержка MIFARE. Дальность до 5 см, интерфейс SPI. Важно: питание 3.3 В.

Rfid RC522 arduino

Необходимые компоненты

  • Модуль RFID RC522
  • Arduino (Uno, Nano или другая)
  • RFID-метки MIFARE
  • Провода, макетная плата

Подключение

  • VCC: К 3.3V Arduino.
  • GND: К GND Arduino.
  • RST: К цифровому пину (например, 9).
  • IRQ: Не обязателен (или к пину).
  • MISO: К пину 12 (Uno).
  • MOSI: К пину 11 (Uno).
  • SCK: К пину 13 (Uno).
  • SS/SDA: К пину 10 (Uno).

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

  1. Метка в зоне антенны активируется полем.
  2. RC522 читает UID или данные по SPI.
  3. Библиотека MFRC522 обрабатывает команды.
  4. Запись/аутентификация с ключами.

Пример кода

// Чтение UID метки
#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(9600);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("Поднесите метку...");
}

void loop() {
  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
    Serial.print("UID: ");
    for (byte i = 0; i < mfrc522.uid.size; i++) {
      Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
      Serial.print(mfrc522.uid.uidByte[i], HEX);
    }
    Serial.println();
    mfrc522.PICC_HaltA();
  }
}
Инициализирует RFID-модуль MFRC522 и SPI.
Постоянно проверяет наличие новой метки.
Если метка обнаружена, выводит её UID в Serial Monitor в шестнадцатеричном формате.
Завершает работу с меткой и ждёт следующую.

Разбор кода

MFRC522: Библиотека для RC522.
PICC_IsNewCardPresent(): Проверка метки.
PICC_ReadCardSerial(): Чтение UID.
Serial.print: Вывод в монитор.

Преимущества

  • Чтение/запись MIFARE меток.
  • Интерфейс SPI до 10 Мбит/с.
  • Низкое потребление 13–26 мА.
  • Дальность до 5 см.
  • Поддержка CRYPTO1.

Применение

  • Системы контроля доступа.
  • Учёт рабочего времени.
  • Идентификация в роботах.
  • Бесконтактные платежи.

Заключение

RC522 — мощный RFID-модуль для работы с метками в проектах Arduino. Он прост в интеграции и открывает возможности для систем идентификации. Подключите 3.3 В, добавьте метки и создайте свой доступ или учёт!

FAQ — RFID RC522 для Arduino

Что такое RFID RC522?

RFID RC522 — модуль на частоте 13.56 МГц для считывания и записи RFID-меток стандарта MIFARE. Используется с Arduino и другими микроконтроллерами для контроля доступа, идентификации и автоматизации.

Как подключить RC522 к Arduino?

Модуль подключается через интерфейс SPI: VCC — к 3.3 V, GND — к земле, RST — к D9, SDA/SS — к D10, MOSI — D11, MISO — D12, SCK — D13. Питание 5 В использовать нельзя, чтобы не повредить модуль.

Как работает RC522?

Модуль создаёт электромагнитное поле, активирует RFID-метку и обменивается данными через SPI. Библиотека MFRC522 выполняет чтение, аутентификацию и запись информации на карту или брелок.

Какую дистанцию считывания обеспечивает RC522?

Дальность считывания составляет примерно 2–5 см и зависит от размера антенны и типа метки. Крупные карты читаются лучше, чем маленькие брелоки.

Какие метки поддерживает модуль?

RC522 работает с RFID-метками стандарта MIFARE Classic на частоте 13.56 МГц. Он поддерживает чтение UID и хранение данных в секторах с аутентификацией.

Где применяется RFID RC522?

Модуль используется в системах доступа, учёта рабочего времени, робототехнике, автоматизации, идентификации предметов и учебных проектах IoT. Популярен для самодельных замков и терминалов.

📁 Скачать примеры