Вам понадобится
- - Arduino;
- - считыватель RFID RC522;
- - беспроводная RFID метка или обычный билет на метро/наземный транспорт;
- - компьютер;
- - соединительные провода.
Инструкция
1
Модуль RFID-RC522 выполнен на микросхеме MFRC522 фирмы NXP. Эта микросхема обеспечивает двухстороннюю беспроводную (до 6 см) коммуникацию на частоте 13,56 МГц. RFID - это сокращение от "Radio Frequency IDentification" и переводится как "радиочастотная идентификация".
Микросхема MFRC522 поддерживает следующие интерфейсы подключения:
- SPI (Serial Peripheral Interface, последовательный интерфейс для связи периферийных устройств), обеспечивает скорость передачи данных до 10 Мбит/сек;
- двухпроводной интерфейс I2C, скорость до 3400 кбод в режиме High-speed, до 400 кбод в режиме Fast;
- последовательный UART (аналог RS232), скорость до 1228,8 кбод.
С помощью данного модуля можно записывать и считывать данные с различных RFID-меток: брелков от домофонов, пластиковых карточек-пропусков и билетов на метро и наземный транспорт, а также набирающих популярность NFC-меток.
Микросхема MFRC522 поддерживает следующие интерфейсы подключения:
- SPI (Serial Peripheral Interface, последовательный интерфейс для связи периферийных устройств), обеспечивает скорость передачи данных до 10 Мбит/сек;
- двухпроводной интерфейс I2C, скорость до 3400 кбод в режиме High-speed, до 400 кбод в режиме Fast;
- последовательный UART (аналог RS232), скорость до 1228,8 кбод.
С помощью данного модуля можно записывать и считывать данные с различных RFID-меток: брелков от домофонов, пластиковых карточек-пропусков и билетов на метро и наземный транспорт, а также набирающих популярность NFC-меток.
2
Подключим модуль RFID-RC522 к Arduino по интерфейсу SPI по приведённой схеме.
Питание модуля обеспечивается напряжением от 2,5 до 3,3 В. Остальные выводы подключаем к Arduino так:
RST - D9;
SDA (SS) - D10;
MOSI - D11;
MISO - D12;
SCK - D13.
Не забывайте также, что Arduino имеет специальный разъём ICSP для работы по интерфейсу SPI. Его распиновка также приведена на иллюстрации. Можно подключить выводы RST, SCK, MISO, MOSI и GND модуля RC522 к разъёму ICSP на Ардуино.
Питание модуля обеспечивается напряжением от 2,5 до 3,3 В. Остальные выводы подключаем к Arduino так:
RST - D9;
SDA (SS) - D10;
MOSI - D11;
MISO - D12;
SCK - D13.
Не забывайте также, что Arduino имеет специальный разъём ICSP для работы по интерфейсу SPI. Его распиновка также приведена на иллюстрации. Можно подключить выводы RST, SCK, MISO, MOSI и GND модуля RC522 к разъёму ICSP на Ардуино.
3
Микросхема MFRC522 имеет достаточно обширную функциональность. Познакомиться со всеми возможностями можно, изучив её паспорт (datasheet). Мы же для знакомства с возможностями данного устройства воспользуемся одной из готовых библиотек, написанных для работы Arduino с RC522. В конце статьи можно найти ссылку на одну из библиотек, которая называется rfid. Скачайте её и распакуйте в директорию %Arduino IDE%/libraries/.
4
Теперь давайте откроем скетч из примеров: Файл -> Образцы -> MFRC522 -> DumpInfo и загрузим его в память Arduino. Данный скетч определяет тип приложенного к считывателю устройства и считывает данные, записанные на RFID-метке или карте, а затем выводит их в последовательный порт. Текст скетча достаточно хорошо прокомментирован разработчиками библиотеки "rfid", а также много полезной информации по работе с библиотекой содержится в файле MFRC522.h.
5
Запустим монитор последовательного порта сочетанием клавиш Ctrl+Shift+M, через меню Инструменты или кнопкой с изображением лупы. Теперь приложим к считывателю билет метро или любую другую RFID-метку. Монитор последовательного порта покажет данные, записанные на RFID-метку или билет. Например, в моём случае здесь зашифрованы уникальный номер билета, дата покупки, срок действия, количество оставшихся поездок, а также служебная информация. Мы разберём в одной из будущих статей, что же записано на карты метро и наземного транспорта.
Обратите внимание
Да, с помощью модуля RFID-RC522 можно записать данные на билет метро. Но не обольщайтесь, каждая карта имеет неперезаписываемый счётчик циклов записи, так что "добавить" поездок себе на метро не получится - это сразу будет обнаружено и карта будет забракована А вот использовать билеты метро для записи на них небольших объёмов данных - от 1 до 4 кб - можно. И способы применения этому ограничены только вашей фантазией.
Источники:
- Паспорт (datasheet) на микросхему MFRC522
- Библиотека для работы с RFID-RC522