Для сопряжения модулей HC-05 (master-модуль) и HC-06 (slave-модуль) необходимо выполнить следующее:
- Установить одинаковую скорость передачи на обоих устройствах.
- Убедитесь, что пароли на HC-05 и HC-06 совпадают (при необходимости установить одинаковые)
- Определить MAC адрес HC-06
- Соединить HC-05 с HC-06
- Связать HC-06 с HC-05
- Настроить HC-05 на соединение только с сопряженным устройствам HC-06
- Соединить 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 с помощью проводов «мама-мама».
|
Обратите внимание, контакт «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 с помощью проводов «мама-мама» как показано на рис ниже.
|
Обратите внимание, контакт «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, как показано на рисунке.
|
|
| 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 устанавливает скорость. 115200.AT+RMAAD очищает все сохраненные соединения
AT+ROLE=1 устанавливает его в качестве ведущего AT +RESET устройство перезапускается для перехода на master AT+CMODE=1 принимает все виды устройств AT+INQM=0,5,5 запрашивает в стандартном режиме, с 5 максимальными подключениями или 5 секундами |
Листинг 1. Bluetooth_INQ-1.ino
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2, 3); // RX | TX`
const long baudRate = 38400;
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 ">" character indicates the user entered text.
if (NL) { Serial.print(">"); 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 модуль во «второй» режим ввода команд. Для этого:
|
Пример
Uploaded: Sep 3 2021 |
| Откройте Монитор последовательного порта и введите команды.
AT |
![]() ![]() |
|
| 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. |
![]() ![]() |
|
| На экране Монитора порта появится список обнаруженных устройств, например
+ 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? Для второго устройства AT + RNAME? |
Листинг 2. Bluetooth_INQ-2.ino
#include <SoftwareSerial.h>
SoftwareSerial BTserial(2, 3); // RX | TX`
//const long baudRate = 38400;
const long baudRate = 115200;
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 ">" character indicates the user entered text.
if (NL) { Serial.print(">"); 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) во «второй» режим ввода команд. Для этого:
|
|
| 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, то светодиод на BT будет медленно мигать, и вы сможете подключиться к модулю со скоростью 38400 бод с помощью загруженного скетча. |
| 2 | Подключитесь к модулю с помощью Монитора порта (или другой терминальной программы, например Termite) на скорости 38400 | |
| 3 | Настройте скорость и пароль модуля HC-05 (ver. 4.0) с помощью следующих AT-команд:
AT |
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, пошагово как показано на рис. ниже.
|
|
| 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 |
Поздравляем Вы успешно настроили HC-05 и сопрягли его с HC-06! Теперь HC-05 будет автоматически подключаться к HC-06 при каждом включении и входить в режим связи. |
Если вы хотите продолжить работу в режиме AT, вам необходимо перезагрузить модуль с помощью контакта 34 HIGH или с замкнутым кнопочным переключателем. |
3. Проверка работы пары HC05-HC-06
Осталось проверить работоспособность созданной пары Bluetooth модулей.
- Отключим питание slave-устройства HC-06.
- Отсоединим преобразователь USB-UART от компьютера и отсоединим провод «+3.3V — EN», больше мы в нем не нуждаемся. Master-модуль остается подключенным лишь четырьмя проводами к USB-UART, теперь это законченное устройство. Для удобства можно заменить провода на более короткие, скрепить изолентой.
| 1. | Установите модуль HC-06 в плату LV. Включаем питание. Модуль часто замигал, он готов к новому сеансу связи. | ![]() ![]() |
| 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.


- Речь идет об HC-05 версии 4.0-20190728 ↑
Вам могут понадобиться
-






Bluetooth-модуль HM-10
550₽ -





Умные вещи: Arduino, датчики и сети для связи устройств: Пер. с англ. 3-е изд.
1931₽
1390₽ В корзину -





Преобразователь USB-UART CP2102 6 контактов
200₽160₽ В корзину -





Модуль Bluetooth HC-05, беспроводной Bluetooth RF, приемопередатчик Master и Slave, 6-контактный беспроводной последовательный порт связи, BT Module
550₽440₽ В корзину













































































