Bluetooth модуль для arduino: характеристики, распиновка

Урок 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.

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

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

Bluetooth модуль HC-05

Товары

Обзор модуля Bluetooth HC-05

Контроллер Arduino не поддерживают беспроводную связь, а часто это просто необходимо. Например, удаленное управление роботом на Arduino, отправка данных с метеостанции на арудино в Интернет или на домашний сервер, связь нескольких устройств между собой. Здесь в помощь разработчикам устройств множество внешних модулей для организации различных технологий беспроводной связи: модули WiFi, GSM/GPRS, IR, Bluetooth, радиомодули для работы в различных частотных диапазонах.

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

Одно из лучших решений для организации двусторонней связь по Bluetooth вашего Arduino-устройства с планшетом, ноутбуком или другим Bluetooth-устройством – Bluetooth-модуль HC-05 , который может работать как master (осуществлять поиск Bluetooth-устройств и инициировать установку связи), так и slave (ведомое устройство).

Технические характеристики модуля HC05

  • Чип Bluetooth: HC-05(BC417143)
  • Диапазон частот радиосвязи: 2,4–2,48 ГГц
  • Мощность передачи: 0,25–2,5 мВт
  • Чувствительность: –80 dBм
  • Напряжение питания: 3,3–5 В
  • Потребляемый ток: 50 мА
  • Радиус действия: до 10 метров
  • Интерфейс: последовательный порт
  • Режимы: master, slave
  • Температура хранения: –40…85 °C
  • Рабочий диапазон температур: –25…75 °C
  • Габариты: 27 x 13 x 2,2 мм

Подключение

Датчик имеет 6 выводов стандарта 2,54 мм:

  • VCC — (питание 3,6 – 6 В);
  • GND — (земля).
  • TXD, RXD — UART интерфейс;
  • STATE — индикатор состояния;
  • KEY — контакт для входа в режим программирования.

Настройка модуля осуществляется в режиме программирования отправкой AT-команд по последовательному порту. Для входа в режим программирования необходимо подать на контакт KEY сигнал высокого уровня. На некоторых модулях контакт KEY отсутствует, и вместо него контакт EN:

  • EN — включение/выключение модуля;

В этом случае для входа в режим программирования необходимо подать сигнал высокого уровня на контакт 34:

Для модуля к плате Arduino по последовательному порту будем использовать со сторону Arduino программный UART. Схема подключения на рисунке:

Получить должны примерно следующие:

Программирование модуля Bluetooth HC05

Настройка модуля осуществляется в режиме программирования отправкой AT-команд по последовательному порту. Подключим модуль HC05 к плате Arduino по схеме соединений на рисунке 5. На контакт KEY модуля (или вывод 34 платы) подадим 3.3В. AT-команды будем отправлять из монитора последовательного порта Arduino IDE. Загрузим в Arduino скетч из листинга 1. Нам понадобится Arduino-библиотека SoftwareSerial. Скорость UART модуля в режиме программирования 38400 бод, но может и отличаться, в этом случае следует подобрать.

После загрузки скетча откроем монитор последовательного порта Arduino IDE и начнем отправлять AT-команды:

Список основных AT-команд:

Ответ модуля: OK

  • AT+VERSION? — получить версию прошивки модуля.

Ответ модуля: +VERSION:

— версия прошивки Bluetooth-модуля.

Ответ модуля: OK

  • AT+ORGL — установка пользовательских настроек модуля.

Ответ модуля: OK

  • AT+ADDR? — получить адрес модуля.

Ответ модуля: +ADDR:

— адрес Bluetooth-модуля NAP: UAP : LAP.

  • AT+NAME? — получить имя модуля.

Ответ модуля: +NAME:

— установить новое имя модуля.

Ответ модуля: +NAME:

  • AT+PSWD? — получить пин-код доступа к Bluetooth-модулю.

Ответ модуля: + PSWD:

— пин-код. По умолчанию 1234.

— установить код доступа к Bluetooth-модулю.

— код доступа к модулю.

Ответ модуля: OK (или FAIL)

  • AT+ > — установить режим работы модуля Bluetooth-модуля.

— класс. В документации модуля не приведены возможные значения данного параметра. По умолчанию он установлен в 0. Если предполагается использовать модуль в режиме master, значение не надо изменять. Если использовать модуль в режиме slave, при значении параметра, равном 0, он невидим для устройств с операционной системой Android. Для видимости необходимо установить значение параметра равным 7936.

Ответ модуля: OK

    AT+ > Параметров нет.

Ответ модуля: +CLASS:

  • AT+IAC — получить код доступа к запросу GIAC (General Inquire Access Code).

Различным физическим каналам связи, исполь­зуемым в процессе установления соединения, соответствуют различные коды доступа к каналам. В каналах опроса, за исключением выделенных, используется одинаковый для всех устройств общий код доступа к запросу.

Ответ модуля: + IAC:

— код доступа к запросу.

— установить код доступа к запросу.

— код доступа к запросу. Значение по умолчанию 9e8b33.

Ответ модуля: OK (или FAIL)

  • AT+ROLE? — получить режим работы модуля.

Ответ модуля: +ROLE:

— режим работы модуля Bluetooth-модуля:

  • 0 — slave. В этом режиме другой мастер может подключиться к модулю;
  • 1 — master. В этом режиме модуль может сам подключиться к какому-нибудь Bluetooth-устройству;
  • 2 — slave-loop. Модуль отправляет обратно все байты, которые ему прислали.
  • AT+ROLE=

— установить режим работы Bluetooth-модуля.

— режим работы Bluetooth-модуля:

Ответ модуля: OK

— установить модуль для последовательного порта.

— скорость обмена (9600,19200,38400,57600,115200);

— стоп-бит:

  • 0 — нет;
  • 1 — есть;

    Ответ модуля: OK (или FAIL).

    • AT+UART? — получить параметры обмена модуля.

    Ответ модуля: +UART:

    — скорость обмена (9600,19200,38400,57600,115200);

    — бит паритета.
    AT+CMODE=

    — установить режим подключения Bluetooth-модуля.

    — режим подключения Bluetooth-модуля:

    • 0 — модуль может подключаться только к определенному командой AT+BIND Bluetooth-устройству;
    • 1 — модуль может подключаться к любому Bluetooth-устройству;
    • 2 — режим slave-loop.

    Ответ модуля: OK

    • AT+CMODE? — получить режим подключения модуля.

    Ответ модуля: +CMODE:

    — режим подключения Bluetooth-модуля:

    • 0 — модуль может подключаться только к определенному командой AT+BIND Bluetooth-устройству;
    • 1 — модуль может подключаться к любому Bluetooth-устройству;
    • 2 — режим slave-loop.
    • AT+INQM=

    — установить параметры для запроса поиска Bluetooth-устройств.

    :

  • 0 — стандартный режим запроса;
  • 1 — запрос в режиме RSSI;

    — максимальное количество устройств, отвечающих на запрос;

    — таймаут ожидания (1–48: от 1,28 сек до 61,44 сек).

    Ответ модуля: OK (или FAIL).

    • AT+INQM? — получить параметры для запроса поиска Bluetooth-устройств.

    Ответ модуля: +UART:

    • AT+INQ — запуск поиска Bluetooth-устройств.

    Ответ модуля — список найденных устройств.

    — привязать Bluetooth-модуль к другому модулю.

    — адрес авторизованного Bluetooth-модуля.

    Ответ модуля: OK (или FAIL).

    • AT+BIND? — получить адрес устройства, привязанного к Bluetooth-модулю.

    — адрес устройства, привязанного к Bluetooth-модулю.

    — поиск авторизированного Bluetooth-устройства.

    — адрес авторизованного Bluetooth-модуля:

    Ответ модуля: OK (или FAIL).

    — удалить устройство из списка авторизированных для нашего Bluetooth-модуля.

    — адрес авторизованного Bluetooth-модуля.

    Ответ модуля: OK (или FAIL).

    • AT+RMAAD — очистить список авторизированных устройств для нашего Bluetooth-модуля.

    — адрес авторизованного Bluetooth-модуля.

    Ответ модуля: OK (или FAIL).

    — соединиться с Bluetooth-устройством.

    Ответ модуля: OK (или FAIL).

    Полный список AT-команд можно найти здесь.

    Пример использования

    Рассмотрим пример получения на Android-устройстве (телефон, смартфон, планшет) данных влажности воздуха и температуры с датчика DHT11, подключенного к Arduino. Arduino каждые 10 секунд получает данные с датчика DHT11 и отправляет их через модуль HC05 на Android-устройство.

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

    • плата Arduino
    • плата прототипирования
    • датчик DHT11
    • модуль Bluetooth HC05
    • соединительные провода
    • Телефон или планшет но ОС Andro > Соберем схему, показанную на рисунке:

    Загрузим на плату Arduino скетч ( смотрите ниже) – получение данных влажности и температуры с датчика DHT11 и выдача данных в последовательный порт (hardware) через модуль HC05 на Android-устройство.

    Проверим на Android-устройстве получение данных, отправляемых Arduino через bluetooth-модуль HC05. На Android-устройчстве установим программу Bluetooth Terminal. В программе установим соединение с модулем HC05 :

    И наблюдаем прием данных, поступающих из Arduino через модуль HC05:

    И выдача данных в монитор последовательного порта Arduino IDE:

    Источники:

    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://arduinomaster.ru/datchiki-arduino/arduino-bluetooth-hc05-hc06/

    http://3d-diy.ru/wiki/arduino-moduli/bluetooth-modul-hc-05/

    http://arduinoplus.ru/kolichestvo-funkcionala-prosmotra-tovarov/

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