Блютуз модуль ардуино, hc 05, hc 06

Блютуз модуль ардуино, hc 05, hc 06

Сегодня мы разберем простые примеры как можно подключить Bluetooth модуль к Arduino и настроить дистанционное управление с телефона.
Научимся выводить на LED индикатор значения нажатой кнопки на смартфоне. Ещё я покажу как менять имя Bluetooth модуля и пароль с помощью AT команд.

 

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

 

Вот так выглядят модули HC-05 и HC-06

Bluetooth HC-06 HC-05

Модули HC-05 может работать в двух режимах. В режиме Slave и Master.

Slave (ведомый) - устройство ожидает подключения, само при этом не способно подключиться к другому устройству.

Master (ведущий) устройство, которое может подключиться к Slave модулю для создания связи между двумя Ардуино посредством Bluetooth, а может работать и в режиме Slave.

Используя модуль Модули HC-05 можно объединять различные устройства по беспроводному каналу связи. Можно передавать команды от датчиков и контроллеров Arduino на Android устройства и наоборот, получать от них команды.
С помощью такой связки можно, например включать/выключать свет, или управлять поворотом сервопривода, набирая угол поворота на телефоне.


Модуль HC-05 позволяет наладить двухстороннюю связь по bluetooth, т.е. можно не только управлять Ардуино, но и получать данные от устройства. 

Отличие этих модулей в том, что HC-05 может работать в качестве сервера и клиента, а HC-06 только в качестве клиента. Он может только слушать и ждать команды, сам же не может их передать.
Как можно заметить на модуле HC-05 больше выводов – это связано с тем, что он используется и для приёма, и для передачи.

Модуль состоит из двух плат, спаянных друг с другом. Одна из них сам модуль, а вторая плата со стандартными выводами с шагом 2,54мм. и стабилизатором напряжения

Основные характеристики модулей Bluetooth HC 06/ HC 05:

  • Питание 3,3В – 5 В;
  • Максимальное входное напряжение 5 В;
  • Максимальный ток 45 мА;
  • Скорость передачи данных 1200–1382400 бод;
  • Рабочие частоты 2,40 ГГц – 2,48ГГц;
  • Мощность передачи 0,25 – 2,5мВт (для HC-05);
  • Поддержка спецификации bluetooth версии 2.1;
  • Малое потребление энергии;
  • Высокий уровень защиты данных;
  • Дальность связи 10 м;
  • Для подключения к смартфону используются следующие данные – пароль «1234», имя модуля HС-06 или HС-05.
  • настройки для подключения «имя, пароль, скорость передачи данных» можно изменить при помощи АТ-команд.
  • Рабочие температуры от -25С до 75С

 

Рассмотрим назначения выводов на модуле HC-05

HC-05

STATE - проверка состояние модуля. На этом контакте дублируется сигнал, который отображает встроенный на плате светодиод. Если он очень быстро мигает, значит модуль находится в активном состоянии. В режиме установления связи ток составляет 30-40 мА. Когда модуль устанавливает связь с другим устройством, светодиод просто горит. На выводе появляется высокий уровень, когда модуль сопряжён с другим bluetooth устройством, и низкий – когда не сопряжён. Можно считывать его значение, подключив к пину Arduino и назначив ему режим работы pinMode(pinStatus, INPUT) и таким образом узнавать состояние модуля.
RX - получение данных.
TX - передача данных.
GND - подключается к земле.
+5V - питание +5 Вольт
EN -  включение / выключение модуля. Если на этот контакт подать логическую 1 (5 вольт), модуль выключится, если подать логический 0 или не подключаться к этому контакту, модуль будет работать.

Посмотрим схему подключения HC-05 и HC-06

 

Схема соединения hc-05 с Ардуино

Обратите внимание, что подключение происходит крест-накрест передатчик (Tx) Ардуино подключается к приёмнику (Rx) модуля, а приёмник (Rx) Ардуино подключается к передатчику (Tx) модуля.

Данный модуль работает на частоте от 2,40 ГГц до 2,48 ГГц и поддерживает спецификацию bluetooth версии 2.1+EDR – это значит, что он обладает:

  • высокой скоростью до 3 Мбит/сек, 
  • пониженным потреблением энергии, 
  • повышенным уровнем защиты данных, 
  • устойчивостью к широкополосным помехам, а это значит несколько устройств могут общаться между собой, не мешая друг другу.
  • лёгким соединением Bluetooth-устройств.

Устойчивый приём с модулем гарантирован в пределах 10 метров. Это обеспечено антенной из дорожки в виде змейки, нанесённой на плате модуля.

Для связи платы Ардуино и компьютера используется интерфейс UART (универсальный асинхронный приемопередатчик).
Так как любая плата Ардуино имеет хотя бы 1 последовательный порт UART, для подключения Bluetooth модуля не требуются специализированные библиотеки и схемы.

Можно использовать аппаратный или программный UART.

Если вы используете аппаратный UART, то вы должны подключаться к пинам Ардуино TX и RX, но тогда вы не сможете загружать скетч в Ардуино не отключив предварительно модуль Bluetooth от платы. В противном случае скетч не запишется, потому что связь с Bluetooth модулем происходит по одному и тому же порту RX и TX, что и USB.
И вам придётся постоянно подключать и отключать модуль от платы, что не совсем удобно.
Это не касается плат Ардуино МЕГА у которой есть ещё 3 последовательных порта. 
И не забывайте отключать питание от модуля, иначе он может сгореть.

Так же желательно подключить модуль к Выводам Ардуино через делитель напряжения.

Делитель напряжения

а можно через DC/DC преобразователь 5В/3,3В, но я во всех проектах подключал напрямую и всё работало замечательно. Как будете подключать вы – это ваше дело.
Если использовать программный UART, то можно подключаться к любым цифровым выводам, но для этого надо будет установить библиотеку SoftwareSerial.h
Записывается так
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);       // RX, TX

Здесь для работы с Bluetooth создается программный последовательный порт на выводах 2 и 3.
Тогда не нужно будет постоянно отключать модуль при перезаписи скетчей в Arduino.

Если вы подключили всё правильно, то при подаче напряжения на модуль он сразу переходит в режим ожидания подключения, это можно заметить по часто мигающему светодиоду.

  1. Включаем Bluetooth на телефоне и ищем новые устройства
  2. Находим в списке расстройств "HC-06" или "HC-05"  и подключаемся к нему.
  3. Телефон спросит пин-код. необходимо ввести "1234" или "0000"

 Пароль по умолчанию для конкретного модуля может отличаться от "1234". Эту информацию должен предоставить изготовитель (продавец) модуля.

Если не можете войти, то узнать или сменить пароль можно посмотрев 09:21 минута этого видео.

Для работы со смартфоном  вам потребуется установить приложение для отправки данных на блютуз модуль hc-05/06.
Я использовал бесплатную программу Bluetooth Terminal, но можно использовать приложение RemoteXY.

Схема соединения
В видео я показал как работать с модулем и смартфоном. На примере кнопки на смартфоне Android и нажатия номера кнопки на индикатор.

Если у вас появились вопросы, то задавайте их на моём канале Youtube в комментариях.