Поиск по этому блогу

13 окт. 2019 г.

НЕБОЛЬШОЙ ОБЗОР МОДУЛЕЙ HC-05 И HC-06

Чаще всего HC-05 и HC-06 представляют собой две спаянные платы. Верхняя – заводская плата с микросхемой BC417. Нижняя – специальная плата для самодельных устройств, содержащая самые нужные ножки GPIO с шагом 2.54 мм, стабилизатор напряжения и кнопку сброса. На фотографии ниже плата с BC417:






А это — модули HC-05 и HC-06 вместе с подложкой:



HC-05 не намного дороже HC-06. Но при этом он может работать в обоих режимах прямо “из коробки”. С HC-06 же придётся повозиться, чтобы заставить его работать ведущим.

Также встречаются немного другие версии модулей. Вместо вывода EN на них выведен KEY.

РАСПИНОВКА МОДУЛЕЙ

EN — управление питанием;
VCC — питание от 3,6 до 6 В;
GND — земля;
RX, TX — интерфейс UART;
STATE — индикация работы;
KEY — активация режима управления с помощью AT-команд.

Настройка модулей производится при помощи AT-команд. Но пин KEY есть не на всех модулях. И что с этим делать?

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

Этот контакт находится здесь:

ПОДКЛЮЧЕНИЕ HC-05 И HC-06 К ARDUINO

Подключение к Arduino выполняется следующими контактами:
GND – GND;
VCC – +5V;
TXD – 10;
RXD – 11;
KEY при обычной работе модуля не используется. Для перехода в режим AT-команд его надо соединить с +3.3V.

TXD и RXD соединены с пинами 10 и 11, потому, что аппаратный UART будет использоваться для связи с компьютером.

СОГЛАСОВАНИЕ ЛОГИЧЕСКИХ УРОВНЕЙ

Bluetooth-модули работают с логическими уровнями 3.3 В, и использование пятивольтовой логики может вывести их из строя. Но чаще всего на плате имеется всё необходимое для согласования уровней.

Бывают ситуации, в которых между Arduino TXD — Bluetooth RXD необходимо согласование напряжения. Использование делителя – гарантия надёжной работы.

Справа приведена схема простейшего делителя:

СКЕТЧ ДЛЯ ПОДКЛЮЧЕНИЯ К ARDUINO

Для настройки модулей можно использовать USB-UART конвертер, если вы воспользуетесь им – следующий пункт можно пропустить. Для начала нам потребуется прошить Arduino.

Скетч просто отправляет данные, полученные с компьютера, на настраиваемый модуль.


Настройка терминала:

Им может послужить стандартное средство сред разработки Arduino— монитор порта. Я же работал с терминалом TeraTerm. Настраиваем следующие параметры:
Скорость последовательного порта: 9600;
Перевод строки: CR+LF.

TeraTerm после настройки выглядит так (номер порта может отличаться):
Arduino и модули Bluetooth HC-05/06
Arduino и модули Bluetooth HC-05/06


Все следующие действия разделим на настройку slave модуля HC-06 и master модуля HC-05.

HC-06: при подаче питания индикатор питания начнёт моргать:
Arduino и модули Bluetooth HC-05/06
Отправляем модулю команду проверки через терминал:
AT
В ответ вам придёт:
OK
Этой командой можно узнать версию модуля:
AT+VERSION?
Ответ:
OKLinvor1.5
Если что-то работает не так — перепроверьте:
  • Скорость соединения. Следует выбрать 9600.
  • Новая строка должна обозначаться комбинацией “CR+LF”.
HC-06 обладает всего тремя настраиваемыми параметрами:
Изменение пароля:
AT+PIN<…>
Изменение скорости:
AT+BAUD<…>
Изменение имени модуля, отображаемого при его поиске другими устройствами:
AT+NAME<…>
Пример настройки: для изменения скорости на 9600 пишем:
AT+BAUD9600
Меняем настройки на желаемые. Модуль ожидает соединения с ведомым устройством, например, смартфоном.

При настройке HC-05 сначала нужно активировать режим настройки. Для этого требуется пин KEY.

Первый способ:

Отключаем источник питания;
Соединяем пин KEY с источником питания 3.3 В;
Подаём питание модуля.

Скорость последовательного порта при этом будет равна 38400 бод/с.

Второй способ:

Подаём питание на модуль.
Соединяем пин KEY с источником питания 3.3 В.

Установится скорость, выбранная в настройках заранее. По умолчанию — 9600.

Индикатор питания будет моргать.
Arduino и модули Bluetooth HC-05/06
Теперь отправляем те же команды, которыми проверяли прошлый модуль. Отличие будет лишь в версии: придёт ответ 
“+VERSION=+BOLUTEK Firmware V2.2, Bluetooth V2.1”.

Использование HC-05 в роли ведомого:

Сброс настроек:
AT+ORGL
Очистка памяти от соединённых устройств:
AT+RMAAD
Изменение пароля:
AT+PSWD=4321
Активация slave режима
AT+ROLE=0
Эта команда позволяет узнать адрес устройства:
AT+ADDR?
После проделанных манипуляций отключаем пин KEY и перезагружаем модуль.Использование HC-05 в роли ведущего:

Сброс настроек:
AT+ORGL
Очистка памяти от соединённых устройств:
AT+RMAAD
Активация master режима:
AT+ROLE=1
Перезагрузка:
AT+RESET
Для соединения двух модулей, нужно сделать следующее:

Ставим пароль на ведомый модуль:
AT+PSWD=1234
Указываем ведущему модулю адрес ведомого модуля и таймаут:
AT+PAIR=<…>,<…>
Пример:
AT+PAIR=12,6,143117, 5
Связываемся с ведомым модулем:
AT+BIND=<…>
Пример:
AT+BIND=12,6,143117
Ставим запрет на соединение с другими модулями:
AT+CMODE=0
На этом всё. Теперь ведущий модуль при подаче питания начнёт подключение к ведомому.

Комментариев нет:

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

Создайте свой комментарий.