Урок 31: Модуль RFID RC522

1. Введение

RFID (Radio Frequency IDentification) — технология автоматической идентификации объектов с помощью радиосигналов. Система состоит из ридера (считывателя) и RFID-метки (карты или брелка). Модуль RC522 — популярное решение для Arduino, работает по интерфейсу SPI и позволяет считывать UID меток стандарта MIFARE.

Внешний вид модуля RFID RC522

2. Необходимое оборудование

Кол-во

Деталь

1

Плата Arduino UNO

1

Модуль RFID RC522

7

Перемычки

1

USB-кабель

3. Спецификация

Параметр

Значение

Напряжение питания

3.3В

Ток потребления

13–26 мА (рабочий), 10–13 мА (ожидание), <80 мкА (сон)

Пиковый ток

<30 мА

Рабочая частота

13.56 МГц

Поддержка карт

mifare1 S50/S70, UltraLight, Pro, Desfire

Рабочая температура

-20…+80°C

Интерфейс

SPI

Дальность считывания

до 5 см

4. Подключение

Схема подключения RC522 к Arduino
  • SDA (SS) — D10

  • SCK — D13

  • MOSI — D11

  • MISO — D12

  • RST — D9

  • 3.3V — 3.3V Arduino

  • GND — GND Arduino

5. Пример кода

rfid_rc522_module.ino
////////////////////////////////////////////////////////////////////////////////
//RFID MFRC522

#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
unsigned long uidDec, uidDecTemp;
void setup() {
  Serial.begin(9600);
  Serial.println("Waiting for card...");
  SPI.begin();
  mfrc522.PCD_Init();
}
void loop() {
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
  }
  uidDec = 0;
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
    uidDecTemp = mfrc522.uid.uidByte[i];
    uidDec = uidDec * 256 + uidDecTemp;
  }
  Serial.println("Card UID: ");
  Serial.println(uidDec);
}
////////////////////////////////////////////////////////////////////////////////

6. Результат теста

После загрузки кода и подключения модуля, поднесите RFID-карту или брелок к антенне. В серийном мониторе появится UID метки.

7. Частые ошибки

  • Нет реакции — проверьте питание (только 3.3В!) и правильность подключения SPI.

  • UID не читается — используйте совместимые метки (MIFARE).

  • Дальность мала — не экранируйте антенну, не держите карту слишком быстро.

8. Практические задачи

  • Система доступа по RFID (замок, дверь, шлагбаум).

  • Учёт посещаемости (школа, офис).

  • Идентификация пользователей в проектах Arduino.

9. Идеи для расширения

  • Запись данных на карту (библиотека MFRC522 поддерживает запись).

  • Управление устройствами по UID (разные действия для разных карт).

  • Передача UID на сервер или в облако (IoT).


Подробнее о модуле RC522: https://randomnerdtutorials.com/security-access-using-mfrc522-rfid-reader-with-arduino/