RFID RC522: чтение и запись меток для Arduino своими руками
Модуль RFID RC522 читает и записывает метки на 13.56 МГц в проектах Arduino, IoT и умного дома. Подходит для контроля доступа, учёта времени, идентификации объектов и бесконтактных платежей. Библиотека MFRC522 упрощает работу.
На базе чипа MFRC522, поддержка MIFARE. Дальность до 5 см, интерфейс SPI. Важно: питание 3.3 В.
Необходимые компоненты
- Модуль 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).
Как это работает
- Метка в зоне антенны активируется полем.
- RC522 читает UID или данные по SPI.
- Библиотека MFRC522 обрабатывает команды.
- Запись/аутентификация с ключами.
Пример кода
// Чтение 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();
}
}
Постоянно проверяет наличие новой метки.
Если метка обнаружена, выводит её 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. Популярен для самодельных замков и терминалов.