Урок 15. Bluetooth модуль HC-06 подключение к Arduino. Управление устройствами с телефона.
Очень часто в ваших проектах возникает необходимость в дистанционном управлении или передачи данных с ваших телефонных гаджетов.
Один из самых популярных и распространенных методов обмена данными посредством Bluetooth.
Сегодня мы разберем простые примеры как можно подключить Bluetooth модуль к Arduino и настроить дистанционное управление с телефона.
Нам понадобится:
Схема подключения Bluetooth к Arduino:
Подключать Bluetooth модуль к микроконтроллеру Arduino удобнее всего с помощью проводков ПАПА-МАМА.
Arduino | Bluetooth |
---|---|
Pin 1 (TX) | RXD |
Pin 0 (RX) | TXD |
GND | GND |
5V | VCC |
Будьте внимательны, подключать подключать нужно TX -> RXD ,RX -> TXD.
Теперь необходимо записать пробный код программы:
Во время загрузки скетча необходимо что бы Bluetooth модуль был отключен от микроконтроллера arduino. В противном случае скетч не запишется, потому что связь с Bluetooth модулем происходит по одному и томуже порту RX и TX, что и USB.
Скачать скетч можно по ссылке.
После того как скетч записан и Bluetooth модуль подключен к Arduino, можно перейти к следующему шагу.
Подключение Bluetooth к телефону
Желательно в качестве источника питания для arduino использовать не USB, а внешний Блок питания на 9 В.
- Включаем Bluetooth на телефоне и ищем новые устройства
- Находим в списке расстройств «HC-06″ и подключаемся к нему.
- Телефон спросит пин-код. необходимо ввести «1234» или «0000«
- Ура. Устройство подключено.
Теперь нужно скачать bluetooth terminal на ваш телефон. Мы рассмотрим на примере платформы Android.
Вы можете установить разные bluetooth терминалы, как правило они отличаются только разными дизайнами, функционал от этого не меняется. Так же можно найти и терминал и для продуктов ios.
После того как мы установили терминал, запускаем его выбираем наш bluetooth модуль HC-06 и подключаемся к нему.
Пришло время попробовать проект в деле. Пишем в терминале цифру «0» и отправляем. Светодиод L который находится на плате arduino рядом с pin 13, должен погаснуть. Теперь отправим через терминал цифру «1» и светодиод L должен зажечься.
Демонстрация работы:
Домашняя работа:
- Изменить скетч так, что бы светодиод зажигался и потухал с помощью одной и той же команды например «G».
- Дописать скетч и научить его преобразовывать текстовые данные приходящие через блютус в цифровые и реализовать димер, зажигать светодиод с помощью ШИМ, на заданную яркость от 0 до 254 приходящую через bluetooth.
Источник
Arduino и Bluetooth
В настоящее время в зарубежных и отечественных магазинах можно найти большое количество различных Bluetooth Serial модулей для DIY-устройств. Цена на них не сильно высока: 5-10$ за модуль (с учетом бесплатной доставки в любую страну). Их легко можно найти на широко известной площадке AliExpress введя в поисковую строку одно из словосочетаний: Bluetooth RS232, Bluetooth Serial, HC-03, HC-04, HC-05, HC-06 или нажать на эту ссылку.
В большинстве модулей используется чип BC417, плюс Flash-память. Чип поддерживает спецификацию Bluetooth v2.0 + EDR, AT-команды, может работать в режиме Master или Slave (модули HC-03/HC-5, может устанавливаться AT-командой), поддерживает скорость обмена от 2400 до 1382400.
Напряжение питание модуля составляет 3.3В, ток потребления
50мА.
Модули HC-03/HC-05 более функциональные, чем HC-04/HC-06.
Основные выводы модулей HC-04/HC-06:
UART_TX (pin 1), UART_RX (pin 2), UART_CTS (pin 3), UART_RTS (pin 4) — пины UART.
3,3V (pin 12) — питание 3.3В.
GND (pin 13) — общий.
PIO1 (pin 24) — индикатор рабочего режима. Если соединение не установлено — то светодиод мигает, если установлено, то постоянно горит.
Для модулей HC-03/HC-05 есть некоторые отличия. Линии UART и питания те же самые, но:
PIO8 (pin 31) — индикатор рабочего режима.
PIO9 (pin 32) — статус соединения, если соединение установлено, то на выходе будет высокий уровень.
PIO11 (pin 34) — вход включения режима AT-команд (необходимо подать лог. 1).
За более подробной документацией обращайтесь к PDF.
Итак, соберем простую схему для подключения Bluetooth модуля HC-06 к плате Arduino Nano V3.
Обратите внимание, что выводы TX и RX в плате Arduino Nano поменяны местами в отличии от Ardunio UNO и др. Поэтому внимательно смотрите распиновку своей Arduino платы.
Шаг между выводами в модуле составляет всего 1.5мм, поэтому придется взяться за паяльник и припаять провода к модулю. Всего необходимо припаять 5 проводов, однако светодиод подключать необязательно, он служит для индикации состояния.
Итак припаиваем провода и подключаем Bluetooth модуль следующим образом:
вывод Arduino 3.3В — к 12 пину модуля
вывод Arduino GND — к 13 пину модуля
вывод Arduino TX — к 2 пину модуля RX
вывод Arduino RX — к 1 пину модуля TX
Передача данных из Arduino по Bluetooth
Далее напишем простенький скетч для отправки сообщений из Bluetooth модуля в компьютер.
Как видите скетч довольно простой и хорошо прокомментирован. В цикле, раз в секунду происходит увеличение переменной cnt, которая затем с текстовой надписью выводится в последовательный порт на Bluetooth модуль. Обратите внимание, что скорость порта установлена в значение 9600. При покупке модуля, спрашивайте на какое значение установлена скорость обмена по последовательному интерфейсу. Но в большинстве случаев это 9600. При необходимости, скорость обмена можно изменить АТ-командами.
Откройте данный скетч в Arduino IDE, скомпилируйте и прошейте ваш Arduino. Если вы подключали светодиод в Bluetooth модулю, то он должен мигать, показывая тем самым, что модуль ожидает соединение.
Внимание! Если при прошивке платы Arduino ругается прошивальщик, то отключите питание 3.3В с Bluetooth модуля.
На компьютере, в качестве Bluetooth модуля использовался самый дешевый китайский Bluetooth USB адаптер, стоимостью около 200 руб. После того, как адаптер подключается к компьютеру, установите необходимые драйвера (в Windows 7 x64 у меня все драйвера поставились автоматом).
Затем щелкаем в трее по иконке Bluetooth модуля и выбираем «Добавить устройство»:
Имя моего модуля BOLUTEK, у вас оно скорее всего будет другим. Нажимаем «Далее» и переходим к окну, где необходимо ввести пароль для устройства:
Выбираем второй пункт: «Введите код образования пары устройства». С завода, код установлен 1234. Его и вводим. Программа настроит и пропишет в системе виртуальные COM-порты (у меня прописало 2 шт, но может быть и один):
В дальнейшем, можно посмотреть на какой COM-порт назначилось и его параметры. Для этого щелкаем правой кнопкой мыши по устройству и выбираем «Свойства» и вкладку «Оборудование». Там можно посмотреть и изменить параметры виртуального COM-порта:
Теперь, для приема и передачи данных на виртуальный COM порт можно использовать любую терминал программу. Я использовал бесплатную Tera Term. При каждом запуске программы предлагается выбор соединения, переключаем флажок на Serial и выбираем COM порт вашего Bluetooth модуля. У меня это COM4.
В терминале мы видим данные счетчика с платы Arduino:
Как видим, данные успешно передаются по Bluetooth соединению. Ниже в статье вы можете посмотреть видео.
Двунаправленный обмен данными по Bluetooth
Следующим шагом будет написание простенькой программы двунаправленного обмена данными между Arduino и компьютером. В схему я добавил светодиод, подключив его к 12 пину Arduino, через токоограничительный резистор. Но можно использовать и встроенный LED (обычно 13 пин).
Программа работает очень просто. После запуска или сброса устройства, в последовательный порт выводится сообщение с предложением нажать 1 или 0. В зависимости от нажатой цифры светодиод будет загораться или гаснуть. А также, от Arduino будет выводиться сообщение загорелся светодиод, или погас.
Подключаем к Android
Для платформы Android также существуют программы-терминалы. Но необходима специальная программа для работы в терминальном режиме по Bluetooth. Я установил вот эту: Bluetooth Terminal. Достаточно простая программа, ничего лишнего.
В моем Android устройстве нет Bluetooth модуля, но он прекрасно работает и с внешним USB-адаптером, который мы использовали для подсоединения к ПК. Подключаем адаптер по USB, включаем на андроиде bluetooth, находим и вводим пароль для нашего Bluetooth устройства на Arduino и наконец запускаем программу терминал. Нажимаем «Connect a device — Secure» и выбираем наше устройство BOLUTEK. Теперь вы можете отправлять и принимать данные с Bluetooth устройства при помощи терминала.
Источник
Стильная Bluetooth колонка c динамической подсветкой своими руками на Arduino
Привет, всем мастерам самоделкинам, любителям постоянно что-либо мастерить полезное своими руками. В сегодняшней статье я вам попытаюсь максимально подробно описать полезную настольную самоделку. А именно соберём мы сегодня миниатюрную настольную колонку, работающую по bluetooth. Настольной она является, потому что она не имеет аккумулятора и платы его питания. Засечёт чего её сборка будет крайне бюджетной. Корпус самоделки будет распечатан на 3д принтере, а это значит то, что даже если у вас «руки крюки», у вас всё равно получится приличная колонка, и ваши знакомые даже не подумают что эта самоделка. Кому эта самоделка подойдет? Она отлично подойдет тем, у кого нет колонок у компьютера, данная самоделка будет иметь достаточно хороший звук, и будет занимать совсем немного места. Ну, что ж, думаю не стоит тянуть с длинным предисловием, погнали.
Ссылки на некоторые компоненты конструкции вы может найти в конце статьи.
Для сборки компактной настольной колонки понадобится следующее, а именно:
— Arduino формата Nano
— RGB светодиодная лента
— Датчик звука для Arduino
— Усилитель звука
— Динамик
— Соединительные провода
— Разъём питания
— Понижающий преобразовать (не обязательно)
— Блок питания
Плавно начинаем сборку самоделки. Первым делом возьмём распечатанный цилиндр, на этом цилиндре необходимо закрепить светодиодную ленту. То есть необходимо приобрести RGB светодиодную ленту на самоклеящейся основе, она будет показывать разнообразные световые эффекты (те, что уже зашиты в прошивке или те, что вы сами запрограммируете). Наматываем ленту на цилиндр так как это изображено ниже. Перед приклеиванием ленты желательно обезжирить поверхность склеивания.
Идем далее. После того как приклеили светодиодную ленту на свое место. К этой светодиодной ленте необходимо припаять провода, к её крайним контактами, предварительно залудив сами контакты. 3D модель самоделки имеет небольшой просчет, мы не можем просунуть провода от светодиодной ленту вовнутрь цилиндра. Так вот для этого в указанном на фото месте необходимо проплавить жалом паяльника отверстие, диаметром достаточным для того чтобы через него пролезли провода от светодиодной ленты.
Следующим шагом в наш напечатанный цилиндр необходимо интегрировать звуковой датчик для Arduino. Перед этим необходимо припаять или просто подсоединить соединительные провода к трем его к контактам, а именно к контактам «AO», «G» и «+». Затем наклеиваем на данный модуль кусочек двухстороннего скотча (тем самым заизолировав контакты с обратной стороны). Приклеиваем модуль вовнутрь цилиндра, возле края.
Для следующего шага необходимо установить динамик на свое место. Пару слов о динамике. Динамик должен быть подходящего размера для вашего корпуса, и самое главное соответствовать характеристикам для взятого вами усилителя звука. Сам динамик вклеиваем в корпус, так как это изображено на фото ниже, при помощи какого либо клея. Сначала наносим клей на корпус и затем уже кладем динамик, и какое-то время плотно прижимаем его к корпусу.
Позаботимся о питании нашей самоделки. Так как блок питания автора выдает напряжение равное 12V, а плата Arduino Nano питается от 5V постоянного тока необходимо было использовать понижающий преобразователь специально для питания Arduino. Вы спросите, почему тогда нельзя питать самоделку от USB? Дело в том, что усилитель звука питается от 12V, и получается, что решение использования блока питания на 12 V более правленое, чем использовать 5V и повышающий преобразователь. Приклеиваем разъём и понижающий преобразователь к нижней крышке (в корпусе же проделано под него отверстие).
Следующим шагом возьмём звуковую плату, а если быть точнее то усилитель звука. Подбирать усилитель необходимо под ваш динамик или наоборот. Главное чтобы у усилителя было достаточно мощности, для того чтобы раскачать ваш динамик. К усилителю необходимо припаять провода питания от разъёма. Как это упоминалось ранее, усилитель автора питается от 12V, а это значит ему нужно подать питание напрямую с блока без понижающего преобразователя.
Также не забываем об питание нашей Arduino Nano. Ей уже подключаем питание через понижающий преобразовать на 5V. Провода питания припаиваем к контактам «GND» и «VIN». После чего Arduino и усилитель звука необходимо установить на дно корпуса (к той части, где установлен разъём питания). Закрепляем их на своем месте при помощи двойного скотча, так как это изображено ниже.
Плавно начинаем сборку корпуса. Для начала необходимо приклеить переходное кольцо к цилиндру со светодиодной летной и после чего соединить переходное кольцо с дном. Как вы, наверное, уже догадались, перед тем как склеить ранее упомянутые компоненты их необходимо соединить между собой. Соединять все компоненты между собой необходимо делать точно так, как это изображено на схеме ниже.
Соединив все компоненты электроники между собой, необходимо подключить Arduino к компьютеру и залить прошивку которую можно найти здесь. Запрограммировав Arduino, так как вам нужно или так как предложил сделать автор, окончательно собираем крокус, а именно вклеиваем дно с цилиндром с помощью суперклея. Надеваем крышку и все готов!
В итоге у нас получилась относительно мощная и компактная колонка, которая будет совсем немного занимать места вашего рабочего стола. Стоить отметить что крышка колонки должна быть выполнена из белого или прозрачного пластика, а иначе свет светодиодов не будет проходить через неё и эффект уже будет не тот. Так же стоит упомянуть, что самоделка всё-таки построена на базе Arduino Nano, а это означает то, что вы даже в такой конфигурации можете зашить дополнительный функционал, например будильник, ночник, индикатор уведомлений, все ограниченно вашей фантазией и желанием учиться программировать.
Вот видео автора самоделки:
Ну и всем спасибо за внимание и удачи в будущих проектах самодельщики!
Источник