Рейтинг@Mail.ru
Считыватель RFID RC522 с картой и брелком
Считыватель RFID RC522 с картой и брелком

Как подключить RFID считыватель RC522 к Arduino

В этой статье мы рассмотрим подключение к Arduino считывателя карт и брелоков RFID RC522, работающего на частоте 13,56 МГц.

Вам понадобится

  • Arduino;
  • считыватель RFID RC522;
  • беспроводная RFID метка или обычный билет на метро/наземный транспорт;
  • компьютер;
  • соединительные провода.

Инструкция по подключению считывателя беспроводных радиометок RFID-RC522 к Arduino

1Описание считывателяRFID RC522

Модуль RFID-RC522 выполнен на микросхеме MFRC522 фирмы NXP. Эта микросхема обеспечивает двухстороннюю беспроводную (до 6 см) коммуникацию на частоте 13,56 МГц.

Беспроводной модуль RFID-RC522
Беспроводной модуль RFID-RC522

Микросхема MFRC522 поддерживает следующие варианты подключения:

ИнтерфейсСкорость передачи
SPI (Serial Peripheral Interface, последовательный интерфейс для связи периферийных устройств)до 10 Мбит/сек;
двухпроводной интерфейс I2Cдо 3400 кбод в режиме High-speed,
до 400 кбод в режиме Fast;
последовательный UART (аналог RS232)до 1228,8 кбод.

С помощью данного модуля можно записывать и считывать данные с различных RFID-меток: брелоков от домофонов, пластиковых карточек-пропусков и билетов на метро и наземный транспорт, а также набирающих популярность NFC-меток.

RFID – это сокращение от "Radio Frequency IDentification" и переводится как «радиочастотная идентификация».
NFC – это "Near field communication", «коммуникация ближнего поля» или «ближняя бесконтактная связь».

2Схема подключения RFID-RC522 к Arduino

Подключим модуль RFID-RC522 к Arduino по интерфейсу SPI по приведённой схеме.

Схема подключения RFID-RC522 к Arduino по интерфейсу SPI
Схема подключения RFID-RC522 к Arduino по интерфейсу SPI

Питание модуля обеспечивается напряжением от 2,5 до 3,3 В. Остальные выводы подключаем к Arduino так:

Пин RC522Пин Arduino
RSTD9
SDA (SS)D10
MOSID11
MISOD12
SCKD13

Не забывайте также, что Arduino имеет специальный разъём ICSP для работы по интерфейсу SPI. Его распиновка также приведена на иллюстрации. Можно подключить выводы RST, SCK, MISO, MOSI и GND модуля RC522 к разъёму ICSP на Ардуино.

3Библиотека для работы Arduino с RFID

Микросхема MFRC522 имеет достаточно обширную функциональность. Познакомиться со всеми возможностями можно изучив её паспорт (datasheet). Мы же для знакомства с возможностями данного устройства воспользуемся одной из готовых библиотек, написанных для работы Arduino с RC522. Скачайте её и распакуйте в директорию Arduino IDE\libraries\

Установка библиотеки rfid-master для работы Arduino с RFID-метками
Установка библиотеки "rfid-master" для работы Arduino с RFID-метками

После этого запустите среду разработки Arduino IDE.

4Скетч для считывания информации, записанной на RFID-метке

Теперь давайте откроем скетч из примеров: Файл Образцы MFRC522 DumpInfo и загрузим его в память Arduino.

Открываем скетч DumpInfo
Открываем скетч DumpInfo

Данный скетч определяет тип приложенного к считывателю устройства и считывает данные, записанные на RFID-метке или карте, а затем выводит их в последовательный порт.

#include <SPI.h>
#include <MFRC522.h>

const int RST_PIN = 9; // пин RST
const int SS_PIN = 10; // пин SDA (SS)

MFRC522 mfrc522(SS_PIN, RST_PIN); // создаём объект MFRC522

void setup() {
	Serial.begin(9600); // инициализация послед. порта
	SPI.begin(); // инициализация шины SPI
	mfrc522.PCD_Init(); // инициализация считывателя RC522
}

void loop() {
	// Ожидание прикладывания новой RFID-метки:
	if ( ! mfrc522.PICC_IsNewCardPresent()) {
		return; // выход, если не приложена новая карта
	}

	// Считываем серийный номер:
	if ( ! mfrc522.PICC_ReadCardSerial()) {
		return; // выход, если невозможно считать сер. номер
	}

	// Вывод дампа в послед. порт:
	mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

Текст скетча достаточно хорошо прокомментирован.

Для более полного знакомства с библиотекой изучите файлы MFRC522.h и MFRC522.cpp из директории rfid-master.

5Дамп данных с RFID-метки

Запустим монитор последовательного порта сочетанием клавиш Ctrl+Shift+M, через меню Инструменты или кнопкой с изображением лупы. Теперь приложим к считывателю билет метро или любую другую RFID-метку. Монитор последовательного порта покажет данные, записанные на RFID-метку или билет.

Считываем данные с билета на наземный транспорт и метро с помощью RFID
Считываем данные с билета на наземный транспорт и метро с помощью RFID

Например, в моём случае здесь зашифрованы уникальный номер билета, дата покупки, срок действия, количество оставшихся поездок, а также служебная информация. Мы разберём в одной из будущих статей, что же записано на карты метро и наземного транспорта.

Примечание

Да, с помощью модуля RFID-RC522 можно записать данные на билет метро. Но не обольщайтесь, каждая карта имеет неперезаписываемый счётчик циклов записи, так что «добавить» поездок себе на метро не получится – это сразу будет обнаружено и карта будет забракована турникетом :) А вот использовать билеты метро для записи на них небольших объёмов данных – от 1 до 4 кб – можно. И способы применения этому ограничены только вашей фантазией.

Последнее изменениеСреда, 06 Январь 2016 16:54
(7 голосов)
Прочитано 12612 раз
Теги :

Поделиться

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены