Оглавление:

Как использовать модуль RFID-RC522 с Arduino: 5 шагов
Как использовать модуль RFID-RC522 с Arduino: 5 шагов

Видео: Как использовать модуль RFID-RC522 с Arduino: 5 шагов

Видео: Как использовать модуль RFID-RC522 с Arduino: 5 шагов
Видео: Знакомство с RFID и подключение модуля RC522 к Arduino 2024, Ноябрь
Anonim
Как использовать модуль RFID-RC522 с Arduino
Как использовать модуль RFID-RC522 с Arduino

В этом руководстве я расскажу об основных принципах работы модуля RFID вместе с его тегами и микросхемами. Я также приведу краткий пример проекта, который я сделал с использованием этого модуля RFID со светодиодом RGB. Как обычно с моими инструкциями, я дам краткий обзор в рамках первых нескольких шагов и оставлю исчерпывающее, подробное объяснение на последнем шаге для тех, кто заинтересован.

Запасы:

RFID-модуль RC522 + идентификационная бирка и карта -

RGB LED + три резистора 220 Ом

Шаг 1. Аппаратные подключения

Аппаратные соединения
Аппаратные соединения

В этом проекте я использовал Arduino Mega, но вы можете использовать любой микроконтроллер, который вам нужен, поскольку это проект с относительно низким уровнем ресурсов, единственное, что будет отличаться, - это разъемы контактов для SCK, SDA, MOSI, MISO и RST, так как они разные на каждой плате. Если вы не используете Mega, обратитесь к началу этого скрипта, который мы вскоре будем использовать:

RFID:

ПДД (белый) - 53

SCK (оранжевый) - 52

MOSI (желтый) - 51

MISO (зеленый) - 50

RST (синий) - 5

3,3–3,3 В

GND - GND

(Примечание: хотя считывателю строго требуется 3,3 В, контакты допускают 5 В, что позволяет нам использовать этот модуль с Arduinos и другими микроконтроллерами DIO на 5 В)

RGB светодиод:

Red Cathode (фиолетовый) - 8

GND - GND

Зеленый катод (зеленый) - 9

Blue Cathode (синий) - 10

Шаг 2: Программное обеспечение

Программное обеспечение
Программное обеспечение

Теперь о программном обеспечении.

Во-первых, нам нужно установить библиотеку MFRC522, чтобы иметь возможность получать, записывать и обрабатывать данные RFID. Ссылка на github: https://github.com/miguelbalboa/rfid, но вы также можете установить его через диспетчер библиотек в Arduino IDE или на PlatformIO. Прежде чем мы сможем создать нашу собственную программу для работы с данными RFID и их обработки, нам сначала нужно получить фактические UID для нашей карты и тега. Для этого нам нужно загрузить этот скетч:

(IDE Arduino: примеры> MFRC522> DumpInfo)

(PlatformIO: PIO Home> библиотеки> установлено> MFRC522> примеры> DumpInfo)

Этот набросок фактически извлекает всю информацию, имеющуюся на карте, включая UID в шестнадцатеричной форме. Например, UID моей карты - 0x72 0x7D 0xF5 0x1D (см. Рисунок). Остальная часть распечатанной структуры данных - это информация, присутствующая на карте, которую мы можем читать или записывать. В последнем разделе я расскажу подробнее.

Шаг 3. Программное обеспечение (2)

Программное обеспечение (2)
Программное обеспечение (2)

Как обычно с моими инструкциями, я объясню программное обеспечение в построчных комментариях, чтобы можно было объяснить каждую часть кода в связи с ее функцией в остальной части скрипта, но по сути он определяет, какая карта read и либо разрешает, либо запрещает доступ. Он также показывает секретное сообщение, если правильная карта отсканирована дважды.

github.com/belsh/RFID_MEGA/blob/master/mfr….

Шаг 4: RFID; Объяснил

RFID; Объяснил
RFID; Объяснил

В считывателе есть радиочастотный модуль и антенна, которая генерирует электромагнитное поле. Карта, с другой стороны, содержит чип, который может хранить информацию и позволять нам изменять ее, записывая в один из ее многочисленных блоков, о чем я расскажу более подробно в следующем разделе, поскольку он подпадает под структуру данных RFID.

Принцип работы RFID-связи довольно прост. Антенна считывающего устройства (в нашем случае антенна на RC522 представляет собой встроенную катушечную конструкцию на лицевой стороне), которая будет излучать радиоволны, которые, в свою очередь, будут возбуждать катушку в карте / метке (в непосредственной близости), и это преобразованная электроэнергия будет использоваться транспондером (устройством, которое принимает и излучает радиочастотные сигналы) внутри карты, чтобы отправить обратно информацию, хранящуюся в ней, в виде большего количества радиоволн. Это известно как обратное рассеяние. В следующем разделе я расскажу о конкретной структуре данных, используемой картой / тегом для хранения информации, которую мы можем читать или записывать.

Шаг 5: RFID; Разъяснил (2)

RFID; Разъяснил (2)
RFID; Разъяснил (2)

Если вы посмотрите на верхнюю часть вывода нашего сценария, загруженного ранее, вы заметите, что тип карты - PICC 1 КБ, что означает, что у нее 1 КБ памяти. Эта память выделена в структуру данных, состоящую из 16 секторов, которые несут 4 блока, каждый из которых несут 16 байтов данных (16 x 4 x 16 = 1024 = 1 КБ). Последний блок в каждом секторе (AKA Sector Trailer) будет зарезервирован для предоставления доступа на чтение / запись к остальной части сектора, что означает, что у нас есть только первые 3 блока для работы с точки зрения хранения и чтения данных.

(Примечание: первый блок сектора 0 известен как блок производителя и содержит важную информацию, такую как данные производителя; изменение этого блока может полностью заблокировать вашу карту, поэтому будьте осторожны при попытке записать на него данные)

Удачной работы.

Рекомендуемые: