RFID – технология бесконтактного чтения и записи меток. Помимо комплектных меток, данный модуль читает и некоторые другие бесконтактные карты (банковские, проездные, пропускные и т.д.), их тоже можно использовать в своих проектах для организации доступа (замок, система хранения как в спортзалах, система охраны) или создания игровых устройств.
![]() |
В наборе GyverKIT | START | IOT | EXTRA |
---|---|---|---|---|
RFID набор | ✔ |
Подключение к Arduino #
Модуль подключается по шине SPI, а также требует два дополнительных цифровых пина на управление SDA (выполняет роль CS) и RST:
- SDA – любой пин
- SCK – (SCLK) D13
- MOSI – (MOSI) D11
- MISO – (MISO) D12
- GND – GND
- RST – любой пин
- 3.3V – 3V3
Библиотеки #
Для работы с этим модулем используется библиотека MFRC522, можно установить/обновить из встроенного менеджера библиотек Arduino по названию MFRC522. Краткая документация находится по ссылке выше, базовые примеры есть в самой библиотеке.
MFRC522 #
Библиотека довольно сложна в использовании, особенно для чтения и записи хранящейся на метке информации. Но все метки имеют свой уникальный ID – идентификационный номер (4-10 байт), у большинства меток он жёстко задан и его нельзя изменить, что и можно использовать для идентификации. Простой пример чтения ID метки как 4-байтного числа:
#include <MFRC522.h>
MFRC522 rfid(10, 9); // SDA, RST
void setup() {
Serial.begin(115200);
SPI.begin(); // запуск шины
rfid.PCD_Init(); // инициализация модуля
}
void loop() {
// если поднесена метка
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
// запишем метку в 4 байта
uint32_t ID;
for (byte i = 0; i < 4; i++) {
ID <<= 8;
ID |= rfid.uid.uidByte[i];
}
// выведем
Serial.println(ID, HEX);
delay(500);
}
}
В таком виде ID метки удобно хранить и сравнивать, но большинство карт имеют ID большего размера (до 10 байт), для работы с полной длиной нужно оперировать массивом rfid.uid.uidByte
. Реальный размер прочитанного ID кстати можно узнать из rfid.uid.size
.
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками