Опубликовано

Руководство по сопряжению модулей HC-05 (ver. 4.0 2019[1]) и HC-06 (BT SPP V3.0)

По материалам руководства к набору “Знакомьтесь! Я — Робот. Робототехнический набор + КНИГА

Для сопряжения модулей HC-05 (master-модуль) и HC-06 (slave-модуль) необходимо выполнить следующее:

  1. Установить одинаковую скорость передачи на обоих устройствах.
  2. Убедитесь, что пароли на HC-05 и HC-06 совпадают (при необходимости установить одинаковые)
  3. Определить MAC адрес HC-06
  4. Соединить HC-05 с HC-06
  5. Связать HC-06 с HC-05
  6. Настроить HC-05 на соединение только с сопряженным устройствам HC-06
  7. Соединить HC-05 с HC-06

Прежде чем приступить к сопряжению модулей, опишем их подключение к ПК для последующей настройки и тестирования соединения. Обращаем внимание, что кроме двух сопрягаемых модулей HC-05 и HC-06, нам понадобится дополнительный плата Arduino и модуль HC-05, который поможет определить MAC-адрес HC-06 в каждой паре. В качестве дополнительного модуля мы использовали HC-05 версии 3.0-20170601. Мы указываем конкретные версии модулей, т.к. выяснили, что порядок настройка модулей разных версий может немного отличаться.


Примечание

Также для определения MAC-адреса можно использовать смартфон на базе Android с установленной терминальной программой (например, Serial Bluetooth Terminal или Bluetooth Terminal HC-05)


1. Подключение модулей Bluetooth к ПК

1.1. Подключение модуля HC-06

# Действия Примечание
1 Подключаем Bluetooth HC-06 к преобразователю USB-UART с помощью проводов «мама-мама».

01_BT-USB-UART-HC06

Обратите внимание, контакт «Transmit Data» одного устройства подключен к контакту «Receive Data» другого!
2 Включаем преобразователь USB-UART в разъем USB ПК.
3 Запускаем Arduino IDE.
4 Выбираем порт, к которому подключен USB-UART (Инструменты | Порт)

5 Открываем монитор последовательного порта (Инструменты | Монитор порта). Выбираем настройки:.

Скорость 9600 бод

Режим «Нет конца строки»

6 Для контроля правильности подключения вводим команду

AT

и получаем в ответ отклик от модуля Bluetooth HC-06

OK

1.2. Подключение master-модуля HC-05 (ver. 4.0). Модуль брелка

# Действия Примечание
1 Подключаем Bluetooth HC-05 (ver. 4.0) к преобразователю USB-UART с помощью проводов «мама-мама» как показано на рис ниже.

01b_BT-USB-UART-HC05

Обратите внимание, контакт «Transmit Data» одного устройства подключен к контакту «Receive Data» другого!
2 Включаем преобразователь USB-UART в разъем USB ПК. Светодиод на BT будет медленно мигать. Обращаем внимание, что подача напряжения 3,3 В на контакт EN переводит BT при подключении к ПК в Режим AT-команд #1.

В этом режиме BT работает на скорости 38400 бод и реагирует на определенный набор команд.

3 Запускаем Arduino IDE.
4 Выбираем порт, которому подключен USB-UART (Инструменты | Порт)

5 Открываем монитор последовательного порта (Инструменты | Монитор порта). Настраиваем Arduino.

Скорость 38400 бод

Режим «NL & CR»

6 Для контроля правильности подключения вводим команду

AT

и получаем в ответ отклик от модуля Bluetooth HC-06

OK

1.3. Подключение master-модуля HC-05 (ver. 3.0 20170601). Модуль для определения MAC-адреса HC-06

Этот модуль мы используем, чтобы создать «испытательный стенд» для определения MAC-адреса модулей HC-06, которые мы будем сопрягать с «брелком». Он является «стационарным» устройством для определения адресов всех модулей HC-06 и настраивается только один раз перед началом работы.

1 этап

# Действия Примечание
1. Подключаем Bluetooth HC-05 (ver. 3.0) к плате Arduino Uno, как показано на рисунке.

Подключение HC-05 для для определения MAC-адреса

2. Запускаем Arduino IDE.
3. Откройте в Arduino IDE и загрузите скетч Bluetooth_INQ-1.ino на плату Arduino UNO (см. внизу)..
4 Переведите BT модуль в «первый» режим ввода команд. Для этого

– Отключите провод питания модуля BT (VCC)

– Подайте на пин EN напряжение 3,5В (можно и 5 В) и не отключайте. Напряжение можно подать от платы Arduino Uno (или кантакта 3V3 преобразователя USB-UART/TTL CP2102)

– Снова подключите провод питания модуля BT (VCC)

– Если вы успешно вошли в режим AT-команд #1, то светодиод будет медленно мигать, и вы сможете подключиться к нему со скоростью 38400 бод с помощью загруженного скетча..

BT V3.0 есть два AT-режима, которые «понимают» несколько разные наборы команд.

Вместо подачи на контакт EN напряжения +3,5 В можно при запуске держать нажатой кнопку на модуле BT и затем зафиксировать ее в таком положении, например прищепкой или «крокодилом».

5 Введите следующие AT-команды

AT
AT+UART=115000,0,0
AT+RMAAD
AT+ROLE=1
AT+RESET
AT+CMODE=1
AT+INQM=0,5,5

AT+UART=115000,0,0 устанавливает скорость. 115200.AT+RMAAD очищает все сохраненные соединения

AT+ROLE=1 устанавливает его в качестве ведущего

AT +RESET устройство перезапускается для перехода на master

AT+CMODE=1 принимает все виды устройств

AT+INQM=0,5,5 запрашивает в стандартном режиме, с 5 максимальными подключениями или 5 секундами


Листинг 1. Bluetooth_INQ-1.ino

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2, 3); // RX | TX`
<strong>const long baudRate = 38400; </strong>
char c=' ';
boolean NL = true;
void setup()
{
Serial.begin(9600);
Serial.print("Sketch: "); Serial.println(__FILE__);
Serial.print("Uploaded: "); Serial.println(__DATE__);
Serial.println(" ");
BTserial.begin(baudRate);
Serial.print("BTserial started at "); Serial.println(baudRate);
Serial.println(" ");
BTserial.println("AT");
delay(1000);
}
 
void loop()
{
// Read from the Bluetooth module and send to the Arduino Serial Monitor
if (BTserial.available())
{
c = BTserial.read();
Serial.write(c);
}
// Read from the Serial Monitor and send to the Bluetooth module
if (Serial.available())
{
c = Serial.read();
BTserial.write(c);
// Echo the user input to the main window. The "&gt;" character indicates the user entered text.
if (NL) { Serial.print("&gt;"); NL = false; }
Serial.write(c);
if (c==10) { NL = true; }
}
}

2 этап

1 Загрузите на плату Arduino скетч Bluetooth_INQ-2.ino.

По сравнению с Bluetooth_INQ-1.ino в нем изменен только один параметр.

const long baudRate = 115200;

т.к. вы на первом этапе уже задали для модуля BT скорость 115200 бод

2. Переведите BT модуль во «второй» режим ввода команд. Для этого:

  • включите питание (не удерживая кнопку и не подавая питание на пин EN). Светодиод LED на модуле BT начинет быстро мигать.
  • подайте питание +3,5 В на пин EN (или нажмите и удерживайте кнопку). Светодиод будет продолжать быстро мигать, но теперь вы можете подключиться к устройству с настроенной скоростью передачи данных.
Пример

Uploaded: Sep 3 2021
BTserial started at 9600
AT
OK
AT+STATE
+STATE:CONNECTED
OK
AT+INIT
ERROR:(17)
AT+INQ
+INQ:20:4:BDD6A7,1F00,7FFF
+INQ:20:4:BDD6A7,1F00,7FFF

Откройте Монитор последовательного порта и введите команды.

AT
AT+STATE?
AT + RMAAD
AT + ROLE= 1
AT + RESET
AT + RMAAD очищает все ранее сопряженные устройства.
AT + ROLE = 1 переводит HC-05 в режим Master.
AT + RESET сбрасывает HC-05. Иногда это необходимо после смены ролей.

HC-05_to_HC-06-HC-05_Connect01
AT + CMODE = 0
AT + INQM = 0,5,9
AT + INIT
AT + INQ
AT + CMODE = 0 позволяет HC-05 подключаться к любому устройству.
AT + INQM = 0,5,9 устанавливает запрос для поиска до 5 устройств в течение 9 секунд.
AT + INIT инициирует профиль SPP. Если SPP уже активен, вы получите сообщение об ошибке (17), которое можно игнорировать.
AT + INQ выполняет поиск других устройств Bluetooth.
HC-05_to_HC-06-HC-05_Connect02
На экране Монитора порта появится список обнаруженных устройств, например

+ INQ: A854: B2: 3FB035,8043C, 7FFF

Первая группа цифр определяет MAC- адрес найденного HС-06.

На приведенном выше снимке экрана видно, что HC-05 обнаружил 2 устройства Bluetooth.
+ INQ: A854: B2: 3FB035,8043C, 7FFF
+ INQ: 3014: 10: 171179,1F00,7FFFЧтобы узнать имя найденного устройства, мы можем использовать командуAT + RNAME?АдресДля первого устройства это будет команда

AT + RNAME?
A854, B2,3FB035

Для второго устройства

AT + RNAME?
3014,10,171179

Листинг 2. Bluetooth_INQ-2.ino

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include &lt;SoftwareSerial.h&gt;
SoftwareSerial BTserial(2, 3); // RX | TX`
//const long baudRate = 38400;
<strong>const long baudRate = 115200; </strong>
char c=' ';
boolean NL = true;
void setup()
{
Serial.begin(9600);
Serial.print("Sketch: "); Serial.println(__FILE__);
Serial.print("Uploaded: "); Serial.println(__DATE__);
Serial.println(" ");
BTserial.begin(baudRate);
Serial.print("BTserial started at "); Serial.println(baudRate);
Serial.println(" ");
}
void loop()
{
// Read from the Bluetooth module and send to the Arduino Serial Monitor
if (BTserial.available())
{
c = BTserial.read();
Serial.write(c);
}
// Read from the Serial Monitor and send to the Bluetooth module
if (Serial.available())
{
c = Serial.read();
BTserial.write(c);
// Echo the user input to the main window. The "&gt;" character indicates the user entered text.
if (NL) { Serial.print("&gt;"); NL = false; }
Serial.write(c);
if (c==10) { NL = true; }
}
}

2. Настройка модулей

2.1. Установка скорости и пароля HC-06

ATOKAT+VERSIONOKlinvorV1.8AT+BAUD8OK115200

# Действия Примечание
1 Отправляем команду AT, модуль отвечает OK. Все в порядке, можно продолжать.

Должен быть выбран режим ввода Мониторе порта «Нет конца строки»!

AT

OK

2 Изменяем скорость обмена на 115200

Вводим команду AT+BAUD8

AT + BAUD8 устанавливает скорость обмена 115200 для модуля Bluetooth HC-06

AT+VERSIONBT SPP V3.0
AT+BAUD4
OK9600
ATOKAT+VERSIONOKlinvorV1.8AT+BAUD8OK115200
3 Изменяем пароль на 1234

Вводим команду AT+PIN1234

AT+PIN1234

OK1234

Примечание

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

2.2. Определение MAC-адреса HC-06

1 Переведите модуль BT HC-05 (ver.3.0 2017 20170601) во «второй» режим ввода команд. Для этого:

  • включите питание (не удерживая кнопку и не подавая питание на пин EN). Светодиод LED на модуле BT начинает быстро мигать.
  • подайте питание +3,5 В на пин EN (или нажмите и удерживайте кнопку). Светодиод будет продолжать быстро мигать, но теперь вы можете подключиться к устройству с настроенной скоростью передачи данных.
2 Выключите и включите BT HC-06
3 Откройте Монитор порта и запишите MAC-адрес устройств, которые обнаружил ваш «измерительный стенд» на базе bluetooth HC-05 (ver.3.0 2017 20170601)

2.3. Настройка HC-05 (ver. 4.0) и сопряжение BT-модуля

1 этап

1. Подключите BT-модуль в режиме AT-команд #1 (на контакт EN при включении подано напряжение 3,3 В)

AT#1-BT-USB-UART

Если вы успешно вошли в режим AT, то светодиод на BT будет медленно мигать, и вы сможете подключиться к модулю со скоростью 38400 бод с помощью загруженного скетча.
2 Подключитесь к модулю с помощью Монитора порта (или другой терминальной программы, например Termite) на скорости 38400
3 Настройте скорость и пароль модуля HC-05 (ver. 4.0) с помощью следующих AT-команд:

AT
AT+NAME=HC-05-20-4-BDD6A7
AT+PSWD=1234
AT+STATE?
AT + RMAAD
AT + ROLE= 1
AT + CMODE = 1
AT+UART=115200,0,0
AT+RESET

AT + CMODE = 1 — модуль в роли ведущего (HC-05) подключается к любому ведомому Bluetooth устройству. В нашем случае — и к HC-06

В качестве имени HC-05 удобно использовать MAC-адрес подключенного к нему HC-06

2 этап

1 Отключите питание BT HC-06 slave, к которому вы подключаете HC-05
2. Подключите модуль HC-05 к ПК в Режиме AT#2, пошагово как показано на рис. ниже.

AT#2_BT-USB-UART

3 Соедините HC-05 (ver.4.0) с HC-06

Для создания пары мы используем команду

AT + PAIR = <addr>, <timeout>.

Введите команду

AT + PAIR = 20,4,BDD6A7,9

Если HC-05 не может соединиться с HC-06 в течение 9 секунд, вы получите сообщение об ошибке.

Если соединение прошло успешно, будет выведено «ОК».

MAC-адрес модуля HC-06 мы определили на предыдущем шаге 1.3 (2 этап). В нашем примере это 20,4,BDD6A7
4 Свяжите HC-06 (ver.4.0) с HC-05.

Привязка просходит с помощью команды

AT + BIND = <addr>

В нашем примере это будет команда

AT + BIND = 20,4,BDD6A7

5 Настройте HC-05 на подключение только к сопряженным устройствам.

Делаем это с помощью команды CMODE

AT + CMODE = 0

AT + CMODE = 0 — модуль в роли ведущего подключается только к тому Bluetooth устройству, адрес которого указан командой AT+BIND. В нашем случае HC-05 (ver.4.0) подключается к HC-06
6 Ссылка на HC-06

Используйте команду ссылки

AT + LINK = <addr>

В нашем случае

AT + LINK = 20,4,BDD6A7

Если все в порядке, вы получите ответ «ОК»

 

7
  • Для проверки соединения
  • 1. Подключите питание к вашему модуля BT HC-06. Светодиод на модуле начинает быстро мигать.
  • 2. Подключите питание к вашему модуля BT HC-05. Светодиод на модуле также начинает быстро мигать.
  • 3. Если вы все сделали правильно, то через 5-10 сек индикация изменится.
  • Светодиод на HC-05 (ver.4.0) будет мигать 2 раза подряд каждые 2 секунды.
  • Светодиод на HC-06 должен гореть постоянно.

Поздравляем Вы успешно настроили HC-05 и сопрягли его с HC-06!

Теперь HC-05 будет автоматически подключаться к HC-06 при каждом включении и входить в режим связи.

Если вы хотите продолжить работу в режиме AT, вам необходимо перезагрузить модуль с помощью контакта 34 HIGH или с замкнутым кнопочным переключателем.

3. Проверка работы пары HC05-HC-06

Осталось проверить работоспособность созданной пары Bluetooth модулей.

  1. Отключим питание slave-устройства HC-06.
  2. Отсоединим преобразователь USB-UART от компьютера и отсоединим провод «+3.3V — EN», больше мы в нем не нуждаемся. Master-модуль остается подключенным лишь четырьмя проводами к USB-UART, теперь это законченное устройство. Для удобства можно заменить провода на более короткие, скрепить изолентой.
1. Установите модуль HC-06 в плату LV. Включаем питание. Модуль часто замигал, он готов к новому сеансу связи. index
2 Извлеките и вновь установите «брелок» в USB ПК. Пара секунд, и светодиодная индикация изменилась. Работает!
3 Откройте mBlock и выберите номер порта, к которому подключен HC-05 (ver. 4.0).

Соединить | Serial Port | Номер COM-порта

(в нашем случае это COM13)

4
5 Выберите вкладку simpleBot Programm и нажмите на блок _on board BUZZER. В ответ вы должны услышать звук динамика на плате LV.

Это означате, что все в порядке!

6

Примечание

Обратите внимание, что компьютер вообще ничего не знает о существовании Bluetooth. Для него наш «брелок» — просто COM-порт. Соответственно, мы больше не нуждаемся ни в драйверах Bluetooth, ни в какой бы то ни было его настройке Bluetooth. И потраченное нами время с лихвой будет компенсировано во время занятий.


Примечание

Стоит добавить, что slave-модуль по-прежнему допускает соединение с любого Bluetooth-устройства. Мы сможем управлять робоплатформой и с компьютера, и с планшета, а теперь еще при помощи пульта дистанционного управления на базе Arduino.


HC05-HC06

  1. Речь идет об HC-05 версии 4.0-20190728
Опубликовано

Установка имени, скорости и пароля Bluetooth-модуля HC-06

По материалам руководства к набору “Знакомьтесь! Я — Робот. Робототехнический набор + КНИГА

Вы можете самостоятельно с помощью AT-команд установить для модуля Bluetooth имя, пароль и скорость обмена.

Для этого:

1. Подключите модуль к плате, как показано на рисунке ниже. Включите питание на плате с помощью ползункового переключателя (ON).

2. Откройте среду разработки Arduino IDE.

3. Выберите плату Arduino UNO (Инструменты | Arduino AVR Boards | Arduino Uno) и номер Порта.

4. Загрузите на плату скетч для ввода AT-команд в модуль Bluetooth.


Примечание

В строке mySerial.begin(9600) указана скорость передачи данных, установленная на модуле Bluetooth. Набор комплектуется модулем, для которого уже установлена «правильная» скорость — 115 200 бод. В новом Bluetooth-модуле HC-06 по умолчанию установлена скорость 9600 бод.


Листинг 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "SoftwareSerial.h" // подключаем библиотеку
SoftwareSerial mySerial(9,10); // указываем пины tx и rx
 
void setup() {
pinMode(9,INPUT);
pinMode(10,OUTPUT);
Serial.begin(9600); // включаем hardware-порт
mySerial.begin(9600); // включаем software-порт
Serial.println("start setting");
}
 
void loop() {
if (mySerial.available()) {
char c = mySerial.read(); // читаем из software-порта
Serial.print(c); // пишем в hardware-порт
}
if (Serial.available()) {
char c = Serial.read(); // читаем из hardware-порта
mySerial.write(c); // пишем в software-порт
}
}

5. Откройте Монитор порта и выберите скорость обмена 9600 бод и режим ввода Нет конца строки.

6. Отправьте на модуль команду AT (без кавычек). Если модуль ответит OK, то всё в порядке, можно продолжать.

7. Для обмена Bluetooth-модуля HC-06 с приложением mBlock следует установить скорость модуля равной 115200 бод. Для этого в верхнем поле Монитора порта введите AT-команду

AT+BAUD8

и нажмите кнопку Отправить.

В ответ вы получите сообщение от модуля Bluetooth:

OK115200

Модуль готов к установке в стандартный разъём на плате робота.

В таблице ниже приведены AT-команды, доступные для модуля HC-06.

Список AT-команд для модуля HC-06

Назначение AT-команда Параметры Ответ от модуля
1 Изменение пароля AT+PIN1234 Здесь 1234 — пароль OK1234
2 Изменение имени AT+NAMEHC-06-1 Здесь HC-06-1 — новый пароль OKsetname
3 Узнать версию модуля AT+VERSION BT SPP V3.0
4 Изменение скорости AT+BAUDx BAUD1 – 1200 бод
BAUD2 – 2400 бод
BAUD3 – 4800 бод
BAUD4 – 9600 бод
BAUD5 – 19200 бод
BAUD6 – 38400 бод
BAUD7 – 57600 бод
BAUD8 – 115200 бод
BAUD9 – 230400 бод
OK1200

OK2400

OK4800

OK9600

OK19200

OK38400

OK57600

OK115200

OK230400

 


Совет

Полезно будет как-то пометить подготовленный модуль, например, подклеить скотчем кусочек бумаги и записать прямо на нём скорость и имя.

Опубликовано

Подключение робота к настольному компьютеру по каналу Bluetooth (Windows 11)

По материалам руководства к набору “Знакомьтесь! Я — Робот. Робототехнический набор + КНИГА

Для подключения робота к настольному персональному компьютеру (ПК) по каналу Bluetooth (без кабеля USB) вам потребуется приобрести внешний Bluetooth-адаптер, который подключается в USB-разъём ПК. В настоящее время в специализированных магазинах представлено большое количество подобных адаптеров. Мы тестировали подключение с недорогим адаптерами в ценовом диапазоне 250–300 руб.

Подключение осуществляется в четыре этапа:

  1. Установка драйверов для Bluetooth-адаптера.
  2. Сопряжение модуля Bluetooth HC-06 и компьютера.
  3. Настройка параметров.
  4. Подключение модуля HC-06 к компьютеру.

1. Установка драйвера адаптера Bluetooth

1. Установите Bluetooth-адаптер в разъём USB на настольном компьютере.

2. Практически во всех случаях для Windows 10/11 драйвер для Bluetooth установится автоматически, и в области уведомлений Windows появится значок Bluetooth .

3. В Диспетчере устройств должны появиться раздел Bluetooth и сам адаптер. Если адаптер не будет опознан и будет отображаться как неизвестное устройство (другое устройство), придётся устанавливать драйверы вручную.

2. Сопряжение модуля Bluetooth HC-06 и ПК

1. Установите модуль HC-06 на плату SPBot и включите питание. Светодиод на Bluetooth начинает часто мигать. Кабель USB подключать не надо.

2. Откроется окно Параметры | Bluetooth и другие устройства. Нажмите кнопку + Добавление Bluetooth или другого устройства.

3. Щёлкните по команде  Bluetooth.

4. Появится список устройств Bluetooth, обнаруженных компьютером поблизости. Среди обнаруженных устройств вы увидите и ваш модуль HC-06. Выберите его…

5. Введите пароль (обычно для HC-06 это 1234 или 0000) и нажмите кнопку Подключиться.

6. Появится сообщение «Ваше устройство готово к использованию!». Нажмите кнопку Готово внизу окна Добавить устройство. Светодиод на модуле Bluetooth HC-06 будет продолжать быстро мигать.

3. Настройка параметров

Вновь откройте правой кнопкой мыши контекстное меню приложения и выберите команду Открыть параметры.

Установите флажки, как показано на рисунке справа.

Выберите вкладку COM-порты и запишите, какие именно COM-порты использует ваше сопряжение.

Знание номеров портов вам понадобится, чтобы установить скорость 115 200 бод. Именно на этой скорости идёт обмен информацией с mBlock.

Примечание

По умолчанию для HC-06 установлена скорость 9600 бод. Для набора скорость увеличена до 115 200 бод с помощью AT-команд.

3. Откройте Диспетчер устройств.

4. В окне Диспетчер устройств в группе Порты (COM и LPT) вы увидите порты, выделенные для модуля HC-06. В нашем случае это COM32 и COM33.

5. Дважды щёлкните мышью по названию порта, в открывшемся окне Свойства выберите вкладку Параметры порта и установите параметр Бит в секунду в значение 115200.

Выполните эти действия для обоих портов (в нашем случае для COM32 и COM33).

4. Подключение HC-06 к компьютеру с помощью mBlock

1. В меню программы mBlock выберите команды Соединить | Блютус | Discover.

2. Компьютер начнёт поиск устройств Bluetooth, расположенных поблизости.

3. По окончании поиска на экране появится окно со списком всех обнаруженных устройств Bluetooth с указанием их имени и MAC-адреса. Выберите из списка наш модуль HC-06-20190901.

4. Появится окно Bluetooth Connected, и в течение 15–20 секунд будет осуществляться подключение HC-06 к роботу SPBot. По окончании соединения светодиод на модуле Bluetooth перестанет мигать. Закройте окно Bluetooth Connected.

5. Всё готово! Модуль HC-06 подключен к программе mBlock.

При повторном запуске приложения mBlock наш модуль уже будет прописан в меню программы Соединить | Блютус. Выберите HC-06-20190901 (00:21:06:08:51:05), и через 15–20 секунд модуль будет подключен.

Опубликовано

Подключение модуля Bluetooth HC-06 к ноутбуку (Windows 10/11)

По материалам руководства к набору “Знакомьтесь! Я — Робот. Робототехнический набор + КНИГА

Все современные ноутбуки оборудованы модулем Bluetooth (BT). Это позволяет подключиться к роботу по каналу BT без кабеля USB. Ниже это показано на примере ОС Windows 11.

Подключение осуществляется в три этапа:

  1. Сопряжение модуля Bluetooth HC-06 и ноутбука.
  2. Настройка COM-порта ноутбука на скорость 115 200 бод.
  3. Подключение модуля HC-06 к ноутбуку.

1. Сопряжение модуля Bluetooth HC-06 и ноутбука в Windows 11

1. Установите модуль HC-06 на плату SPBot и включите питание. Светодиод на Bluetooth начинает часто мигать. Кабель USB подключать не надо.

2. Откройте окно Параметры | Bluetooth и устройства. Нажмите на кнопку + Добавить устройство.

3. Щёлкните по команде  Bluetooth.

4. Появится список устройств Bluetooth, обнаруженных ноутбуком поблизости. Среди обнаруженных устройств вы увидите и ваш модуль HC-06. Выберите его…

5. Введите пароль (обычно для HC-06 это 1234 или 0000) и нажмите кнопку Подключиться.

6. Появится сообщение «Ваше устройство готово к использованию!». Нажмите кнопку Готово внизу окна Добавить устройство. Светодиод на модуле Bluetooth HC-06 будет продолжать быстро мигать.

7. Окно Добавить устройство закроется, и вы увидите, что ваш модуль BT HC-06 появился в списке устройств Bluetooth, которые сопряжены с вашим компьютером.

2. Настройка для COM-портов скорости на 115 200 бод

1. Прежде всего необходимо определить номер COM-порта, к которому подключен модуль HC-06. Для этого выберите команду Параметры | Bluetooth и устройства | Устройства | Дополнительные параметры Bluetooth.

2. В окне Параметры Bluetooth щёлкните по вкладке COM-порты, и вы увидите номера COM-портов, выделенных на ноутбуке для вашего HC-06.

3. Откройте Диспетчер устройств. Для этого щёлкните правой кнопкой мыши по логотипу Windows (меню Пуск) или нажмите сочетание клавиш <Win>+<X> и выберите Диспетчер устройств из списка параметров.

4. В окне Диспетчер устройств вы увидите в группе Порты (COM и LPT) порты, выделенные для модуля HC-06. В нашем случае это COM3 и COM4.

5. Дважды щёлкните мышью по названию порта, в открывшемся окне Свойства выберите вкладку Параметры порта и установите параметр Бит в секунду в значение 115200. Выполните эти действия для обоих портов (в нашем случае для COM3 и COM4).

3. Подключение HC-06 к ноутбуку с помощью mBlock

1. В верхнем меню программы mBlock выберите команды Соединить | Блютус | Discover.

2. Ноутбук начнёт поиск устройств Bluetooth, расположенных поблизости.

3. По окончании поиска на экране появится окно со списком всех обнаруженных устройств Bluetooth с указанием их имени и MAC-адреса. Выберите из списка наш модуль HC-06.

4. Появится окно Bluetooth Connected, и в течение 15–20 секунд будет осуществлять подключение HC-06 к роботу SPBot. По окончании соединения светодиод на модуле Bluetooth перестанет мигать. Закройте окно Bluetooth Connected.

5. Всё готово! Модуль HC-06 подключен к программе mBlock.

При повторном запуске приложения mBlock наш модуль уже будет прописан в меню программы Соединить | Блютус. Выберите HC-06 (00:20:04:BD:D3:A9), и через 15–20 секунд модуль будет подключен.

Опубликовано

Модуль BLE Bluetooth HM-10/11

По материалам руководства к набору “Умный дом на базе Arduino. Большой набор + КНИГА

Модули Bluetooth оснащены последовательным портом, способным взаимодействовать с платой Arduino через контакты RX (прием) и TX (передача), и приемопередатчиком, использующим протокол беспроводной связи Bluetooth для взаимодействия «по воздуху» с другими устройствами, который понимают этот протокол (например, со смартфонами). Такой приемопередатчик функционирует как модем, преобразовывая сигналы протокола Bluetooth в обычный асинхронный последовательный протокол и обратно.

Существуют различные протоколы Bluetooth. Модули HM-10 и HM-11 поддерживают протокол Bluetooth 4.0, что дает возможность их подключения к смартфонам и на ОС Android, и на iOS (iPhone) — в отличие от популярных модулей HC-05 и HC-06, которые могут взаимодействовать только с ОС Android. HM-10/11 нельзя соединить с модулями HC-06 и HC-05, т. к. последние поддерживают протокол Bluetooth 2/2.1.

Наиболее существенным достоинством модулей Bluetooth BLE (Bluetooth Low Energy, Bluetooth LE) является их сверхмалое пиковое энергопотребление, среднее энергопотребление и энергопотребление в режиме простоя, что весьма важно для устройств с автономным питанием.


Примечание

Модуль HM-11, по своим эксплуатационным характеристикам аналогичен HM-10, но занимает меньшую площадь и имеет меньшее количество контактов.


Внешний вид, назначение контактов

bluetooth-hm-10

Рис. M5.1. Внещний вид и назначение контактов Bluetooth HM-10

Технические характеристики

Наименование Значение
Чип Bluetooth CC2540 или CC2541
Протокол связи Bluetooth 4.0 BLE
Радиус действия до 100 метров
Объем flash-памяти (для хранения прошивки и настроек), Мбит 8
Частота радиосигнала, ГГц 2,40 ÷ 2,48
Ток
  • в режиме установки связи — до 50 мА
  • после установки связи 9 мА
  • в режиме сна — 50 ÷ 200 µA
Напряжение питания, В + 2,5 В до + 3,3 В
Пароль по умолчанию 000000
Имя Bluetooth устройства по умолчанию HMSoft, BT05-A

До тех пор, пока модуль HM-10 не сопряжен ни с одним устройством, он находится в режиме команд и об этом сообщает мигающим светодиодом. При сопряжении с устройством светодиод начинает гореть постоянно, а модуль переходит в режим передачи данных.

Схема подключения

3-05-2-bluetooth

Рис. M5.2. Подключение Bluetooth HM-10

Тестируем подключение Bluetooth

  1. Установим терминальное приложение для смартфона. Их достаточно много, и функциональные возможности их примерно одинаковы. Предлагаем для смартфонов с OC Android популярное бесплатное приложение Serial Bluetooth Terminal, ориентированное на работу как с «классическими» модулями Bluetooth, так и с модулями, которые поддерживают протокол Bluetooth 4.0 BLE (рис. M5., а). Для iPhone и iPad можно использовать приложение HM10 Bluetooth Serial Lite (рис. M5.3, б).
3-05-3-bluetootch
а б

Рис. M5.3. а — окно установки Serial Bluetooth Terminal на Google Play; б — установка приложение HM10 Bluetooth Serial Lite для iOS

  1. Установив приложение на смартфон, откройте его. При этом Bluetooth на смартфоне должен быть включен.
  2. Подключите Bluetooth, как показано на рис. M5.2, а. Индикатор, расположенный на модуле Bluetooth, начнет мигать в ожидании соединения.
  3. Выберите в меню команду Device, а затем нажмите кнопку SCAN в правом верхнем углу окна (рис. M5.2, б).
а б

Рис. M5.4. Поиск устройств Bluetooth BLE в радиусе действия вашего телефона

  1. После недолгого поиска на экране появится список обнаруженых модулей Bluetooth (рис. M5.5, а). Ваш модуль может быть обозначен в списке на вкладке BLUETOOTH LE как HM-10 или BT05-A (в зависимости от производителя).
  2. Щелкните двойным щелчком на имени вашего модуля Bluetooth, и произойдет соединение модуля с платой Arduino через последовательный порт. При этом светодиодный индикатор на модуле перестанет мигать, а на экране смартфона появится надпись Connected (рис. M5.5, б).
а б

Рис. M5.5. Подключение к Bluetooth BLE

Совет

В зависимость от производителя конкретного устройства Android и версии операционной системы (для Android она должна быть выше 4.3) вы можете увидеть или не увидеть HM-10 среди устройств, обнаруженных Bluetooth (Bluetooth devices). Если ваш Android не находит HM-10 в своих настройках Bluetooth, попробуйте использовать приложение BLE Scanner app.

Взаимодействие смартфона и Arduino через Bluetooth BLE

Теперь, когда соединение Arduino и модуля Bluetooth установлено, осуществим обмен информацией между устройствами. Для этого:

  1. Временно отсоедините провода, подключенные к контактам D0 (RX) и D1(TX) платы Arduino, и загрузите код, приведенный в листинге M5.1.

Листинг M5.1. Обмен информацией между Arduino и модулем Bluetooth

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void setup() {
 
Serial.begin(9600);
 
Serial.println("poexali!");
 
}
 
void loop() {
 
if (Serial.available()) {
 
char c = Serial.read(); // читаем из software-порта
 
Serial.print(c); // пишем в hardware-порт
 
}
 
}

Если при загрузке скетча на Arduino не отключать эти провода, то компилятор выдаст ошибку, показанную на рис. M5.6. Конфликт связан с тем, что пины D0 и D1 также используются для связи с компьютером посредством USB.

Рис. M5.6. Ошибки загрузки скетча в Arduino

  1. Снова подключите провода к контактам D0 (RX) и D1(TX) и выполните сопряжение смартфона с модулем Bluetooth, как было показано на рис. M5.5.
  2. Выполнив сопряжение, можно поздороваться с хостом на другом конце Bluetooth-канала (рис. M5.7). Как можно видеть, приветствие прошло успешно!
3-05-7a-bluetootch 3-05-7b-bluetootch
а б

Рис. M5.7. Привет Arduino! — вводим на смартфоне (а) и получаем в Мониторе порта (б)

При отладке скетча вам придется многократно отключать провода от контактов D0 и D1 во время загрузки скетча в Arduino. Кроме того, одного порта вам может быть недостаточно. В этом случае целесообразно использовать библиотеку SoftwareSerial, которая предустановлена в Arduino IDE. Библиотека SoftwareSerial позволяет реализовать последовательный интерфейс не только на D0 и D1, но и на любых других цифровых выводах Arduino с помощью программных средств, дублирующих функциональность UART (отсюда и название «SoftwareSerial»). Кроме того, она дает возможность программно создавать несколько последовательных портов, работающих на скорости до 115200 бод.

  1. Подключите контакты TX и RX модуля Bluetooth к выводам D2 и D3 (RXD3, TXD2) платы Arduino (а не к D0 и D1, как вы делали ранее!).
  2. Загрузите код, приведенный в листинге M5.2.

Листинг M5.2. Сопряжение платы Arduino и модуля Bluetooth

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include &lt;SoftwareSerial.h&gt;
 
SoftwareSerial mySerial(2,3);//указываем пины RX и TX соответственно
 
void setup() {
 
pinMode(2,INPUT);
 
pinMode(3,OUTPUT);
 
Serial.begin(9600);
 
mySerial.begin(9600);
 
Serial.println("poexali!");
 
}
 
void loop() {
 
if (mySerial.available()) {
 
char c = mySerial.read(); // читаем из software-порта
 
Serial.print(c); // пишем в hardware-порт
 
}
 
if (Serial.available()) {
 
char c = Serial.read(); // читаем из hardware-порта
 
mySerial.write(c); // пишем в software-порт
 
}
 
}
  1. Введите в Мониторе порта любой текст (рис. M5.8, а) и нажмите кнопку Отправить — текст появится в окне терминала смартфона (рис. M5.8, б).
3-05-8a-bluetootch 3-05-8b-bluetootch
а б

Рис. M5.8. Привет Android! вводим в Мониторе порта (а) и получаем на смартфоне (б)

Управление светодиодом RGB по Bluetooth

Теперь осуществим на практике управление электронным прибором со смартфона по каналу Bluetooth.

1. Соберите схему, представленную на рис. M5.9.

3-05-9

Рис. M5.9. Управление RGB-светодиодом через Bluetooth

2. Загрузите скетч, приведенный в листинге M5.3.

Листинг M5.3. Управление светодиодом RGB через Bluetooth

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include &lt;SoftwareSerial.h&gt;
 
// Константы для хранения номеров контактов вывода:
 
const int greenPin = 9; //"зеленый" контакт LED RGB
 
const int bluePin = 10; //"синий" контакт LED RGB
 
const int redPin = 11; //"красный" контакт LED RGB
 
const int pinRX = 2; //RX – вход для приема данных -&gt; к TX bluetooth
 
const int pinTX = 3; //TX – выход для передачи данных -&gt; к RX bluetooth
 
int currentPin = 0; // текущий контакт для задания яркости
 
SoftwareSerial mySerial(pinRX,pinTX); // указываем пины rx и tx
 
void setup() {
 
pinMode(pinRX,INPUT);
 
pinMode(pinTX,OUTPUT);
 
pinMode(redPin, OUTPUT);
 
pinMode(greenPin, OUTPUT);
 
pinMode(bluePin, OUTPUT);
 
 
 
Serial.begin(9600);
 
mySerial.begin(9600);
 
Serial.println("poexali!");
 
}
 
void loop() {
 
if (mySerial.available()) {
 
char inByte = mySerial.read(); // читаем из software-порта
 
Serial.print(inByte); // пишем в hardware-порт
 
rgb(inByte); //включаем светодиод «цветом» inByte
 
}
 
 
 
if (Serial.available()) {
 
char c = Serial.read(); // читаем из hardware-порта
 
mySerial.write(c); // пишем в software-порт
 
rgb(c); //включаем светодиод «цветом» с
 
}
 
}
 
//функция для включения светодиода RGB
 
void rgb(byte cByte){
 
digitalWrite(currentPin,LOW);
 
// игнорируем любые другие значения:
 
if (cByte == 'r') {
 
currentPin = redPin;
 
}
 
if (cByte == 'g') {
 
currentPin = greenPin;
 
}
 
if (cByte == 'b') {
 
currentPin = bluePin;
 
}
 
digitalWrite(currentPin,HIGH);
 
}

3. Теперь, вводя символы r, g и b в Мониторе порта или на смартфоне, подключенном через модуль Bluetooth с помощью терминальной программы, мы можем изменять цвет светодиода RGB.