Замок, который открывается смартфоном (Arduino + Android)

Этот смарт-замок является безопасным, простым и легким в управлении для блокировки вашего дома. Замок не нуждается в ключах и устанавливается внутри дома с обратной стороны двери, а управлять им вы можете из-за двери с помощью Bluetooth модуля Android.

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

Замок, который открывается смартфоном (Arduino + Android)

Шаг 1: Список покупок

1. Arduino Uno — 1 шт.
2. Модуль Bluetooth (HC-05) — 1 шт.
3. Блокировка двери (3D-печать) — 1 шт.
4. Сервомотор (9g Micro Servo) — 1 шт.
5. Android-смартфон — 1 шт.
6. Винт- 6шт
7. Провода перемычек

Необходимые инструменты ниже.

1. Мы использовали 3D-принтер Anet A8 от gearbest.com. Вы можете заказать этот комплект на сайте gearbest.com всего за 150 долларов. Это действительно отличный принтер по очень низкой цене. В настоящее время они предоставляют 47% скидку на этот комплект 3D-принтеров. Я использую принтер четыре месяца, и очень доволен производительностью принтера. Все используемые здесь в уроке печатные части напечатаны Anet A8.

2. Отвертка.

Поговорим подробнее об остальном.

Arduino Uno. Arduino Uno — самая популярная плата для разработчиков в семье Arduino. Не обязательно использовать Arduino Uno, вы можете использовать другой микроконтроллер из семейства Ардуино, такой как Arduino Nano или Arduino Micro. Вы также можете использовать автономный atmega328p без использования платы arduino. Есть по этой теме учебник на официальном сайте Ардуино под названием «From Arduino to a Microcontroller on a Breadboard» для автономного микроконтроллера atmega, скачать можно здесь.

Модуль Bluetooth (HC-05). Bluetooth — это тип беспроводной связи, используемой для передачи голоса и данных на высоких скоростях с использованием радиоволн. Он широко используется в мобильных телефонах для совершения звонков, гарнитуры и обмена данными. Этот тип коммуникации — дешевый и простой способ контролировать что-то дистанционно с помощью Arduino. Для связи с платой, использующим bluetooth, модуль bluetooth должен быть подключен к Arduino. Доступно несколько моделей модуля bluetooth. Я использую здесь HC-05 очень распространенный и дешевый. Модуль HC-05 имеет 6 контактов. Мы должны подключить 4 штыря к Arduino:

  • RXD
  • TXD
  • VCC
  • GND

RXD будет получать данные от Arduino; TXD отправит данные в Arduino; VCC — это источник питания (от 3,3 до 6,6 В), а GND — земля. Подробнее на английском можно посмотреть здесь.

Micro Servo SG90. Малюсенький и легкий с высокой выходной мощностью. Серво может вращаться приблизительно на 180 градусов (90 в каждом направлении) и работает так же, как и стандартные, но меньшего размера. Для управления этими сервоприводами вы можете использовать любой серво-код, аппаратное обеспечение или библиотеку.

Шаг 2: 3D-дизайн дверного замка

Все части замка трехмерны. Я хотел бы поблагодарить одного из пользователей (ridercz) за приятный дизайн. Он разработал и опубликовал этот замок на сервоприводе на сайте thingiverse.com. Все файлы, кроме Rack_Holder.stl, взяты из его дизайна. Вы можете скачать файлы ниже или с Thingiverse.com.

Некоторые файлы имеют версию LT. Легкая версия требует меньше PLA по сравнению с обычной версией и имеет меньшую прочность. Я напечатал версию LT . Я использовал Anet A8 для печати всех деталей. Фотографии печатных деталей прилагаю.

Скачать 3D-макеты:

UAL_all.stl

UAL_all_LT.stl

UAL_baseplate.stl

UAL_baseplate_LT.stl

UAL_gear.stl

UAL_rack.stl

UAL_rack_cover.stl

UAL_rack_cover_LT.stl

UAL_servo_cover.stl

UAL_servo_cover_LT.stl

UAL_servo_holder.stl

Rack_Holder.STL

Шаг 3: Сборка 3D-печатных частей

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

Шаг 4: Программа Arduino для управления замком защищенным паролем через Bluetooth

Код для управления умным замком через Bluetooth довольно прост. Я разработал приложение для Android, так что оно отправляет команду с паролем.

На самом деле я установил две команды: одна «OPEN =» (Открыть), а другая «CLOSE =» (Закрыть), пароль может содержать любую цифру, букву или символ или комбинацию из них по вашему усмотрению.

В приложении я использовал две кнопки — для открытия двери и для закрытия двери. Когда пароль вводится в нужное поле и нажимается кнопка «открыть» приложение соединяет команду «OPEN =» с паролем и отправляет его в Arduino.

Мы добавили знак ‘=’ с командой для того, чтобы разделить команду и пароль, используя ‘=’. После получения строки из телефонной программы Arduino отделяет команду и пароль от строки приема и сохраняет их в две отдельные переменные. Затем сначала проверяет пароль, и если пароль совпадает с сохраненным паролем открывается дверь командой «ОТКРЫТЬ» и закрывается дверь командой «ЗАКРЫТЬ». «=» помогает отделить команду и пароль. Ниже приведен полный скетч (эскиз) для Ардуино.

Если Arduino получил неверный пароль, он отправиn на телефон Android сообщение о том, что пароль неверен. Фактически Ардуино отправил строку «WRONG». Затем программа на Android показывает неправильное сообщение с паролем.

Смотрите также  Среда программирования скетчей для Arduino

Скачать door-lock.ino

Шаг 5: Схема подключения

Связь между компонентами очень проста. Сначала подключите модуль Bluetooth HC-05 к Arduino. Обратите внимание на схему. Штырек TX платы Arduino подключен к выходу RX модуля Bluetooth, а вывод RX для Arduino подключен к выходу TX модуля Bluetooth.

Соединение между модулем Bluetooth Arduino и HC-05:

Arduino HC-05 Module
TX RX
RX TX
5V VCC
GND GND

Подключение серводвигателя:

Arduino Servo Motor
D9 Signal (Yellow, желтый)
5V VCC (Red, красный)
GND GND (Brown, коричневый)

Скачать schematic.fzz

Скачать sg90-servo.pdf

Шаг 6: Установка замка на дверь

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

Если вы выполнили все этапы, самое время поместить замок в соответствующее место двери. Сначала поместите замок с четырьмя винтами. Затем фиксируем модуль Bluetooth в нужном месте замка и добавляем горячий клей, чтобы плотно соединить модуль с замком.

После этого поместите плату Arduino в нижнюю часть замка и соедините все провода в соответствии с схемой. После установки замка и подключения вы должны подключить питание. Мы использовали адаптер 5V, 1A для обеспечения питания цепи.

Шаг 7: Разработка приложения для Android

Я покажу вам, как разработать приложение Bluetooth на Aandroid с помощью приложения MIT App Inventor. Я использую App Inventor, потому что он не требует каких-либо навыков программирования и установки программного обеспечения. Вам нужна только учетная запись google. Перейдите по адресу http://ai2.appinventor.mit.edu/ и войдите в систему, используя учетную запись google.

Войдите в приложение Inventor с помощью gmail и выполните следующие действия.

I Принять условия Картинка 1
II Нажмите «take survey later», а затем «продолжить», чтобы закрыть экран заставки Картинка 2, 3
III Начните новый проект Картинка 4
IV Назовите проект «BluetoothControlDoorLock» (без пробелов) Картинка 5

Теперь вы находитесь в Дизайнере, где вы делаете «пользовательский интерфейс» вашего приложения (изображение 6). В окне конструктора вы найдете внешний вид вашего приложения и укажете, какие функции он должен иметь. Вы можете выбрать для пользовательского интерфейса кнопки, изображения, ярлыки, текстовые поля и функциональные возможности, такие как Text-to-Speech, Bluetooth, датчики и GPS.

Теперь, следуйте рисунку 7 и добавьте «List Picker» в программу просмотра. Переименуйте его в «Подключение к устройству Bluetooth» (рисунок 8). Добавьте одну метку, одно текстовое поле пароля и две кнопки, показанные на рисунке 10. Измените текстовые свойства компонентов как «Введите пароль», «Открыть дверь» и «Закрыть дверь» соответственно. Конечный пользовательский интерфейс должен выглядеть так, как показано на рисунке 11. Теперь добавьте клиент Bluetooth в программу просмотра. Это невидимый компонент, и он не имеет интерфейса. См. Изображение 12.

Переключитесь на редактор блоков

Пришло время сказать вашему приложению что делать! Нажмите «Блоки» (Blocks), чтобы перейти к редактору блоков (рис. 13). Подумайте о кнопках Designer и Blocks, таких как вкладки, — вы используете их для перемещения вперед и назад между двумя областями App Inventor. Редактор блоков — это программа, в которой вы программируете поведение своего приложения. Есть встроенный блок, который обрабатывает такие вещи, как математика, логика и текст. Ниже перечислены блоки, которые идут с каждым из компонентов вашего приложения. Чтобы заставить блоки для определенного компонента отображаться в редакторе блоков, сначала нужно добавить этот компонент в свое приложение через конструктор.

Давайте создадим блоки для List Picker. List Picker — это элемент пользовательского интерфейса при нажатии на него показывается список соответствующих элементов, здесь — это сопряженное устройство Bluetooth. Мы должны добавить два блока ListPicker.BeforePicking и ListPicker.AfterPicking (изображение 14). Законченные блоки показаны на рисунках 18 и 19.

Сделайте файл .apk

Наш дизайн завершен, теперь нам нужно собрать файл apk для нашего телефона Android. Нажмите, чтобы создать меню и выберите «Приложение (сохранить .apk на мой компьютер)». Подождите минуту. Файл apk загрузится в папку загрузки по умолчанию. Установите и используйте его.

Шаг 8: Более богатое приложение для Android

На предыдущем шаге мы показали вам как разработать базовое приложение Bluetooth в App Inventor. Но это приложение не так удобно. Он не покажет вам никакого сообщения, либо ваша дверь открыта или закрыта, либо Bluetooth не может подключиться для каких-либо ошибок. Мы прикрепили здесь более продвинутое приложение для нашего проекта.

Когда вы запускаете приложение оно проверяет, включен ли ваш Bluetooth или нет. Если не включено — появится диалоговое окно включения Bluetooth. Нажмите «Да», чтобы включить Bluetooth. Затем подключите устройство с помощью кнопки парного устройства.

Затем нажмите кнопку «Подключение», если приложение успешно подключено к любому устройству, приложение показывает MAC-адрес и имя подключенного устройства. Введите пароль в поле пароля, затем нажмите кнопку открытия двери, если вы ввели правильный пароль — дверь откроется, и приложение покажет вам сообщение о том, что ваша дверь теперь открыта. Затем введите пароль еще раз, если вы хотите закрыть дверь. Если вы укажете неверный пароль, приложение покажет сообщение об ошибке.

Полный исходный файл App Inventor (BTcontrol.aia) прилагается. Если вам не понравилось создавать собственное приложение или изменять его, просто скачайте BTcontrol.apk и установите его на ваш Андроид. Вы также можете загрузить его из Google Play Store по ссылке:

https://play.google.com/store/apps/details?id=appinventor.ai_khairul_uapstu.BTcontrol&hl=en

Для изменения источника нажмите меню «Проекты» и выберите «Импортировать проект (.aia) с моего компьютера», показанный на рисунке 24, и откройте файл BTcontrol.aia со своего компьютера. После импорта вы можете легко его изменить.

Если вы хотите узнать больше о разработке Android-приложений с помощью App Inventor, просмотрите:

http://appinventor.mit.edu/explore/ai2/tutorials.html.

Вы также можете попробовать:

100 Best AppInventor Videos

Скачать Door-lock Android Source.aia

Скачать Door-lock android app.apk

Как программировать Arduino через Андроид Сегодня мы покажем вам как загружать код на плату Arduino с помощью Android. Это очень просто с бесплатным программным обеспечением доступным под названием...
Устройство уменьшения звука на время ТВ-рекламы... Одна из довольно частых жалоб о том, как раздражает нас, когда рекламные ролики значительно громче, чем громкость программы в которой показывается реклама....
Текстовая анимация с помощью Arduino Я видел много статей о том, как подключить панель ЖК-дисплея к Arduino, и статьи, которые помогают рисовать пользовательские символы, но я не видел таких, ...

Просмотров: 757