Общие сведения
RFID-модуль RC522 Mini читает и записывает бесконтактные метки на 13,56 МГц стандарта ISO/IEC 14443 A (MIFARE). Микросхема та же, что у обычного синего RC522, а плата заметно меньше: её проще спрятать в корпус замка, шкафчика или игрушки, которая узнаёт карточки.
С одной стороны платы антенна с надписью MINI RFID-RC522, с другой микросхема и восемь выводов в ряд: SDA, SCK, MOSI, MISO, IRQ, GND, RST и 3V3. Гребёнок в комплекте две, прямая и угловая, паять их нужно самому. Угловая пригодится, если модуль встаёт антенной к стенке корпуса.
Характеристики
- Частота: 13,56 МГц, метки ISO/IEC 14443 A (MIFARE);
- Питание: 3,3 В (микросхема по даташиту работает от 2,5 до 3,6 В);
- Потребление: в обычной работе меньше 100 мА;
- Интерфейс: SPI;
- Дальность: по даташиту до 50 мм, но она зависит от размера антенны. У Mini антенна меньше, чем у обычного RC522, и метку подносят ближе.
Цифры взяты из даташита NXP на микросхему MFRC522.
Подключение
Входы микросхемы по даташиту выдерживают не больше, чем напряжение питания плюс 0,5 В. Сигналы 5 В от Arduino Uno, Nano и Mega для неё великоваты, поэтому между ними ставят преобразователь уровней. У него четыре канала, как раз на SDA, SCK, MOSI и RST, и свой стабилизатор на 150 мА, от которого можно питать и сам модуль. MISO идёт от модуля к Arduino напрямую: 3,3 В Uno читает как единицу. ESP32 и другие платы на 3,3 В соединяют с модулем без преобразователя.
| RC522 Mini | Arduino Uno | ESP32 |
|---|---|---|
| SDA | 10 (через преобразователь) | 5 |
| SCK | 13 (через преобразователь) | 18 |
| MOSI | 11 (через преобразователь) | 23 |
| MISO | 12 | 19 |
| RST | 9 (через преобразователь) | 22 |
| GND | GND | GND |
| 3V3 | 3,3 В от преобразователя | 3V3 |
| IRQ | не нужен | не нужен |
Нужна библиотека MFRC522, она ставится через менеджер библиотек Arduino IDE. Скетч печатает в монитор порта номер (UID) поднесённой метки: по этому номеру обычно и решают, «свой» человек или нет.
#include <SPI.h>
#include <MFRC522.h>
MFRC522 rfid(10, 9); // выводы SDA и RST (для ESP32 — 5 и 22)
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
Serial.println("Поднесите метку");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) return; // метки рядом нет
if (!rfid.PICC_ReadCardSerial()) return; // не прочиталась
Serial.print("UID:");
for (byte i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
rfid.PICC_HaltA(); // «усыпить» метку, чтобы не читать её по кругу
}Откройте монитор порта на скорости 9600 и поднесите карту или брелок плашмя к стороне с антенной.
Если метка не читается
- Брелоки и карты на 125 кГц (домофонные EM-Marin, T5577) RC522 не видит: у них другая частота. Для них есть RDM6300.
- Металл рядом с антенной гасит поле. Не кладите модуль на металлическую панель и не закрывайте антенну металлом.
- На вывод 3V3 нельзя подавать 5 В: по даташиту питание микросхемы не должно превышать 4 В.
Что пригодится вместе
- Преобразователь уровней 5 В — 3 В — для Arduino Uno, Nano и Mega;
- RFID-брелок 13,56 МГц — запасные метки;
- Провода «папа-мама» — от гребёнки модуля к Arduino.
Комплектация
- 1× RFID-модуль RC522 Mini;
- 1× карта и 1× брелок на 13,56 МГц;
- 2× гребёнка на 8 выводов (прямая и угловая).

















