Подключение блютуз модуля к Ардуино

Как подключить блютуз модуль к Ардуино

Как подключить блютуз модуль HC-05 или HC-06 к Arduino ► рассмотрим возможности управления платой Ардуино через Bluetooth со смартфона или планшета Android.

Рассмотрим в этой статье, как подключить блютуз модуль к Arduino UNO, для возможности управления устройством через bluetooth со смартфона. Данный модуль позволяет наладить двухстороннюю связь по bluetooth, т.е. можно не только управлять Ардуино, но и получать данные от устройства. Представим схему подключения HC-05 и HC-06 и дадим несколько скетчей вместе с приложениями для смартфона.

Характеристики Bluetooth модуля HC-05 / HC-05

Bluetooth является сегодня одним из самых популярных типов связи для коротких дистанций, которым пользуются большинство бытовых приборов и электронных устройств — наушники, компьютерные клавиатуры и мышки и другие гаджеты. В робототехнике Bluetooth модуль используют для управления различных устройств на Arduino NANO, например, управление машинкой или катером со смартфона.

Bluetooth модуль распиновка
HC-05/06 Bluetooth модуль распиновка

Оба устройства построены на чипе CSR BC417, который поддерживает радиосигнал по протоколу Bluetooth со скоростью до 3 Мбит/сек. На самой плате находится антенна из дорожки в виде змейки, обеспечивающая дальность связи до 10 метров. Главным преимуществом можно назвать устойчивость к широкополосным помехам, а значит несколько устройств могут общаться между собой, не мешая друг другу.

Скетч для управления Ардуино через блютуз со смартфона на Android ничем не отличается от скетча, который применяется для управления Ардуино с компьютера. Так как в обоих случаях микроконтроллер будет получать данные по протоколу UART (универсальный асинхронный приемопередатчик) — самый первый и наиболее распространенный сегодня физический протокол передачи данных.

Как подключить блютуз модуль к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Bluetooth модуль HC-05/06;
  • светодиоды и резисторы;
  • сервомотор;
  • провода «папа-папа» и «папа-мама».

Обратите внимание, что при подключении любого модуля к портам TX и RX на Arduino, скетч загрузить в плату не получится — у вас будет выходить ошибка, что Arduino Nano не доступна. Перед загрузкой скетча — отключайте Bluetooth модуль. Во-вторых, вам потребуется установить приложение на смартфон для отправки данных на блютуз модуль hc-05/06, скачайте приложение здесь и загрузите на телефон с компьютера.

Схема подключения блютуз модуля к Ардуино
Схема подключения блютуз модуля к Ардуино

Для начала мы будем дистанционно включать и выключать светодиод, подключенный параллельно к 13 порту на Ардуино и, расположенный на самой плате. После установки приложения на смартфон или планшет и загрузки скетча (скачать архив со скетчем можно далее), подключите блютуз модуль к Ардуино, как изображено на схеме выше. До сопряжения устройств, светодиод на модуле HC-05 начнет быстро мигать.

Скетч для Bluetooth модуля Arduino

int val; // освобождаем память в контроллере для переменой

void setup() {
  Serial.begin(9600);  // подключаем последовательный порт
  pinMode(13, OUTPUT); // объявляем пин 13 как выход
}

void loop() {
  if (Serial.available()) // проверяем, поступают ли какие-то команды
  {

    val = Serial.read(); // переменная val равна полученной команде

    if (val == '1') {digitalWrite(13, HIGH);} // при 1 включаем светодиод
    if (val == '0') {digitalWrite(13, LOW);}  // при 0 выключаем светодиод

  }
}

Соединение с телефоном Bluetooth модуля

Для сопряжения смартфона с Bluetooth модулем HC-06 и HC-05 перейдите в настройки телефона и включите блютуз. У вас активируется поиск устройств, кроме названия HC-05 или HC-06, вы увидите адрес устройства. Для подключения потребуется ввести пароль, обычно, это «1234» или «0000». Пароль потребуется ввести только один раз, при последующих подключениях сопряжение будет происходить автоматически.

Соединение между смартфоном и блютуз модулем
Соединение между смартфоном и блютуз модулем HC-05

Далее откройте приложение, которое вы установили на смартфон или планшет и нажмите на кнопку «Подключить Блютуз». У вас появится список устройств с адресами — выберите нужное устройство. Если сопряжение прошло успешно, то светодиод на модуле начнет мигать реже — примерно 1 раз в две секунды. Теперь вы можете дистанционно включать/выключать светодиод на Ардуино, используя блютуз модуль.

Приложение для управление Ардуино через блютуз модуль
Приложение для управление Ардуино через блютуз модуль

В следующем примере мы добавим к светодиоду сервопривод. Вы уже знаете, как подключить сервомотор к Ардуино, осталось лишь загрузить в плату новый скетч. Скачать скетч и приложение для смартфона можно одним архивом здесь.

Скетч для управления блютуз модулем

#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1;      // объявляем переменную servo типа "servo1"

int val; // освобождаем память в контроллере для переменой

void setup() {
  servo1.attach(11);   // привязываем сервопривод к аналоговому выходу 11
  Serial.begin(9600);  // подключаем последовательный порт
  pinMode(13, OUTPUT); // объявляем пин 13 как выход
}

void loop() {
  if (Serial.available()) // проверяем, поступают ли какие-то команды
  {

    val = Serial.read(); // переменная val равна полученной команде

    if (val == '1') {digitalWrite(13, HIGH);} // при 1 включаем светодиод
    if (val == '0') {digitalWrite(13, LOW);}  // при 0 выключаем светодиод

    if (val == '4') {servo1.write(0);}   // ставим угол поворота 0
    if (val == '5') {servo1.write(90);}  // ставим угол поворота 90
    if (val == '6') {servo1.write(180);} // ставим угол поворота 180

  }
}

Пояснения к коду:

  1. кроме цифр можно отправлять команды в виде букв латинского алфавита, при этом важен регистр — заглавная или строчная буква будет получена;
  2. перед загрузкой скетча — отключайте Bluetooth модуль от портов TX и RX;
  3. приложение подходит только для ОС Android. Вы можете сделать собственное приложение, воспользовавшись нашими уроками в разделе Программирование.
1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 5,00 out of 5)
Загрузка...

Похожие записи по теме:

3 комментариев для “Пример: Подключение блютуз модуля к Ардуино”

  1. Здравствуйте!
    Подскажите пожалуйста, может ли работать блютуз модуль hc-06, если RX и TX модуля подключить к контактам Ардуино на D3 и D4? Или надо всегда подключать только к RX и TX контактам на Ардуино?

    1. Блютуз может работать от любых цифровых портов при подключении библиотеки для программного последовательного порта softwareserial.h. Если библиотека не используется, то подключать модуль следует только к портам аппаратного последовательного порта — RX и TX.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *