- Определение скорости работы bluetooth-модулей HC-05/06.
- Сканер скорости bluetooth-модулей HC-05, HC-06.
- Схема подключения bluetooth-модулей HC-06 к Arduino для настройки.
- Arduino и модули Bluetooth HC-05/06
- Небольшой обзор модулей HC-05 и HC-06
- Распиновка модулей
- Подключение HC-05 и HC-06 к Arduino
- Согласование логических уровней
- Скетч для подключения к Arduino
Определение скорости работы bluetooth-модулей HC-05/06.
При настройке bluetooth-модулей HC-05/06 часто возникает вопрос, на какой скорости работает модуль. Если вы купили модуль, скорость, на которой он работает, можно посмотреть в Datasheet устройства. А если устройство уже настраивали и какую скорость устанавливали в предыдущий раз забыли, то тут уже без сканера скорости не обойтись.
В одной из предыдущих статей я рассказывал, как настроить bluetooth-модули HC-05/06. Какие AT команды для этого используются. Но данная инструкция бесполезна, если мы не знаем скорость, на которой работает модуль.
Сканер скорости bluetooth-модулей HC-05, HC-06.
В данной статье рассмотрим небольшой код, который поможет просканировать все допустимые скорости, на которых работают bluetooth-модули HC-05/06.
#include SoftwareSerial hc06(2, 3); void setup() < //инициализируем работу с портом Serial.begin(9600); // сканер scanBaudrate(); >void loop() <> void scanBaudrate() < unsigned long bauds[12] = ; for (int i = 0; i < 12; i++) < hc06.begin(bauds[i]); delay(10); Serial.print(F("Baudrate ")); Serial.println(bauds[i]); command("AT", 2000); >> String command(const char *toSend, unsigned long milliseconds) < String result; Serial.print("Sending: "); Serial.println(toSend); hc06.print(toSend); unsigned long startTime = millis(); Serial.print(F("Received: ")); while (millis() - startTime < milliseconds) < if (hc06.available()) < char c = hc06.read(); Serial.write(c); result += c; // добавить в строку результата >> Serial.println(); // новая строка. return result; >
Если возникли трудности с поиском скорости передачи вашего модуля, вот код, который инициализирует Bluetooth и отправляет AT-команду для каждого значения скорости передачи.
Схема подключения bluetooth-модулей HC-06 к Arduino для настройки.
При обнаружении правильной скорости передачи данных, модуль Bluetooth должен ответить «ОК». Данный пример кода определяет, правильно ли работает модуль и какую скорость он использует.
Как видим из картинки выше, мой bluetooth-модуль HC-06 работает на заводских настройках на скорости 9600 бод.
Понравилась статья Определение скорости работы bluetooth-модулей HC-05/06? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Arduino и модули Bluetooth HC-05/06
Bluetooth — один из самых распространённых протоколов беспроводной связи на малом расстоянии для персональных электронных устройств. С его помощью работают различные устройства ввода и управления, аудиоустройства.
На фоне остальных протоколов Bluetooth выделяется прежде всего помехоустойчивостью и простотой. От не менее распространённого Wi-Fi Bluetooth отличается в первую очередь низким энергопотреблением, что делает его доступным для автономных устройств. Благодаря этому BT получил повсеместное распространение.
Чаще всего для самоделок используются BT-модули HC-05 и HC-06. Их легко найти в продаже. HC-05 отличается от HC-06 тем, что ему доступны оба режима работы: ведомый (master) и ведущий (slave). А вот HC-06 работает только ведомым, то есть он не способен находить другие устройства и самостоятельно устанавливать с ними связь (но это можно исправить).
Оба модуля основаны на одинаковом чипе и поддерживают BT версии 2.0. Их максимальная скорость работы – 3 Мегабита в секунду.
Небольшой обзор модулей 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.
Скетч просто отправляет данные, полученные с компьютера, на настраиваемый модуль.