- Необходимые компоненты
- Электромагнитный замок
- Модуль Bluetooth HC-05
- Принципиальная схема электромагнитного замка с управлением по Bluetooth
- Программа Arduino для управления замком соленоида на основе данных отпечатков пальцев
- Android-приложение для чтения данных отпечатков пальцев и отправки в Arduino через Bluetooth
- Корпус с 3D-печатью для биометрического замка
- Тестирование нашей блокировки по отпечатку пальца на базе Arduino
Теперь весь мир находится во власти COVID 19, и каждый принимает меры предосторожности, где только может, чтобы не заразиться этим серьезным заболеванием, следуя социальному дистанцированию, ношению масок, используя безналичные транзакции и избегая прикосновений к чему-либо, чтобы предотвратить распространение микробов. С появлением технологий обычные замки уходят в прошлое, а новые биометрические замки и замки на основе RFID становятся все более популярными. Замки на основе отпечатков пальцев и устройства учета посещаемости также используются в большинстве офисов и колледжей, но в настоящее время это не рекомендуется делать из-за этой пандемии, и поэтому мы собираемся построить дверной замок, используя электромагнитный замок и управление. это с помощью приложения для Android через Bluetoothтак что нам вообще не нужно прикасаться к датчику отпечатков пальцев и просто использовать свои собственные телефоны для управления замком. Итак, приступим.
Необходимые компоненты
- 1 × Arduino Nano
- 1 × модуль Bluetooth HC-05
- 1 × соленоидный замок
- 1 × пьезоэлектрический зуммер
- 1 × красный светодиод 5 мм
- 1 × зеленый светодиод 5 мм
- 1 × IRF540N N-канальный МОП-транзистор
- 1 × BC547 NPN транзистор
- Резисторы: 1 × 550 Ом, 1 × 2 кОм, 1 × 220 Ом
- 1 × 7805 регулятор напряжения
- 1 пара разъемов постоянного тока
- Перфорированная плита
Электромагнитный замок
В обычном дверном замке есть ключ, чтобы тянуть или толкать защелку, и мы должны управлять им вручную, но в соленоидном замке защелка может работать автоматически, подавая напряжение на катушку соленоида, которая будет управлять защелкой. присутствует в замке.
Электромагнитный замок имеет низковольтную катушку соленоида, которая втягивает защелку обратно в дверь при подаче на нее подходящего напряжения и остается открытой до тех пор, пока напряжение не будет снято. Таким образом, вы можете управлять работой, контролируя подаваемое на нее напряжение с помощью кнопки, реле, микроконтроллеров и т. Д. Электромагнитные дверные замки в основном используются в удаленных районах для автоматизации операций без участия человека.
Модуль Bluetooth HC-05
HC-05 используется для обеспечения беспроводного подключения к вашим проектам, чтобы вы могли общаться с другими микроконтроллерами или мобильными телефонами и ноутбуками. Вы можете легко контролировать отправку и получение данных с помощью простых приложений для Android, которые вы можете легко создать самостоятельно. Он имеет два режима: первый режим данных, который используется для передачи данных на устройство Bluetooth и от него, а второй - режим AT-команд.который используется для настройки вашего модуля Bluetooth. Он обменивается данными с помощью USART-связи со скоростью 9600 бод, так что вы можете подключить его к любому микроконтроллеру, который поддерживает USART-связь и может быть легко подключен к последовательным портам, доступным на плате. Имейте в виду, что вам необходимо подключить устройство к источнику питания 5 В и подключить контакт TX к контакту RX вашего микроконтроллера, а контакт RX к контакту TX микроконтроллера. Вы можете использовать его в приложениях автоматизации и беспроводных приложениях для регистрации данных и робототехники.
Принципиальная схема электромагнитного замка с управлением по Bluetooth
Полная принципиальная схема, которая показывает, как взаимодействовать и управлять соленоидным замком с Arduino через MOSFET, показана ниже.
Как показано на принципиальной схеме, соединения довольно просты: вам нужно подключить модуль Bluetooth HC-05 к nano, запитав устройство источником питания 5 В и подключив контакт TX к контакту RX вашего микроконтроллера, а контакт RX к вывод TX микроконтроллера. Вам нужно добавить красный светодиод для отображения состояния питания Arduino nano и зеленый светодиод, чтобы показать, разблокирована ли дверь. Также необходимо подключить зуммер. Схема подключения также показана ниже для облегчения понимания.
Для управления блокировкой соленоида вам необходимо использовать схему управления, состоящую из NPN-транзистора и N-канального MOSFET. Мы будем управлять транзистором NPN, подключив вывод D9 Nano к выводу базы транзистора через резистор 550 Ом, чтобы контролировать ток, протекающий в транзистор. Когда вывод D9 подтягивается к высокому уровню, транзистор включается, а вывод затвора полевого МОП-транзистора подтягивается к земле, что приводит к выключению полевого МОП-транзистора, что отключает блокировку соленоида, а когда вывод D9 имеет низкий уровень, транзистор NPN выключен, что означает, что GATE полевого МОП-транзистора подтягивается к напряжению 12 В через подтягивающий резистор 2 кОм для включения полевого МОП-транзистора и питания замка соленоида. Таким образом, вы можете управлять замком соленоида с помощью 5V Arduino Nano. Вы не можете напрямую управлять МОП-транзистором IRF540N с выводами 5 В от Nano, поскольку это не МОП-транзистор логического уровня, поэтому он победил.t полностью включается или выключается с помощью 5 В от nano, поэтому мы будем использовать транзистор BC547 NPN для управления полевым МОП-транзистором.
Я припаял всю схему на перфокарт, чтобы сделать ее компактной. Идея состоит в том, чтобы разработать корпус для нашего замка, напечатанный на 3D-принтере, чтобы его можно было легко установить и использовать.
Программа Arduino для управления замком соленоида на основе данных отпечатков пальцев
Мы напишем код на официальной IDE Arduino, если у вас нет IDE, вы должны скачать ее с официального сайта Arduino. Мы начинаем код с объявления переменных, которые мы будем использовать в коде для управления периферийными устройствами, такими как зуммер и светодиод, а также для управления блокировкой соленоида путем управления транзистором.
int value1; #define led 12 #define bjt 9 #define buzzer 7
Теперь, переходя к части настройки Arduino, мы сначала инициализируем последовательную связь Arduino со скоростью 9600 бод. Поскольку мы используем аппаратные контакты Arduino для последовательной связи, нам не нужно использовать программный последовательный порт в проекте. Теперь мы должны объявить контакты, которые мы используем как выходы или входы, и дать им начальные условия.
Serial.begin (9600); pinMode (bjt, ВЫХОД); pinMode (светодиод, ВЫХОД); pinMode (зуммер, ВЫХОД); digitalWrite (bjt, HIGH); digitalWrite (светодиод, LOW);
Теперь в функции цикла кода мы будем считывать данные, поступающие последовательно от модуля Bluetooth HC-05, и проверять, соответствуют ли они команде блокировки или разблокировки. В нашей программной логике, если отпечаток пальца распознан правильно, модуль Bluetooth отправит значение «1», а если отпечаток пальца не распознается, модуль Bluetooth отправит значение «0». Если значение, считываемое Nano, равно «1», то дверь будет разблокирована, и на секунду прозвучит зуммер, а дверь останется незапертой в течение 7 секунд. После этого дверь снова закроется. Если считанное значение равно «0», что означает, что отпечаток пальца не распознается, зуммер подаст сигнал тревоги три раза в секунду каждый, чтобы предупредить службу безопасности.
Serial.println («Чтение»); while (Serial.available () == 0); значение1 = Serial.read (); Serial.println (значение1); if (value1 == 1) {Serial.println ("Разблокировка"); digitalWrite (bjt, LOW); digitalWrite (зуммер, ВЫСОКИЙ); digitalWrite (светодиод, ВЫСОКИЙ); задержка (1000); digitalWrite (зуммер, LOW); задержка (6000); digitalWrite (bjt, HIGH); digitalWrite (светодиод, LOW); } если (значение1 == 0) {digitalWrite (bjt, HIGH); digitalWrite (зуммер, ВЫСОКИЙ); Serial.println («Блокировка»); задержка (1000); digitalWrite (зуммер, LOW); задержка (1000); digitalWrite (зуммер, ВЫСОКИЙ); задержка (1000); digitalWrite (зуммер, LOW); задержка (1000); digitalWrite (зуммер, ВЫСОКИЙ); задержка (1000); digitalWrite (зуммер, LOW); }
Android-приложение для чтения данных отпечатков пальцев и отправки в Arduino через Bluetooth
Приложение для этого проекта было разработано с использованием изобретателя приложения Kodular. Создать приложение с помощью Kodular очень просто; вы можете создать приложение, объединив блоки в соответствии с блок-схемой вашего проекта.
Чтобы создать приложение с помощью Kodular, перейдите на Kodular.io и создайте учетную запись, если у вас ее нет, войдите в свою учетную запись и затем нажмите на опцию « Создать приложения» .
После этого вы попадете на экран проектов. Нажмите кнопку « Создать проект» , чтобы создать проект.
Назовите приложение и нажмите « Готово ». Проект будет создан, и вы попадете на страницу дизайнера проекта. Теперь на странице конструктора добавьте эти четыре компонента из палитры компонентов, чтобы создать макет для приложения: клиент Bluetooth, отпечаток пальца, средство выбора списка и кнопку изображения. Средство выбора списка и кнопку можно найти в « Пользовательском интерфейсе», а «Отпечаток пальца» и Bluetooth можно выбрать в « Датчики » и « Связь ».
Свойства экрана можно изменить, изменив свойства для каждого блока.
После этого перейдите на экран « Блоки », чтобы создать приложение с использованием блоков.
Теперь прокрутите вниз, нажмите « List_Picker1» и перетащите первый блок кода, как показано на изображении:
На следующем этапе щелкните блок «Control», а затем перетащите первый блок кода на экран средства просмотра.
После этого перейдите в блок « Bluetooth_client1» и выберите блок кода « Bluetooth_client.connect» .
Затем перейдите к блоку List_Picker и выберите блок кода выбора, как показано на изображении ниже.
Теперь на следующем шаге снова перейдите в блок List_Picker и выберите List_Picker. Текст в кодовый блок, как показано на рисунке ниже.
После этого перейдите в блок «Текст» и выберите первый блок кода.
На этом первый блок кода закончен. Нам нужно создать еще три кодовых блока, чтобы вызвать датчик отпечатков пальцев на телефоне Android и подтвердить отпечаток пальца. Полный блок кода показан на рисунке ниже. Используйте это изображение, чтобы присоединиться к остальным блокам кода.
Когда все блоки подключены, экспортируйте файл.apk на свой ноутбук или вы можете напрямую экспортировать apk на свой телефон с помощью QR-кода. .Aia и .apk файл этого приложения можно загрузить с ссылке ниже.
- Загрузите приложение Android для управления блокировкой соленоида через Arduino
Корпус с 3D-печатью для биометрического замка
Как упоминалось ранее, мы создали 3D-модель, чтобы собрать монтажную плату и соленоидный замок в аккуратный маленький корпус. Модель, помещенная в программу для нарезки, показана ниже.
Если вы используете перфорированную плату и соленоидный замок того же размера, то вы также можете распечатать тот же корпус, используя файлы STL, указанные ниже. Вы также можете ознакомиться с другими проектами 3D-печати, которые мы создали ранее.
Файлы STL для корпуса замка соленоида
Тестирование нашей блокировки по отпечатку пальца на базе Arduino
Во-первых, вам нужно скачать и установить файл.apk на свой телефон, чтобы управлять блокировкой. Вам также необходимо загрузить полный код на ваш Arduino Nano, но перед загрузкой кода убедитесь, что вы удалили контакты TX и RX из nano. После завершения загрузки установите блокировку, затем включите Bluetooth на своем мобильном телефоне, выполните сопряжение с используемым устройством Bluetooth и откройте приложение. Теперь нажмите на значок Bluetooth в приложении и подключитесь к устройству Bluetooth, и значок Bluetooth в приложении превратится в значок блокировки. Теперь вам нужно нажать на значок отпечатка пальца, чтобы проверить отпечаток пальца с помощью сканера отпечатков пальцев вашего телефона, и значение будет отправлено в Arduino Nano.
Этот проект представляет собой простую демонстрацию того, что вы можете делать с модулем Bluetooth, подключенным к вашему телефону. Вы можете построить целого работающего робота, регистр посещаемости, управляемые приложениями устройства домашней автоматизации и т. Д., И этот список можно продолжать до вашего воображения. Вы также можете отображать интерфейс для отображения имени человека, входящего в помещение, или добавить камеру, чтобы щелкнуть изображение человека в целях безопасности. Попробуйте это самостоятельно, внесите некоторые изменения, и если вы когда-нибудь где-то застрянете, просто сообщите нам об этом в разделе комментариев, и мы поможем вам. Еще раз спасибо и хорошего дня.