Современные системы безопасности часто используют RFID-технологии для контроля доступа. В этом проекте мы рассмотрим создание системы на базе Arduino, которая управляет сервоприводом при помощи RFID-карты. Эта система позволяет управлять доступом, например, к двери или замку, с помощью уникального идентификатора карты.
Необходимые компоненты
Для реализации проекта потребуются следующие компоненты:
- Arduino Uno
- RFID-модуль (RC522)
- Сервопривод
- Зуммер
- Соединительные провода
Подключение компонентов
-
RFID-модуль:
- SDA подключаем к пину 10 на Arduino.
- SCK подключаем к пину 13 на Arduino.
- MOSI подключаем к пину 11 на Arduino.
- MISO подключаем к пину 12 на Arduino.
- IRQ не используется.
- GND подключаем к GND на Arduino.
- RST подключаем к пину 9 на Arduino.
- 3.3V подключаем к 3.3V на Arduino.
-
Сервопривод:
- Сигнальный провод сервопривода подключаем к цифровому пину 6 на Arduino.
- Питание (VCC) подключаем к 5V на Arduino.
- GND сервопривода подключаем к GND на Arduino.
-
Зуммер:
- Плюсовой вывод зуммера подключаем к пину 5 на Arduino.
- Минусовой вывод зуммера подключаем к GND на Arduino.
Установка библиотек
Для работы с RFID-модулем и сервоприводом нам понадобятся следующие библиотеки:
- MFRC522: библиотека для работы с RFID-модулем MFRC522.
- Servo: библиотека для управления сервоприводами.
Установить их можно через Arduino IDE:
- Откройте Arduino IDE.
- Перейдите в Скетч -> Подключить библиотеку -> Управление библиотеками.
- Найдите и установите библиотеки MFRC522 и Servo.
Код программы
Ниже приведен код, который нужно загрузить в Arduino для работы системы:
|
Объяснение кода
-
Инициализация переменных и настроек:
#define SS_PIN 10
и#define RST_PIN 9
задают пины для подключения RFID-модуля.MFRC522 mfrc522(SS_PIN, RST_PIN);
создает объект для работы с RFID-модулем.unsigned long uidDec, uidDecTemp;
переменные для хранения UID метки.
-
Функция setup():
Serial.begin(9600);
инициализирует сериализацию для вывода данных в монитор порта.SPI.begin();
инициализирует шину SPI.mfrc522.PCD_Init();
инициализирует RFID-модуль.servo.attach(6);
подключает сервопривод к пину 6.servo.write(0);
устанавливает сервопривод в закрытое состояние.
-
Функция loop():
- Проверяет наличие новой RFID-карты с помощью
mfrc522.PICC_IsNewCardPresent()
. - Считывает UID карты с помощью
mfrc522.PICC_ReadCardSerial()
. - Конвертирует UID карты в десятичный формат и выводит его в консоль.
- Если UID совпадает с заданным (1765925400), сервопривод открывается на 90 градусов и через 3 секунды возвращается в закрытое состояние, сопровождаемое звуковыми сигналами зуммера.
- Проверяет наличие новой RFID-карты с помощью
Заключение
Этот проект демонстрирует, как использовать RFID-технологии для управления сервоприводом с помощью Arduino. Такая система может быть использована для различных целей, включая контроль доступа, автоматизацию замков и другие задачи, требующие аутентификации и выполнения механических действий. Создание подобных проектов помогает лучше понять работу с микроконтроллерами и развивает навыки программирования и электроники.