Подключение RFID-модуля RC522 к Arduino

27-02-2020, 14:00 0 комментариев
Сегодня хотим поговорить с вами о том, как подключить RC522 к Ардуино и что это за технология в целом. RFID (в переводе означает радиочастотная идентификация) – метод обеспечения передачи, записи, чтения и хранения данных при помощи радиосигналов. Подобные системы обычно состоят из: считывателя и RFID-метки (в последней сохраняются данные), но и она имеет 2 компонента – интегральную схему и антенну.

RFID-модули довольно давно начали активно применяться в системах «умных» домов и устройств автоматизации, а также управления доступом (СКУД), розничной торговле, архивах (системах контроля), логистике, для идентификации людей, проверки подлинности товаров и т.д. Для работы они не требуют прямой видимости, могут быть задействованы в агрессивных средах, не поддаются подделыванию, кроме того, имеют длительный срок эксплуатации. Именно поэтому они присутствуют во многих актуальных проектах (RFID-брелки для домофонов и открытия дверей, бесконтактные карты и др).

Рассмотрим технические параметры считывателя RC522:
  • питание: 3.3 V;
  • потребляемый ток: 13-26 mA;
  • рабочая частота: 13.56 MHz;
  • дальность считывания: до 60 мм (бывают и до 25);
  • рабочая температура: от -20С до 80 С;
  • тип подключения: SPI;
  • скорость: 10 МБит/с (max);
  • габариты: 40 х 60мм;
Теперь нас интересует непосредственно подключение RFID-модуля RC522 к Arduino. Начнем с распиновки, которая выглядит следующим образом:

Для реализации схемы проекта используем: контроллер Arduino Uno, RFID модуль, макетную плату, RFID-метки (диапазон 13,56 МГц), соединительные провода:

Для проверки работоспособности и программирования нам понадобится библиотека MFRC522. Ее можно скачать у нас:
https://github.com/miguelbalboa/rfid
Не забываем добавить софт в папку libraries на диске C.

Заливаем скетч для считывания типа метки (прописываем без изменений):
//  Скетч к обзору модуля RFID RC522

//  Вывод UID и типа метки

//  3d-diy.ru



// Подключение библиотек

#include <SPI.h>

#include <MFRC522.h>

// контакты

const int reset    9

const int ss    10

// Создание экземпляра объекта MFRC522

MFRC522 rider(reset, ss);



void setup() {

// запуск Serial

Serial.begin(9600);

// запуск SPI

SPI.begin();

// инициализация MFRC522

rider.PCD_Init();

}

void loop() {

// Ожидание

if ( ! rider.PICC_IsNewCardPresent())

return;

// чтение

if ( ! rider.PICC_ReadCardSerial())

return;

// вывод данных

Serial.print("UID=");

view_data(rider.uid.uidByte,rider.uid.size);

Serial.println();

Serial.print("type=");

byte piccType = rider.PICC_GetType(rider.uid.sak);

Serial.print(rider.PICC_GetTypeName(piccType));

Serial.println();

delay(1000);

}

// преобразование в HEX

void view_data (byte *buf, byte size) {

for (byte j = 0; j < size; j++) {

Serial.print(buf [j]);

Serial.print(buf [j], HEX);

}

}
Проверяем вывод данных, открыв монитор последовательного порта. Готово!

Для справки: Если у вас возникли проблемы с чтением метки, рекомендуем проверить корректность подключения ридера (быть может, он не поддерживает вашу модель метки).

Изучайте Arduino и собирайте интересные проекты! Удачи!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

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

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

В этой статье обсуждаем подключение датчика температуры DS18B20 к Arduino. О подобных устройствах мы говорили мало, но это не означает, что их редко...

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