Уроки Arduino: управление устройствами со смартфона для чайников. Уроки Arduino: управление устройствами со смартфона для чайников Подключение блютуз модуля hc 05 к ардуино

Утилиты

Очень часто в ваших проектах возникает необходимость в дистанционном управлении или передачи данных с ваших телефонных гаджетов.

Один из самых популярных и распространенных методов обмена данными посредством Bluetooth.

Сегодня мы разберем простые примеры как можно подключить Bluetooth модуль к Arduino и настроить дистанционное управление с телефона.

Нам понадобится:

  • Набор проводов ПАПА-МАМА
  • HC-06 Bluetooth

Подключать Bluetooth модуль к микроконтроллеру Arduino удобнее всего с помощью проводков ПАПА-МАМА .

Arduino Bluetooth
Pin 1 (TX) RXD
Pin 0 (RX) TXD
GND GND
5V VCC

Будьте внимательны, подключать подключать нужно TX -> RXD ,RX -> TXD .

Теперь необходимо записать пробный код программы:

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

Int val; int LED = 13; void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); } void loop() { if (Serial.available()) { val = Serial.read(); // При символе "1" включаем светодиод if (val == "1") { digitalWrite(LED, HIGH); } // При символе "0" выключаем светодиод if (val == "0") { digitalWrite(LED, LOW); } } }

После того как скетч записан и Bluetooth модуль подключен к Arduino, можно перейти к следующему шагу.

Подключение Bluetooth к телефону

Желательно в качестве источника питания для arduino использовать не USB, а внешний Блок питания на 9 В.

  1. Включаем Bluetooth на телефоне и ищем новые устройства
  2. Находим в списке расстройств "HC-06" и подключаемся к нему.
  3. Телефон спросит пин-код. необходимо ввести "1234 " или "0000 "
  4. Ура. Устройство подключено.

Теперь нужно скачать bluetooth terminal на ваш телефон. Мы рассмотрим на примере платформы Android.



Вы можете установить разные bluetooth терминалы, как правило они отличаются только разными дизайнами, функционал от этого не меняется. Так же можно найти и терминал и для продуктов ios.

После того как мы установили терминал, запускаем его выбираем наш bluetooth модуль HC-06 и подключаемся к нему.

Пришло время попробовать проект в деле. Пишем в терминале цифру "0" и отправляем. Светодиод L который находится на плате arduino рядом с pin 13, должен погаснуть. Теперь отправим через терминал цифру "1" и светодиод L должен зажечься.

Демонстрация работы:


Домашняя работа:

  • Изменить скетч так, что бы светодиод зажигался и потухал с помощью одной и той же команды например "G".
  • Дописать скетч и научить его преобразовывать текстовые данные приходящие через блютус в цифровые и реализовать димер, зажигать светодиод с помощью ШИМ, на заданную яркость от 0 до 254 приходящую через bluetooth.

Bluetooth — это пожалуй самый распространенный тип связи для коротких дистанций, которым пользуются большинство современных электронных устройств. Телефонные гарнитуры, наушники, клавиатуры и мышки, принтеры и бог знает какие еще гаджеты. Некоторое время назад bluetooth был распространен как средство передачи файлов между телефонами. Главными достоинствами BT можно назвать хорошую устойчивость к широкополосным помехам и простоту реализации. Первое значит, что куча устройств, находящихся в одном месте, могут одновременно общаться между собой, не мешая друг другу. Второе же помогло широкому распространению Bluetooth в среде DIY, и вообще во всех средах. Лично я использую BT для управления роботами со смартфона. В Google play уже есть несколько приложений с удобным интерфейсом именно для этих целей. Участники нашего хакспейса MakeItLab с помощью Bluetooth управляют удаленно светом и собирают телеметрию с борта квадрокоптеров. Самыми доступными на сегодня Bluetooth модулями можно назвать HC-05 и HC-06. Они в изобилии присутствуют в Китайских онлайн-магазинах и на ebay. Отличия между ними в том, что первый может работать как в режиме ведущего (slave), так и в режиме ведомого (master). Второй же является чисто ведомым устройством (но это поправимо!). Другими словами, HC-06 не может сам обнаружить парное устройство и наладить с ним связь, он может лишь подчиниться ведущему. Оба устройства базируются на чипе CSR BC417 , который поддерживает Bluetooth версии 2.0 со скоростью до 3 Мбит/сек. Именно об этих модулях далее и пойдет речь.

1. Варианты исполнения

Обычно модули продаются в виде двух спаянных вместе плат. Меньшая из них — заводской модуль, широко используемый в разных электронных устройствах. Большая — специальная макетная платка для DIY. Так выглядит меньшая плата с чипом BC417:
А так сами DIY модули HC-05 и HC-06:
Для своих коварных целей я обычно беру HC-05, так как они не сильно отличаются по цене от HC-06, и позволяют без лишних проблем связать вместе два устройства. Например, можно сделать робота и пульт к нему. Из Китая мне обычно приходят модули, точь в точь как на левой картинке, но иногда без кнопки. Очень распространен и другой вариант макетной платки. В отличие от показанных выше, в них нет ноги EN, но есть нога KEY, что немного удобнее.
Распиновка Итак, за что отвечают ноги у всех вариантов модулей.
  • EN — включение/выключение модуля;
  • VCC — питание +5В;
  • GND — земля;
  • TXD, RXD — UART интерфейс для общения с контроллером;
  • STATE — индикатор состояния;
  • KEY — нога для входа в режим AT-команд.
Настройка модуля осуществляется в режиме AT-команд, который включается с помощью ноги KEY. Отсюда, у многих счастливых обладателей модуля может возникнуть вопрос: что делать, если мне попался модуль без KEY? На самом деле, на малой плате эта нога конечно есть, просто она не разведена на большой плате. Черт знает зачем китайцы так сделали, но проблема решается легко. KEY-нога растет отсюда:

2. Подключение к Ардуино Уно

Ног не так много, так что запутаться не получится. Подключаем к bluetooth к Arduino Uno по следующей схеме:
Bluetooth GND VCC TXD RXD KEY
Ардуино Уно GND +5V 10 11
TX и RX подключаем к GPIO ногам 10 и 11, так как аппаратный UART на ногах 0 и 1 будет занят общением с компьютером. В рабочем режиме KEY никуда не подключается, так что в таблице я его не стал соединять с GPIO ногами Arduino.

3. Сопряжение уровней напряжения

Малая платка Bluetooth модуля имеет напряжение логики 3.3 Вольта. А это значит, что Ардуино Уно может либо сжечь у нее порты, либо просто неправильно передавать сигналы. К счастью, в большинстве случаев большая плата имеет на своем борту все необходимое, чтобы этого избежать. Указанные выше модули легко подключаются к Arduino, без лишних заморочек. Даже не смотря на то, что сами изготовители написали на платке предупреждение об уровне сигналов 3.3 Вольта. Однако, в некоторых ситуациях может потребоваться поставить на линию Ардуино TX — BT RX делитель напряжения для понижения логических уровней. На самом деле, даже если все работает и без делителя, лучше его все-таки поставить, для порядка. Схема делителя ниже:

4. Подготовка Arduino

Для того чтобы начать настройку, нам потребуется зашить в Ардуино вспомогательный скетч. По-сути — программу ретранслятор, которая будет осуществлять обмен данными между терминалом на компьютере и Bluetooth модулем. Программа крайне проста: #include #include int gLedPin = 13; int gRxPin = 10; int gTxPin = 11; SoftwareSerial BTSerial(gRxPin, gTxPin); void setup() { # 38400 - для метода №1, 9600 - для метода №2 BTSerial.begin(38400); Serial.begin(9600); delay(500); } void loop() { if (BTSerial.available()) { Serial.write(BTSerial.read()); } if (Serial.available()) { BTSerial.write(Serial.read()); } } Загружаем скетч на Ардуино и переходим к следующему шагу.

5. Подготовка терминала

В качестве терминала можно использовать встроенный в Arduino IDE монитор порта, а можно любой другой. Я использовал сторонний терминал TeraTerm. Перед соединением необходимо сделать две важные настройки:
  • скорость обмена: 9600;
  • символа перевода строки: CR+LF.
Вот как настройки выглядят в TeraTerm:
Когда все правильно настроено, подключаемся к COM-порту и проверяем соединение. Все дальнейшие манипуляции рационально поделить на две части: для ведомого модуля HC-06 и для ведущего HC-05.

6. Настройка HC-06

Проверка соединения

После подачи питания на модуль, светодиод начнет бодро мигать:
Теперь заходим в терминал и пишем команду: AT В ответ, модуль нам должен сказать: OK Следующая наша команда запросит у модуля его версию: AT+VERSION? Получаем что-то вроде такого: OKLinvor1.5 Получилось? Если нет, то проверяем:
  1. Скорость соединения с модулем, которая задается в программе-трансляторе: для связи с ведомым скорость должна быть 9600.
  2. Настройки символа перевода строки: не забываем про CR+LF!
  3. Нажимаем ли после каждой команды Enter? Мало ли…

Полезные команды

У ведомого Bluetooth модуля есть всего три параметра для настройки:
  • команда смены пароля на устройстве: AT+PIN<пароль>
  • смена скорости: AT+BAUD<скорость>
  • смена имени устройства: AT+NAME<имя>
Например, для смены пароля пишем: AT+PIN4321 В общем-то готово! Теперь можно соединиться с модулем, например, со смартфона. Об этом речь пойдет во второй части моего повествования.

7. Настройка HC-05

Переход в режим AT-команд

Чтобы получить доступ к настройка ведущего модуля, его необходимо перевести в режим AT-команд. Для входа в этот режим можно воспользоваться двумя методами (я всегда использую первый). Первый метод:
  1. Отключаем модуль от питания.
  2. Подаем на ногу KEY сигнал +3.3V.
  3. Включаем модуль.
В это варианте скорость обмена с модулем устанавливается в 38400. Второй метод
  1. Включаем модуль.
  2. Подаем на ногу KEY сигнал +3.3V;
В этом случае скорость обмена с модулем будет равна стандартной, установленной настройками. По-умолчанию 9600. После успешного перехода в режим AT-команд светодиод на модуле начнет мигать раз в две секунды.

Проверка соединения HC

Проверим командный режим HC-05 так же как и в случае ведомого модуля: >>: AT <<: OK >>: AT+VERSION? <<: +VERSION:2.0-20100601

Настройка HC-05 как ведомого (slave)

Для превращения модуля в ведомого потребуется выполнить несколько команд: Сброс предыдущих настроек: AT+ORGL Сброс спаренных устройств: AT+RMAAD Установка пароля: AT+PSWD=1234 Включение режима ведомого: AT+ROLE=0 Дополнительно можно узнать адрес устройства (понадобится для настройки спаренного модуля): AT+ADDR? В ответ получим сам адрес: ADDR=12:6:143117 После настройки, отключаем ногу KEY от +3.3В, и перезапускаем модуль. Готово!

Настройка HC-05 как ведущего (master)

С завода модуль идет ведомым, и чтобы сделать его ведущим потребуется выполнить следующие команды. Сброс предыдущих настроек: AT+ORGL Сброс спаренных устройств: AT+RMAAD Включение режима ведущего: AT+ROLE=1 Рестарт после смены роли: AT+RESET Если мы хотим связать ведомого и ведущего, пишем такие команды: Установка пароля ведомого: AT+PSWD=1234 Указываем парное устройство: AT+PAIR=<адрес>,<таймаут> (пример: AT+PAIR=12,6,143117, 5 ) Связываем с конкретным адресом: AT+BIND=<адрес> (пример: AT+BIND=12,6,143117 ) Запрещаем соединяться с другими адресами: AT+CMODE=0 Готово! Теперь модуль связан с ведомым, и при каждом включении будет пытаться с ним соединиться.

Введение

Bluetooth - популярная технология передачи данных, которую знают все, еще недавно мы передавали свои фотографии и видео ролики с телефона на телефон, но сейчас с приходом глобальной паутины и облачных технологий почти в каждый дом, необходимость в этом сошла на-нет. Популярность же bluetooth технологии тем не менее не закончилась, ее простота и надежность нашла себе новое применение. В данный момент ее используют сотни различных устройств, от беспроводных клавиатур до наушников, от колонок до весов, от пультов до дронов. Именно по этой причине найти современный телефон без поддержки технологии Bluetooth почти невозможно. Естественно данная технология не обошла себя и в области робототехники и конструирования, за небольшой промежуток времени друзья из Поднебесной выпустили несколько копеечных модулей для подключения их к различным микроконтроллерам, в том числе и к микроконтроллерам линейке Arduino. В данной же статье мы поговорим об одном из таких модулей, а именно о Bluetooth модуле ZS-040.

Описание

Bluetooth модуль ZS-040 состоит из двух печатных плат спаянных вместе:

  • Универсальный заводской bluetooth модуль на микросхеме CSR BC417.
  • Адаптер упрощающий подключение заводского модуля к различным микроконтроллерам.

Заводской модуль с микросхемой CSR BC417.

Адаптер ZS-040.

  1. Основная плата это стандартный заводской модуль который используется в тысячах разных устройств. Основой заводского модуля служит микросхема BC417 (BC417143B) [datasheet ] компании CSR (Cambridge Silicon Radio). Модуль с завода прошит и имеет базовый функционал для работы с ним. Модуль поддерживает технологию Bluetooth версии 2.0 со скоростью передачи данных до 3 Мбит/сек.
  2. Вторая же плата это простой адаптер для более удобного подключения основного модуля к различным микроконтроллерам типа Arduino, Raspberry PI и так далее. Второй модуль содержит в себе стабилизатор напряжения на 3.3В, защиту от переполюсовки и в некоторых случаях кнопку. Именно этот адаптер и называется ZS-040. Как правило все в месте имеет название HC-05 или HC-06 в зависимости от конфигурации и режима работы.

Подключение

Подключается модуль к Arduino довольно просто (смотри таблицу или схему подключения снизу) . Питание модуля осуществляется от 5В линии Arduino (Так как адаптер содержит стабилизатор напряжения на 3.3В подключать модуль от линии 3.3В - нельзя) . Линия передачи (TXD) подключается напрямую к одному из портов Arduino, а вот линию приема (RXD) необходимо подключать через делитель напряжения, так как нам надо преобразовать 5В сигналы от Arduino в 3.3В для модуля. Выполняется это двумя резисторами в 1 и 2 кОм-а. На самом деле модуль стерпит и не выйдет из строя и от сигналов в 5В. Тем не менее это скажется на его сроке службы. По этому использовать делитель напряжения строго рекомендуется.

Пример

// Подключаем библиотеку SoftwareSerial #include "SoftwareSerial.h" // Создаем класс BTserial для работы с bluetooth модулем. SoftwareSerial BTserial(8, 9); // порт RX, порт TX void setup() { // Настраиваем скорость передачи данных. Serial.begin(9600); BTserial.begin(9600); // По умолчанию 9600 бот. } void loop() { // Получаем данные от bluetooth модуля и передаем их в монитор порта. if (BTserial.available()) { Serial.write(BTserial.read()); } // Получаем данные от монитора порта и передаем их в bluetooth модуль. if (Serial.available()) { BTserial.write(Serial.read()); } }

В данном примере мы передаем данные из монитора порта в bluetooth модуль и обратно.

Проверка связи

Для проверки нашего скетча мы воспользуемся телефоном и установленным на него приложением. Лично я использую Android телефон и приложение "Serial Bluetooth Terminal ". Скачать приложение вы можете в Play Маркете .

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

Теперь нам надо перейти в настройки телефона и найти там пункт для работы с Bluetooth устройствами. Включить Bluetooth если он был выключен и подождать пока ваш телефон найдет новое устройство. У меня Bluetooth модуль появился под названием HC-06. Выбираем его и вводим пароль. По умолчанию пароль 1234 или 0000. Если по какой либо причине пароли не подходят попробуйте другие простейшие пароли вроде 1111, 5555 и тд.

Теперь запускаем наше приложение Serial Bluetooth Terminal. Открываем выпадающий список и переходим в меню "Devices". В списке выбираем наш модуль HC-06 и возвращаемся на главное окно (Тап по выпадающему списку и далее по меню Terminal). В верхнем правом углу нажимаем на кнопку соединиться (Значок двух коннекторов) . Все. передаем данные из приложения в монитор порта и обратно. Ниже я сделал несколько скриншотов для наглядности.

AT команды

Как я упомянул ранее наш bluetooth модуль имеет базовую прошивку, а это значит что его настройки можно менять. Для этого существуют AT команды, ввод которых изменяет наименование bluetooth модуля, пароль к нему и скорость передачи данных. К сожалению модуль отказывается принимать АТ команды через приложение на телефоне или из монитора порта в режиме передачи данных. Но есть небольшая хитрость. Для этого нам надо подключить bluetooth модуль напрямую к ПК. Для этого необходимо подключить контакты модуля RXD и TXD непосредственно к контактам Arduino (RX и TX), а саму Arduino отключить установив перемычку между портами RST и GND. При этом не важно какой скетч залит в Arduino ведь оно будет отключено нашей перемычкой.

Далее открываем Arduino IDE, запускаем монитор порта и отправляем AT команды в наш модуль. Если по какой либо причине ваш модуль не отвечает на команды, в выпадающих списках снизу необходимо выбрать "Нет конца строки" и скорость передачи данных 9600 бод.

Список АТ команд

Команда

Ответ
Комментарий
AT

OK
Проверка связи.
AT+VERSION

hc01.comV2.0
Версия прошивки bluetooth модуля.
AT+NAMEnewName

OKsetname
Задать новое имя bluetooth модулю (newName).
AT+PIN6789

OKsetPIN
Задать новый пароль (6789).
AT+BAUD1

OK1200
Установить скорость передачи данных 1200 бод.
AT+BAUD2

OK2400
Установить скорость передачи данных 2400 бод.
AT+BAUD3

OK4800
Установить скорость передачи данных 4800 бод.
AT+BAUD4

OK9600
Установить скорость передачи данных 9600 бод.
AT+BAUD5

OK19200
Установить скорость передачи данных 19200 бод.
AT+BAUD6

OK38400
Установить скорость передачи данных 38400 бод.
AT+BAUD7

OK57600
Установить скорость передачи данных 57600 бод.
AT+BAUD8

OK115200
Установить скорость передачи данных 115200 бод.
AT+BAUD9

OK230400
Установить скорость передачи данных 230400 бод.
AT+BAUDA

OK460800
Установить скорость передачи данных 460800 бод.
AT+BAUDB

OK921600
Установить скорость передачи данных 921600 бод.
AT+BAUDC

OK1382400
Установить скорость передачи данных 1382400 бод.

Заключение

Это первая вводная статья посвященная bluetooth модулям. Оставляйте свои комментарии и задавайте ваши вопросы. Ну а у меня на этом все, успех вам и удачи.

Пожалуйста, включите javascript для работы комментариев.

Вам необходимо дистанционно управлять вашей Arduino платой, обмениваться данными с другими bluetooth устройствами? Блютуз модули HC-05, HC06 помогут справиться с этой задачей.

В первой части статьи мы расскажем о том, как установить беспроводное соединение между Arduino и компьютером, а во второй части как установить соединение между Arduino и телефоном на платформе Android. .

Данная статья будет составной частью в дальнейшей сборке дистанционно управляемой машинки.

Компоненты для повторения (купить в Китае):

Модули HC-05/06 представляют из себя голые блютузы с дополнительной обвязкой.

А именно: установлены на подложку, на которой расположен стабилизатор с 5 на 3.3Вольта, светодиод, указывающий на состояние модуля (образовано соединение или нет), и конденсаторы на линиях питания. Также на плате установлен mosfet транзистор (Q1), который при надобности может разрывать цепь питания блютуза, тем самым отключая его, но в нашем обзоре это задействовано не будет.

С лицевой стороны модуль выглядит вот так

Подключение к Arduino

Bluetooth HC-05/06 Arduino
VCC +5V
GND GND
TX RX
RX TX

При подаче питания на модуль встроенный светодиод начинает мигать.

1) C компьютером (операционка WIN7)

2) C телефоном (операционка ANDROID)

В обоих случаях нам будет необходимо выполнить 2 действия : выполнить сопряжение модуля и устройства, управлять через какой-нибудь терминал.

Часть 1. Соединение с компьютером (WIN7)

Если в вашем компьютере нет встроенного блютуза, то можно воспользоваться . Найти его в салонах связи или на радио рынках не составит труда.

После установки драйверов на блютуз можно приступать к работе.

. Действие 1

Идем в панель управления, щелкаем на иконку блютуза и выбираем "Показать устройства Bluetooth"

Через некоторое время компьютер произведет поиск и вы увидите ваш модуль (У вашего модуля может быть другое имя).

Выбираем второй вариант - "Введите код образования пары устройства"

Для HC-06 этот код 1234

Завершается все такой картиной.

А за ним еще одно

Первый этап настройки завершен

В случае, если вы забудете каким COM портом у вас определился блютуз, это всегда можно посмотреть выполнив следующие действия:

Действия

P.S. Или посмотреть в диспетчере устройств

. Действие 2

Для передачи данных можно использовать любой терминал. Я использовал простой и бесплатный "Termite ".

В качестве примера мы будем изменять состояние встроенного на плату Arduino светодиода "LED 13". Включаться он будет при приеме символа "W", а отключаться при "S". Приведенный ниже скетч нужно залить в плату Arduino. При заливке в плату необходимо отсоединить питание от блютуз модуля , после заливки снова подсоединить.

пример программного кода:

int val; int LED = 13; void setup () { Serial .begin (9600); pinMode (LED, OUTPUT ); } void loop () { if (Serial .available ()) { val = Serial .read (); // При символе "W" включаем светодиод if (val == "W" ) { digitalWrite (LED, HIGH ); } // При символе "S" выключаем светодиод if (val == "S" ) { digitalWrite (LED, LOW ); } } } Открываем программу "Termite "

В настройках выбираем наш порт, скорость (9600).

Также модуль можно проверить и без Arduino просто замкнув выводы TX и RX. Termite отправляемые символы отмечает синим цветом, полученные зелеными. Т.е. если при закороченных выводах мы отправили и нам пришло тоже самое - значит что модуль работает исправно. На фото ниже это и продемонстрировано.

Часть 2. Соединение с телефоном (Android)

В качестве подопытного будет взят телефон Samsung Galaxy Ace 2 на операционке Android.

. Действие 1

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

. Действие 2

В качестве терминала выберем опять-таки простой и бесплатный, но уже "Bluetooth Terminal "

P.S. В случае если не удается подключиться, отключайте питание от блютуза и подключайте заново.

Bluetooth в Arduino позволяет объединять различные устройства по беспроводному каналу связи. Вы можете передавать сообщения от датчиков и контроллеров Arduino на Android устройства и наоборот, получать команды со смартфонов по bluetooth. В этой статье мы узнаем, как с помощью популярных и не очень недорогих bluetooth модулей HC05 и HC06 организовать беспроводную работу своего ардуино проекта. Вы не поверите, но подключение и программирование Bluetooth модулей совсем не сложное занятие и доступно даже начинающим. Давайте убедимся в этом.

Нередко в проектах возникает необходимость дистанционного управления или передачи данных с телефона или другого устройства. Одним из самых популярных и удобных способов является обмен данных через Bluetooth. Для связи платы Ардуино и компьютера используется интерфейс UART (Serial). Так как любая плата Ардуино имеет хотя бы 1 последовательный порт UART, для подключения Bluetooth модуля не требуются специализированные библиотеки и схемы.

Самыми популярными модулями являются устройства на основе чипа BC417. Эта серия называется HC. Модули HC-03 и HC-05 могут быть и сервером соединения, и клиентом, они обладают широким набором АТ команд.

Для подключения к ПК потребуются модуль Bluetooth, плата Ардуино, соединительные провода и компьютер. Скетч для управления платой Ардуино через смартфон и компьютер будет одинаковым, так как в обоих случаях данные в микроконтроллер буду поступать по протоколу UART. Схема подключения Bluetooth-модуля к плате представлена на рисунке. Пин RX на ардуино подключается к TDX, TX – к RDX, GND – к GND, 5V – к VCC.

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

Int val; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); // 13 пин – светодиод, объявляется как выход } void loop() { if (Serial.available()) // проверка поданных команд { val = Serial.read(); if (val == "1") {digitalWrite(13, HIGH);} // при 1 включается светодиод if (val == "0") {digitalWrite(13, LOW);} // при 0 выключается светодиод } }

Теперь нужно настроить соединение телефона и модуля. Для установки соединения нужно зайти в настройки телефона и включить Bluetooth. Как только устройство будет найдено, нужно ввести пароль – обычно это «1234» или «0000». После этого нужно зайти в приложение, нажать на кнопку «подключить Bluetooth» и выбрать нужное устройство. При успешном сопряжении на модуле светодиод начнет мигать медленнее, примерно 1 раз в 2 секунды.

В скетче светодиод включается и выключается при получении цифр «1» и «0». Кроме цифр также можно использовать буквы латинского алфавита с учетом регистра.

Аналогичным образом можно подключаться к модулю при помощи компьютера. Для этого существуют различные программы, которые подключатся к COM-порту. При запуске программы запрашивают номер порта, скорость и тип подключения. При успешном подключении на экране появится поле терминала, в которое нужно ввести с клавиатуры цифры/буквы, включающие светодиод.

Описание модуля Bluetooth HC 06

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

Основные характеристики модуля:

  • Питание 3,3В – 6 В;
  • Максимальное входное напряжение 5 В;
  • Максимальный ток 45 мА;
  • Скорость передачи данных 1200–1382400 бод;
  • Рабочие частоты 2,40 ГГц – 2,48ГГц;
  • Поддержка спецификации bluetooth версии 2.1;
  • Малое потребление энергии;
  • Высокий уровень защиты данных;
  • Дальность связи 30 м;
  • Для подключения к смартфону используются следующие данные – пароль «1234», скорость передачи данных 9600, имя модуля HС-06.

Модуль имеет следующие контакты:

  • VCC , GND – плюс и минус питания;
  • RX и TX – приемник и передатчик;
  • MCU-INT – выводит статус;
  • Clear (Reset) – сбрасывание и перезагрузка модуля. Последние два вывода обычно не задействованы в работе, поэтому сейчас производятся модули без этих контактов.

Модуль HC-06 используется только в режиме slave, то есть он не может самостоятельно подключаться к другим устройствам Bluetooth. Все настройки для подключения «пароль, скорость передачи данных» можно изменить при помощи АТ-команд.

В комплектацию модуля не входят соединительные провода.

Сравнение модулей Bluetooth HC 05 и HC 06

Модули HC 05 и HC 06 являются наиболее используемыми, их чаще остальных можно найти в продаже. Принцип действия этих модулей схож, оба модуля основаны на одинаковом чипе, но есть и важные отличия. В первую очередь, модуль HC 05 может работать в двух режимах работы – и в качестве ведущего (master), и в качестве ведомого (slave).

Оба модуля представляют собой две спаянные платы. Одна из них – заводская с микросхемой, другая нужна для самодельных устройств, она оснащена ножками GPIO со стандартным шагом 2,54 мм и стабилизатором напряжения.

Модуль HC-05 стоит несколько дороже, но он имеет большее количество полезных рабочих функций.

Распиновка модуля HC-05:

  • EN – управление питанием;
  • Питание VCC;
  • RX, TX;
  • STATE – индикация;
  • KEY – активирует режим управления при помощи АТ-команд. При KEY=0 – передача данных, при KEY=1 – АТ-команды.

Скорость передачи АТ команд по умолчанию для HC-05 равна 38400, для HC-06 – 9600. Важным моментом является то, что в конце АТ команд для HC-05 должны быть символы CRLF.

Основные характеристики HC-05:

  • Рабочие частоты 2,4 – 2,48 ГГц;
  • Мощность передачи 0,25 – 2,5мВт;
  • Дальность 10 м;
  • Максимальная скорость обмена данными 115200 бод;
  • Питание 3,3В;
  • Ток 30-40 мА;
  • Рабочие температуры от -25С до 75С.

Подключение обоих модулей к плате Ардуино одинаково.

Вариант подключение модуля с использованием делителя.Представлен вариант для Arduino Nano, но он подойдет и к плате Uno.

Заключение

В этой статье мы рассмотрели варианты подключения и работы с одними из самых распространенных Ардуино модулей Bluetooth HC05, HC06 . Никаких особенных сложностей с этими модулями у вас быть не должно – просто подключайте его к пинам с аппаратным или программным UART, после чего используйте традиционные библиотеки (Serial для модуля, подключенного к 0, 1 пинам, SoftwareSerial в случае присоединения к другим).

Подключение Bluetooth к вашему Arduino-проекту может существенно увеличить ваши возможности по взаимодействию с другими устройствами. Вы сможете контролировать состояния датчиков и изменять параметры системы без перезагрузки контроллера. И. конечно же, вы сможете без проблем создать роботы и машинки на ардуино, управляемые через bluetooth со смартфона. Будем надеяться, что вы сможете сделать свой первый проект после прочтения этой статьи.