СОДЕРЖАНИЕ ►
Рассмотрим в этой статье, как подключить блютуз модуль к Arduino UNO, для возможности управления устройством через bluetooth со смартфона. Данный модуль позволяет наладить двухстороннюю связь по bluetooth, т.е. можно не только управлять Ардуино, но и получать данные от устройства. Представим схему подключения HC-05 и HC-06 и дадим несколько скетчей вместе с приложениями для смартфона.
Характеристики Bluetooth модуля HC-06 / HC-05
Bluetooth является сегодня одним из самых популярных типов связи для коротких дистанций, которым пользуются большинство бытовых приборов и электронных устройств — наушники, компьютерные клавиатуры и мышки и другие гаджеты. В робототехнике Bluetooth модуль используют для управления различных устройств на Arduino NANO, например, управление машинкой или катером со смартфона.

Оба устройства построены на чипе 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 начнет быстро мигать.
Скетч для модуля 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». Пароль потребуется ввести только один раз, при последующих подключениях сопряжение будет происходить автоматически.

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

В следующем примере мы добавим к светодиоду сервопривод. Вы уже знаете, как подключить сервомотор к Ардуино, осталось лишь загрузить в плату новый скетч. Скачать скетч и приложение для смартфона можно одним архивом здесь.
Скетч для серво и модуля Bluethooth Arduino
#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 } }
Пояснения к коду:
- кроме цифр можно отправлять команды в виде букв латинского алфавита, при этом важен регистр — заглавная или строчная буква будет получена;
- перед загрузкой скетча — отключайте Bluetooth модуль от портов TX и RX;
- приложение подходит только для ОС Android. Вы можете сделать собственное приложение, воспользовавшись нашими уроками в разделе Программирование.










Спасибо большое я давно искала подобное!
Здравствуйте!
Подскажите пожалуйста, может ли работать блютуз модуль hc-06, если RX и TX модуля подключить к контактам Ардуино на D3 и D4? Или надо всегда подключать только к RX и TX контактам на Ардуино?
Блютуз может работать от любых цифровых портов при подключении библиотеки для программного последовательного порта softwareserial.h. Если библиотека не используется, то подключать модуль следует только к портам аппаратного последовательного порта — RX и TX.
SoftwareSerial и servo плохо работают вместе.
Серво дёргается.
здравствуйте!
возможно я просто не увидел, а что за приложение для блютус модуля
упс, увидел