Модуль Bluetooth 2.0 HC-05/06

Контроллеры Arduino, к сожалению, не поддерживают  беспроводную связь, а часто это просто необходимо. Например, удаленное управление роботом на Arduino, отправка данных с устройства на сервер или в Интернет, связь нескольких устройств между собой. Здесь могут пригодиться различные модули беспроводной связи, такие как модули Bluetooth.

Технология Bluetooth используется для передачи данных между устройствами, которые находятся в рядом друг с другом, при этом прямая видимость не является обязательной. Модули Bluetooth обеспечивают хорошую устойчивость к широкополосным помехам, что позволяет множеству устройств, находящихся в одном месте, одновременно общаться между собой, не мешая друг другу.

Один из способов связи по Bluetooth вашего Arduino-устройства с планшетом, ноутбуком или другим Bluetooth-устройством – Модуль Bluetooth 2.0 HC-05 и Модуль Bluetooth 2.0 HC-06. Основным их отличием является то, что HC-05 может работать в режиме master/slave, а HC-06 — только в режиме slave. Режим slave предполагает, что модуль не может сам инициировать связь. Однако для большинства проектов на Arduino этого не требуется.

Модули Bluetooth в наших наборах представлены сразу монтированными на UART переходник, что значительно упрощает подключение и не требует пайки.

Схема подключения Модуль Bluetooth 2.0 HC-05/06

Ниже представлена схема подключения модулей Bluetooth HC-05 и HC-06. Их подключение идентично за исключением того, что выход пина Key у модуля Bluetooth HC-05 подключается к пину контроллера 3.3В.

Подключение модуля Bluetooth
Подключение модуля Bluetooth

Код для подключения модуля Bluetooth 2.0 HC-05/06

В примере ниже показано, как подключить вывод модуля Bluetooth HC-05/06 к монитору последовательного порта платы (вывод можно посмотреть в мониторе порта Arduino IDE). Для корректной работы кода требуется подключение библиотека SoftwareSerial.h.

include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // указываем пины rx и tx соответственно

void setup()  {
  pinMode(2,INPUT);
  pinMode(3,OUTPUT);
  Serial.begin(9600);
  mySerial.begin(38400);
  Serial.println("start prg");
}

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-порт
  }
}

Скачать файл с кодом, формат .INO: Модуль Bluetooth hc-05/06