Уроки аrduino: подсоединяем микроконтроллер к bluetooth

Урок 15. Bluetooth модуль HC-06 подключение к Arduino. Управление устройствами с телефона.

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

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

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

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

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

Подключать 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.

Скачать скетч можно по ссылке.

После того как скетч записан и 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.

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

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

Bluetooth в Arduino проектах

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

Теперь нужно настроить соединение телефона и модуля. Для установки соединения нужно зайти в настройки телефона и включить 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;
  • GND;
  • 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 со смартфона. Будем надеяться, что вы сможете сделать свой первый проект после прочтения этой статьи.

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

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

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

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

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

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

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

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

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

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

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

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

Сообщества › Arduino для автомобиля › Блог › Загрузка скетчей в ARDUINO UNO через Bluetooth.

Надоело каждый раз при отладке робота цеплять его к компьютеру коротким кабельком и я нашел статейку про загрузку скетчей через Bluetooth geektimes.ru/post/254972/. Думаю это полезно будет не только роботостроителям 🙂
В статье описан процесс подключения Arduino Pro Mini и мой Arduino Uno R3 сразу не соединился – пришлось принять меры – поломать голову!
Необходимо:
Arduino Uno R3;
Bluetooth-модуль HC-05 (HC-06 не подходит!);
USB-UART-TTL адаптер – например CР2102 (+драйвер) (можно заменить Arduino);
Транзистор (n-p-n) — например С547В;
Резистор 1 кОм и 6,8 кОм;
Светодиод;
Провода мама – мама/папа;
Изолента;
Софт – терминал RS232 – например Termite 3.2.

Доработка Bluetooth модуля:
1. Для перепрошивки необходимо перевести Bluetooth в командный режим – на 34-ю ногу подать питание 3.3в – подсоединить к ноге 12.

Это можно сделать, припаяв провод к данным ногам на время перепрошивки.
Я припаял провода с разъемами – что бы можно было при необходимости переводить Bluetooth в командный режим при экспериментах или в случае изменения пароля или названия модуля.

2. Для выдачи сигнала RESET с Bluetooth на Arduino необходимо организовать дополнительный вывод – см. рисунок и фото ниже. Попутно подключаем второй светодиод для индикации режима «передачи».

Я не стал городить отдельных плат – сделал все на обратной стороне модуля.

Что бы передавать сигнал сброса на Arduino я использовал один из вспомогательных разъемов Bluetooth — STATE – отрезав его от платы, подпаиваем к нему вывод транзистора.
Данный разъем будем подсоединять к Arduino к разъему RESET.

При сборке будьте внимательны и осторожны! Необходимо изолировать плату модуля от монтируемых элементов, ну и элементы друг от друга – например изолетной.
После сборки я обмотал модуль изолетной целиком – выглядит может не очень “промышленно” – зато элементы не отвалятся.

Прошивка Bluetooth модуля:
1. Вводим Bluetooth модуль в командный режим – соединяем ноги 34 и 12.
2. Подключаем Bluetooth модуль к компьютеру через переходник USB-UART-TTL или через Arduino (выводы RX и RX Bluetooth подсоединяются к таким же выводам Arduino).
ПРИМЕЧАНИЕ: Для подключения USB-UART-TTL может потребоваться драйвер.
3. Запускаем терминал и настраиваем соединение – скорость обмена с новым модулем НС-05 устанавливается в 38400.

4. После установления соединения задаём следующую последовательность команд:
AT
AT+RESET
AT+ORGL
AT+ROLE=0
AT+POLAR=1,0
AT+UART=115200,0,0
AT+INIT
AT+INQ
После каждой команды модуль должен отвечать ОК.
ПРИМЕЧАНИЕ: Здесь 115200 – скорость соединения для Arduino UNO. Для других плат скорость может быть другой.

Если есть желание поменять стандартный пароль на соединение, например вместо 1234 на 5678, то дополнительно:
AT+PSWD=5678
Если есть желание поменять название устройства, то дополнительно:
AT+NAME=Arduino
После этого модуль отключаем от компьютера,
5. Выводим Bluetooth модуль из командного режима — разъединяем 34 и 12 ноги.

Изменение софта Arduino IDE на компьютере:
Arduino IDE при каждой попытке заливки скетчка делает очистку буферов COM-порта, что приводит к закрытию Bluetooth соединения и отмене загрузки.
Чтобы избежать этого, нужно поправить конфигурацию Arduino IDE, который находится в файле C:arduinohardwarearduinoavrboards.txt.
Отрываем этот файл в текстовом редакторе, ищем секцию, соответствующую плате, с которой работаем (у меня это UNO) и добавляем следующую строку:
uno.upload.disable_flushing=true

Подключение и работа:
1. Подключаем Bluetooth модуль к Arduino:
— разъем RXD к разъему TХ Arduino;
— разъем TXD к разъему RХ Arduino;
— разъем STATE Bluetooth к выходу RESET Arduino;
— выводы VCC и GND – к питанию 5В на Arduino.
При включении «родной» светодиод Bluetooth будет моргать.

2. Далее запускаем Bluetooth на компьютере и устанавливаем соединение с Bluetooth Arduino. Как соединение будет установлено «родной» светодиод Bluetooth перестанет моргать – будет гореть постоянно.

3. Открываем Arduino IDE – выбираем COM порт к которому подключен Bluetooth компьютера и загружаем скетч.
ПРИМЕЧАНИЕ: У меня на компьютере не было Bluetooth – приобретал отдельно – как вариант Gembird BTD-MINI 4.
При начале загрузки «второй» — «имплантированный» светодиод загорится ярко и будет гореть пока идет загрузка.
После окончания загрузки Arduino перезагрузится, но скетч выполнятся не будет.

4. Для начала работы либо отключите Bluetooth от Arduino, либо включите монитор порта Arduino IDE.

Начало работы Arduino при включении монитор порта Arduino IDE очень удобно – можно контролировать начало включения робота/устройства и одновременно получать данные с Arduino.

Но на время когда вы хотите работать с Arduino по USB – Bluetooth нужно выключать. Я для этого поставил выключатель на питание + Bluetooth.

Источники:

http://arduinomaster.ru/datchiki-arduino/arduino-bluetooth-hc05-hc06/

http://xn--18-6kcdusowgbt1a4b.xn--p1ai/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B1%D0%BB%D1%8E%D1%82%D1%83%D0%B7-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F-%D0%BA-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/

http://www.drive2.ru/c/2749401/

http://arduinoplus.ru/arduino-krestiki-noliki/

Ссылка на основную публикацию