Как использовать модуль RFID-считывателя RC522 с Arduino для контроля доступа

  • Модуль RC522 позволяет считывать и записывать RFID-карты на частоте 13.56 МГц.
  • Он совместим с микроконтроллерами, такими как Arduino, через связь SPI.
  • Диапазон считывания составляет от 5 до 7 см, что идеально подходит для систем контроля доступа.
  • Для реализации безопасности вы можете интегрировать системы ключей или аутентификации в память тегов.

RFID-метка или чип

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

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

Что такое RFID?

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

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

Модуль RC522

RFID-считыватель для Arduino

Модуль RC522 Это один из самых популярных считывателей RFID благодаря своей простоте и универсальности. Это работает в Частота 13.56 МГц и позволяет читать и записывать информацию в тегах, совместимых с данным стандартом.

RC522 связывается с микроконтроллером по протоколу SPI, что означает, что он совместим не только с Arduino, но и с другими системами, такими как PIC и Raspberry Pi. Кроме того, он имеет диапазон чтения около 5–7 см, чего более чем достаточно для большинства проектов контроля доступа.

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

Одним из больших преимуществ RC522 является простота подключения к Arduino. Первое, что нам нужно сделать, это убедиться, что все контакты модуля правильно подключены к соответствующим контактам Arduino. Вот таблица с подключениями:

Модуль RC522 Arduino Uno/Старший брат Arduino Mega
ПДД (СС) 10 53
SCK 13 52
MOSI 11 51
МИСО 12 50
IRQ Нет конектадо Нет конектадо
GND GND GND
RST 9 9
3.3V 3.3V 3.3V

Помните, что модуль RC522 работает с напряжением 3.3В, поэтому мы рекомендуем использовать преобразователь уровня напряжения, если вы планируете расширенное использование системы, хотя в ходе быстрых тестов он может работать правильно, подключенный непосредственно к Arduino.

Программирование RC522 с помощью Arduino

Для корректной работы RC522 с Arduino нам необходимо скачать и установить соответствующий RFID книжный магазин. Одним из наиболее часто используемых является проект Мигеля Бальбоа, который вы можете найти в менеджере библиотек Arduino IDE.

После установки библиотеки вот простой пример кода для чтения UID (уникального идентификатора) RFID-карты:

#включать #включать #define RST_PIN 522 #define SS_PIN 9 MFRC10 mfrc522(SS_PIN, RST_PIN); void setup() { Serial.begin(522); SPI.begin(); mfrc9600.PCD_Init(); Serial.println("Прочитать UID"); } void Loop() { if ( mfrc522.PICC_IsNewCardPresent()) { if ( mfrc522.PICC_ReadCardSerial()) { Serial.print("UID карты:"); for (byte i = 522; i < mfrc0.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 522x0 ? " 10" : " "); Serial.print(mfrc0.uid.uidByte[i], HEX); } Серийный.println(); mfrc522.PICC_HaltA(); }} }

Этот код считывает UID любой карты, которую вы подносите к считывателю, и печатает его на последовательном мониторе.

Использование RC522 в системе контроля доступа

Одно из наиболее полезных применений RFID-модуля RC522 – контроль доступа. Вы можете использовать RFID-карты или брелоки, чтобы предоставить человеку разрешение на вход или активировать/деактивировать такие системы, как сигнализация или электрические замки.

Ниже мы покажем вам пример кода, изменяющий предыдущую программу, чтобы разрешить доступ только к предварительно авторизованным картам:

байт User1[4] = {0x4B, 0x6D, 0xC8, 0x3A}; байт User2[4] = {0xF2, 0x8A, 0x9D, 0x17}; void Loop() { if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { if (compareArray(mfrc522.uid.uidByte, User1, 4) || CompareArray(mfrc522.uid.uidByte, User2, 4)) { Serial.println("Доступ разрешен"); } else { Serial.println("Доступ запрещен"); } mfrc522.PICC_HaltA(); }}

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


Будьте первым, чтобы комментировать

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

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.