ВВЕДЕНИЕ
Модуль RFID - это универсальный считыватель RFID карт и брелков. Скорее всего, вы неоднократно встречались с такими карточками. Чаще всего — в виде офисного пропуска. Другой яркий пример — бесконтактные билеты для прохода в метро.
Базовый принцип действия довольно прост для понимания. В карточке и в считывателе есть антенны, при этом сигнал считывающего устройства (электромагнитное поле) одновременно служит источником питания для карточки. Т.е. и в части энергетики, и в части передачи данных это очень похоже на ставшие сверхпопулярными беспроводные зарядки.
Сами же карточки, в зависимости от модификации, могут нести в себе от нескольких десятков байт до нескольких килобайт данных (в том числе — уникальный серийный номер). Также, в зависимости от модификации, карточка может быть укомплектована криптографической защитой информации.
ПАРАМЕТРЫ
- Напряжение 3.3V.
- Потребляемый ток в активном состоянии - 13-26 мА.
- Потребляемый ток в состоянии ожидания - 10-13 мА.
- Ток в режиме сна - менее 80 мкА.
- Пиковое потребление - менее 30 мА.
- Рабочая частота - 13.56 МГц
- Поддержвиаемые типы карт : MIFARE S50, MIFARE S70, MIFARE UltraLight, MIFARE Pro, MIFARE DESfire
- Интерфейс - SPI
КАК ПОДКЛЮЧИТЬ
- Подключите считывающий модуль к разъёмам SPI вышей Arduino, как показано на рисунку ниже.
- Подайте питание 5 Вольт.
- Поднесите карточку и считайте данные с неё.
ПРИМЕР КОДА
В данном примере кода считываются данные с карточки.
#include <spi.h>#include <rfid.h> #define SS_PIN 10 #define RST_PIN 9 RFID rfid(SS_PIN, RST_PIN); int serNum0; int serNum1; int serNum2; int serNum3; int serNum4; void setup() { Serial.begin(9600); SPI.begin(); rfid.init(); } void loop() { // Если обнаружена карта if (rfid.isCard()) { // Считываем адрес if (rfid.readCardSerial()) { // Выводим его в порт в десятичном представлении Serial.println("Card number:"); Serial.print(rfid.serNum[0],DEC); Serial.print(", "); Serial.print(rfid.serNum[1],DEC); Serial.print(", "); Serial.print(rfid.serNum[2],DEC); Serial.print(", "); Serial.print(rfid.serNum[3],DEC); Serial.print(", "); Serial.print(rfid.serNum[4],DEC); Serial.println(" "); } } rfid.halt(); }
КОМПЛЕКТ
- RFID модуль RC522 x1
- RFID брелок x1
- RFID карточка x1
- Разъём под пайку x2