Управление по bluetooth

В статье рассмотрим подключение и управление Arduino по bluetooth.

В качестве блютуз-модуля будет использоваться широко распространенный hc-06.

hc-06

В нашем проекте будем через bluetooth включать и выключать светодиод, подключенный к 13 порту.

Начнем с написания приложения на android-смартфон. Приложение будет писаться в удобной и простой среде программирования App Inventor. Программы будут составляться онлайн.

Пройдите по ссылке http://ai2.appinventor.mit.edu/. Там вас попросят войти в Google-аккаунт, который вам придется завести, если его еще нет.

После входа вы попадете в программу, где сможете создать проект нажав «start new project». Вам потребуется ввести имя проекта. Назовем его led_control.

Откроется пустое окно приложения.

appinv1

Здесь будем располагать необходимые компоненты. Выберите ListPicker в окне слева и поместите его в проект.

appinv2

У компонента ListPicker в окне справа найдите свойство Text, и измените «Text for ListPicker1» на «Выберите BT-устройство».

Откройте закладку Layout в окне слева, поместите в приложение компонент HorizontalArrangement, измените его свойство Width на «Fill parent». Добавьте в HorizontalArrangement 2 кнопки Button, у каждой из них установите свойство Width в «Fill parent». Должно получиться так:

appinv3

Изменим подписи на кнопках: на первой будет написано LED ON, на второй — LED OFF.

appinv4

Ниже добавим Label и очистим его Text.

Осталось добавить компонент, организующий передачу данных по bluetooth. Откройте закладку Connectivity и поместите в проект BluetoothClient. Этот компонент окажется не на экране телефона, а под ним, т.к. он не является визуальным.

appinv4_1

Теперь можно приступать к написанию программы. В верхней правой части программы выберите режим Blocks.

appinv5

Здесь будет составляться программа из графических блоков. Слева кликните на компонент ListPicker1 и выберите ListPicker1.BeforePicking.

lpbeforepicking

Снова нажмите на ListPicker1 и выберите set ListPicker1.Elements to

lpbeforepicking_2

Далее, нажмите BluetoothClient1 и выберите BluetoothClient1.AdressesAndNames.

lpbeforepicking_3

Поставьте его как на скриншоте.

lpbeforepicking_4

Этим мы получили список сопряженных bluetooth-устройств. Теперь подключимся к выбранному устройству. Напишите блок как на скриншоте ниже.

lpafterpicking

Розовый блок с надписью Connected — это первый блок в закладке Text. Впишите Connected в пустое окошко.

Теперь напишем обработчик кнопок. При нажатии на первую кнопку будет отсылаться текст «led_on», а при нажатии на вторую — «led_off». Так же будет изменяться и надпись в Label1.

program

Осталось загрузить проект в ваш смартфон. Нажмите Build и выберите способ загрузки.

build

Для первого варианта вам понадобятся интернет и считыватель QR-кодов. Нажмите и дождитесь окончания сборки проекта и формирования QR-кода, после чего откройте считыватель QR-кодов на смартфоне и считайте код. Останется только загрузить и установить файл.

Во втором варианте проект в формате .apk сохранится на ваш компьютер и вы сможете скинуть его на смартфон любым удобным способом (например по USB).

Теперь займемся программой на Arduino.

Прием-передача данных осуществляется через COM-порт, поэтому будем использовать Serial. Будем посимвольно принимать сигналы, формировать строку и дальше сравнивать сформированную строку с командами led_on и led_off.

Загрузите код в Arduino.

Теперь можно подключить Bluetooth-модуль HC-06. Подключается он очень просто:

HC-06       Arduino

Rxd           Tx

Txd            Rx

Vcc            5v (можно 3,3 v)

Gnd           Gnd

 

Картинки по запросу hc-06 arduino

ЕСЛИ ПОПЫТАТЬСЯ ЗАГРУЗИТЬ ПРОГРАММУ В ARDUINO С ПОДКЛЮЧЕННЫМ МОДУЛЕМ, ТО ВЫЛЕЗЕТ ОШИБКА, Т.К. И МОДУЛЬ И ЗАГРУЗКА ПРОГРАММЫ ЗАДЕЙСТВУЮТ ПОРТЫ RX И TX!

Подайте питание на Arduino. На bluetooth-модуле должен заморгать светодиод, это означает, что он ожидает подключения. Возьмите смартфон, найдите в настройках bluetooth, включите его и запустите поиск. Найдите устройство с именем hc-06 и подключитесь к нему. С первого раза может не получиться. После однократного успешного сопряжения можно запускать программу на смартфоне.

Сначала нажмите на «Выберите BT-устройство» и выберите модуль среди сопряженных устройств. Далее нажимайте кнопки включения и выключения светодиода. Если все сделано правильно, то все будет работать.

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *