Найти тему
Электроника, Arduino и IT

Bluetooth модули HC-05, HС-06. Подключение к Arduino и управление четырьмя светодиодами со смартфона.

Оглавление

Всем привет! Сегодня я покажу вам как подключить модули HC-05 и HC-06 к Arduino и управлять четырьмя светодиодами со смартфона.

В этом уроке использованы:

1. Плата Arduino Uno с USB кабелем для подключения к компьютеру

2. Компьютер с установленной Arduino IDE и драйверами для плат

3. Четыре светодиода и четыре резистора на 220Ом

4. Смартфон

5. Соединительные провода типа папа-папа 8 штук, типа папа-мама 4 штуки

6. Bluetooth модуль HC-05 или HC-06

Кратко о использовании Bluetooth в проектах Arduino

В проектах Arduino иногда требуется дистанционное управление. Довольно простым способом является передача данных по Bluetooth со смартфона. Для связи с Arduino по Bluetooth используется UART-интерфейс - контакты TX и RX платы. Серия модулей HC является довольно популярной. Одни из самых часто используемых - это модули HC-05 и HC-06.

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

Давайте рассмотрим подключение модулей HC-05 и HC-06 к плате Arduino.

Bluetooth модули HC-05 и HC-06
Bluetooth модули HC-05 и HC-06

Контакты у этих модулей одинаковые, поэтому и схема подключения их будет одинаковой.

VCC(HC-05 или HC-06) - 5V(плата Arduino)

Gnd(HC-05 или HC-06) - Gnd(плата Arduino)

TX(HC-05 или HC-06) - RX(плата Arduino)

RX(HC-05 или HC-06) - TX(плата Arduino)

Схема подключения Bluetooth модуля
Схема подключения Bluetooth модуля

Обратите внимание! RX модуля нужно подключать к TX платы, TX модуля к RX платы.

Отличия HC-05 от HC-06

HC-05 отличается от HC-06 в прошивке, поэтому AT-команд у модуля HC-05 больше. Также HC-05 может играть роли мастера и подчинённого, а HС-06 может играть только роль подчинённого. Скорость обмена данными в режиме AT-команд у HC-05 38400 бод, у HC-06 - 9600 бод. HC05 также стоит немного дороже, чем HC-06, но имеет большее количество возможностей.

Программа для управления Arduino со смартфона

Чтобы управлять Arduino со смартфона нужно сначала установить программу Bluetooth RC Controller(Arduino Bluetooth RC Car). Скачать её можно из Play Маркета на телефоне.

Интерфейс программы Bluetooth RC Controller
Интерфейс программы Bluetooth RC Controller

Скетч для получения кодов кнопок со смартфона

И так, сначала зальём в Arduino вот такой скетч. Внимание! Перед тем как прошивать плату, нужно отключить контакты TX и RX модуля от платы, иначе программа не зальётся в плату, и компилятор выдаст ошибку.

char Command = 'S';

void setup() {

Serial.begin(9600);

}

void loop() {

if(Serial.available() > 0) {

Command = Serial.read();

Serial.println(Command);

}

}

Теперь откроем программу Bluetooth RC Controller. Нажимаем на шестерёнку, в появившимся меню нажимаем на "Connect to Car". Появится вот такое меню подключений:

Меню подключения к блютуз модулю
Меню подключения к блютуз модулю

В этом меню нажимаем на кнопку "Scan for devices". Под надписью "Other Available Devices" появятся доступные для подключения модули, как на фото ниже:

-5

Их появляется много, нужно нажать на 2 по списку. Откроется вот такое меню ввода пароля:

Меню ввода пароля
Меню ввода пароля

Пароли у HC-06 и HC-05 по умолчанию - 1234. Вводим пароль и нажимаем OK.

Теперь кружок в левом верхнем углу программы станет зелёным, а в правом верхнем углу появится имя модуля, к которому вы подключились.

Интерфейс программы после подключения к Bluetooth модулю
Интерфейс программы после подключения к Bluetooth модулю

Теперь в Arduino IDE открываем Монитор порта и нажимаем на любые кнопки в программе Bluetooth RC Controller.

Скетч, который мы загрузили ранее в плату, считывает посылаемые со смартфона приложением Bluetooth RC Controller коды кнопок и выводит их в Serial-порт. Это можно увидеть на фото ниже:

Получение кодов кнопок со смартфона
Получение кодов кнопок со смартфона

Скетч и схема подключения

Сначала подключим светодиоды к нашей плате. Короткие ноги светодиодов подключаем к Gnd платы, длинные ноги через резисторы на 220Ом подключаем к 2, 3, 4 и 5 пинам платы. Bluetooth модуль подключаем так, как сказано выше.

Итоговая схема подключения
Итоговая схема подключения

Архив проекта можно скачать отсюда.

А теперь давайте сделаем скетч, который в соответствии с определённым кодом кнопки будет зажигать один из четырёх светодиодов.

Для тех, кто забыл. Перед тем как прошивать плату, нужно отключить контакты TX и RX модуля от платы, иначе программа не зальётся в плату и компилятор выдаст ошибку.

int Diod = 2;

int Diod2 = 3;

int Diod3 = 4;

int Diod4 = 5;

char Command = 'S';

void setup() {

Serial.begin(9600);

pinMode(Diod, OUTPUT);

pinMode(Diod2, OUTPUT);

pinMode(Diod3, OUTPUT);

pinMode(Diod4, OUTPUT);

}

void loop() {

if(Serial.available() > 0) {

Command = Serial.read();

Serial.println(Command);

switch(Command) {
case 'S':

digitalWrite(Diod, LOW);

digitalWrite(Diod2, LOW);

digitalWrite(Diod3, LOW);

digitalWrite(Diod4, LOW);

break;

case 'F':

digitalWrite(Diod, HIGH);

digitalWrite(Diod2, LOW);

digitalWrite(Diod3, LOW);

digitalWrite(Diod4, LOW);

break;

case 'B':

digitalWrite(Diod, LOW);

digitalWrite(Diod2, HIGH);

digitalWrite(Diod3, LOW);

digitalWrite(Diod4, LOW);

break;

case 'L':

digitalWrite(Diod, LOW);

digitalWrite(Diod2, LOW);

digitalWrite(Diod3, HIGH);

digitalWrite(Diod4, LOW);

break;

case 'R':

digitalWrite(Diod, LOW);

digitalWrite(Diod2, LOW);

digitalWrite(Diod3, LOW);

digitalWrite(Diod4, HIGH);

break;

}

}

}

Теперь при нажатии на стрелку вперёд будет гореть первый светодиод, при нажатии на стрелку вниз - второй светодиод, на стрелку влево - третий светодиод, на стрелку вправо - четвёртый светодиод. Пожалуйста, оцените статью, для меня это очень важно. На этот раз всё, всем спасибо за внимание!