Bluetooth HC-05 (Troyka-модуль)

Возьмите Bluetooth (Troyka-модуль) и создайте целую сеть беспроводных устройств, каждое из которых сможет принимать и отправлять данные.

Видеообзор

Подключение и настройка

Bluetooth-модуль общается с управляющей платой по протоколу UART. Дополнительный сигнальный пин K служит для перевода модуля в режим AT-команд.

Для работы с модулем удобно использовать Troyka Shield. Если хотите избавиться от проводов — возьмите Troyka Slot Shield.

SoftwareSerial

Некоторые платы Arduino прошиваются через пины 0 и 1 (Uno, Mega 2560, ADK и Iskra Mini). Перед прошивкой таких плат отключите Bluetooth-модуль от пинов RX и TX. Если необходимо одновременно работать с Bluetooth и подключать контроллер к компьютеру, подключите пины TX и RX к другим контактам управляющей платы.

Для примера подключим управляющие пины Bluetooth-модуля RX и TX — на 8 и 9 пин Arduino через Troyka Shield. Прошейте управляющую платформу кодом ниже.

Код прошивки
SoftwareSerialAT38400.ino
// библиотека для работы программного Serial
#include <SoftwareSerial.h>
 
// создаём объект для работы с программным Serial
// и передаём ему пины TX и RX
SoftwareSerial mySerial(8, 9);
 
// serial-порт к которому подключён Bluetooth модуль
#define HC05_SERIAL    mySerial
 
void setup() {
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  while (!Serial) {
    // ждём, пока не откроется монитор последовательного порта
    // для того, чтобы отследить все события в программе
  }
  Serial.println("Enter AT commands:");
  HC05_SERIAL.begin(38400);
}
 
void loop() {
  // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера
  if (HC05_SERIAL.available())
    Serial.write(HC05_SERIAL.read());
  // если приходят данные из компьютера - отправим их в Wi-Fi модуль
  if (Serial.available())
    HC05_SERIAL.write(Serial.read());
}

После включения Bluetooth HС-05 на нём замигает светодиод MODE.

Bluetooth-модуль работает в двух режимах: «прозрачного UART» и управления AT-командами. В первом случае всё предельно просто — включаете модуль, подключаетесь к нему с компьютера или иного устройства и шлёте на этот порт данные. Второй режим предназначен для настройки модуля.

Режим AT-команд

Чтобы получить доступ к настройке модуля, его необходимо перевести в режим приёма AT-команд. Для входа в этот режим можно воспользоваться двумя методами:

  • Первый метод:
  1. Отключаем модуль от питания.
  2. Подаем на пин K высокий уровень.
  3. Включаем модуль.

В этом варианте скорость обмена с модулем устанавливается в 38400 бод.

  • Второй метод
  1. Включаем модуль.
  2. Подаем на пин K высокий уровень.

В этом случае скорость обмена с модулем будет равна скорости, установленной настройками. По умолчанию — 9600 бод.

После успешного перехода в режим AT-команд, светодиод MODE начнет мигать раз в две секунды.

Bluetooth-модуль может работать в 3-х режимах:

  • Master — в этом режиме модуль сам инициирует подключение к какому-нибудь Bluetooth-девайсу.
  • Slave — самый распространённый режим. С ним мы можем подключиться к модулю сами. Например с телефона.
  • Slave-loop — здесь модуль отправляет обратно все байты, которые ему прислали.

Элементы платы

Bluetooth модуль HC-05

Сердцем модуля является чип BC417 от компании Cambridge Silicon Radio, который обеспечивает аппаратную поддержку стека Bluetooth 2.0 + EDR (Enhaced Data Rate), а также флэш-память ES29LV800DB-70WGI от Excel Semiconductor на 8 Мбит (1 МБ), хранящая прошивку и настройки.

Troyka контакты

1 группа

  • Земля (G) — соедините с землёй микроконтроллера.
  • Питание (V) — соедините с питанием микроконтроллера.
  • Сигнальный (TX) — Подключите к пину RX микроконтроллера.

2 группа

  • Сигнальный (K) — Подключите к сигнальному пину микроконтроллера.
  • Не используется.
  • Сигнальный (RX) — Подключите к пину TX микроконтроллера.

Светодиодная индикация

Имя светодиода Назначение
RX и TX Мигают при обмене данными между Bluetooth и управляющим устройством.
PAIR Горит, если модуль сопряжён с другим устройством
MODE Мигает в зависимости от режима работы (горит/не горит):
64 мс/300 — нет сопряжения;
64 мс/2000 мс — сопряжён с другим устройством;
2000 мс/2000 мс — режим AT-команд.

Обвязка для согласования уровней напряжения

Необходима для сопряжения устройств с разными питающими напряжениями. В нашем случае это может быть управляющее устройство Arduino с 5 вольтовой логикой и Bluetooth модуль HC-05 с 3,3 вольтовой логикой.

Принципиальная и монтажная схемы

Характеристики

  • Напряжение питания: 3,3–5 В
  • Потребляемый ток: 50 мА
  • Радиус действия: до 10 метров
  • Чип Bluetooth: HC-05(BC417143)
  • Интерфейс: последовательный порт
  • Габариты: 50,8×25,4 мм

Ресурсы