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

Содержание

Page not found - Лаборатория проектов школы 169

Unfortunately the page you're looking doesn't exist (anymore) or there was an error in the link you followed or typed. This way to the home page.


Blog

  • 02/25/2021 - Новое пособие "Дизайн компьютерных игр"
  • 01/22/2021 - Snap4Arduino и проекты "виртуальной" робототехники
  • 01/21/2021 - Cеминар "Программирование микроконтроллеров в визуальных средах. От учебных проектов к профессиональным"
  • 01/18/2021 - Дистанционная внеурочка, материалы занятий по темам Робототехника и Дизайн компьютерных игр
  • 12/01/2020 - Лекция-демонстрация "Комплект на базе робота Makeblock mBot в школе и дома"
  • 11/24/2020 - Профессиональный и личностный успех в проектах технической направленности как фактор формирования социальных установок обучающихся
  • 11/23/2020 - Виртуальная робототехника на Scratch и Snap4arduino
  • 11/16/2020 - Цифровая образовательная среда. Проблемы, решения и влияние на социальные установки.
    Начало.
  • 11/11/2020 - Представляем 5 главу книги "Scratch и Arduino для юных программистов и конструкторов"
  • 08/25/2020 - Программа физического моделирования Algodoo, первые шаги
  • 08/19/2020 - Средства визуального программирования микроконтроллеров, краткий обзор обновлений
  • 08/04/2020 - Готовим дидактические материалы для внеурочки в условиях продолжающейся пандемии
  • 06/01/2020 - Шаг за шагом моделируем в Scratch гармонические колебания и упругое взаимодействие объектов
  • 04/27/2020 - Шаг за шагом моделируем столкновения объектов в среде Snap4arduino
  • 04/18/2020 - Шаг за шагом моделируем поведение робота в среде Snap4arduino
  • 04/04/2020 - Создание домашних заданий в TRIK Studio
  • 03/27/2020 - Дистанционное обучение робототехнике на платформе TRIK Studio
  • 03/05/2020 - Открытая учебная робоплатформа нового поколения
  • 02/25/2020 - Преемственность учебных материалов в робототехнике, альтернативы mBot
  • 12/12/2019 - Методы распределённой разработки как учебный инструмент в робототехнике
  • 12/10/2019 - Приглашаем на городской семинар «Современные микроконтроллеры и ранняя инженерная профориентация в школе»
  • 12/02/2019 - Открытые зимние состязания Санкт-Петербурга по робототехнике 2019
  • 11/22/2019 - Наш УМК по робототехнике - Победитель конкурса инновационных продуктов!
  • 10/22/2019 - Сборка робота на основе конструктива из набора "Ресурсный набор Lego Mindstorms EV3 (45560)"
  • 09/20/2019 - Наш УМК выставлен на участие в региональном конкурсе инновационных продуктов
  • 09/12/2019 - Семинар "Техносфера современной школы: создание и перспективы использования"
  • 09/01/2019 - Перевод регламента соревнований makeX 2019 года
  • 05/29/2019 - Апробация плат от Elecfreaks
  • 05/26/2019 - 2 место в категории "Следовании по линиии экстремал"
  • 05/15/2019 - Образовательный робонабор под нашу книжку.
  • 04/24/2019 - ME-Sensors 3D (модели для печати защитных пластин)
  • 04/18/2019 - Региональный круглый стол в 169-ой
  • 04/07/2019 - Поздравляем победителей открытых состязаний Санкт-Петербурга по робототехнике 6-7 апреля 2019
  • 03/31/2019 - Открытые соревнованиях по робототехнике Центрального района
  • 03/28/2019 - ИТНШ 2019. «Ноу-хау» на основной площадке конференции.
  • 03/27/2019 - ИТНШ 2019. Выездной семинар в 169-ой
  • 02/22/2019 - 3D-печать на занятиях. Из опыта работы.
  • 02/18/2019 - Fischertechnik. BT Стартовый набор. Пробуем ROBO Pro Light
  • 02/11/2019 - Образовательные продукты Makeblock - традиции, инновации и открытые стандарты
  • 02/02/2019 - Курсы робототехники в 169-ой
  • 01/30/2019 - Первый шаг в мир микроконтроллеров
  • 01/27/2019 - Городские соревнования "Юный конструктор"
  • 12/25/2018 - Обзор визуальных средств программирования микроконтроллеров (часть 2)
  • 12/20/2018 - Городской семинар "Scratch-подобные визуальные среды программирования микроконтроллеров: обзор, сравнение, расширение возможностей, опыт использования"
  • 12/19/2018 - Обзор визуальных средств программирования микроконтроллеров (часть 1)
  • 12/14/2018 - Игрофикация в робототехнике, плюсы и минусы
  • 12/14/2018 - Fischertechnik. BT Стартовый набор. Начинаем апробацию.
  • 12/05/2018 - MakeBlock Ranger. 3D модели для сборки. Вариант 1.
  • 11/22/2018 - Наш УМК - лауреат конкурса инновационных продуктов!
  • 11/21/2018 - Поздравляем нашего выпускника!
  • 10/23/2018 - В 169-ой переведен регламент MakeX Robotics Competition Blue Planet 2018
  • 10/18/2018 - Новое поколение микроконтроллеров и программных средств, в чем отличие?
  • 10/14/2018 - Зачем и как мы учим программировать микроконтроллеры. Как?
  • 10/06/2018 - Робофинист 2018: ведем мастер-классы, представляем новые продукты.
  • 10/05/2018 - Ура! В издательстве БХВ вышла наша новая книжка про роботов!
  • 09/28/2018 - 3D печать в школе - несколько зарисовок из опыта работы.
  • 09/22/2018 - Договор с MakeBlock Co.Ltd и ООО "ЦС Импэкс" о совместных исследованиях!
  • 06/08/2018 - Advanced Arduino Extension - расширение для mBlock3 от А.Григорьева
  • 04/24/2018 - Встреча: MakeBlock, DIGIS, БХВ и 169-ая))
  • 03/28/2018 - ИТНШ 2018. Выездной семинар в 169-ой.
  • 03/27/2018 - ПОФ 2018. Ярмарка «Успешных практик реализации ФГОС»
  • 03/20/2018 - mBot. Собираем оптимальную конфигурацию учебного робота.
  • 03/15/2018 - ПРОБЛЕМЫ ВНЕДРЕНИЯ УЧЕБНЫХ ПРОГРАММ ПО НАПРАВЛЕНИЮ "РОБОТОТЕХНИКА" В ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЕ
  • 03/08/2018 - 7-8 марта. Выступление на Робофесте 2018 в Москве.
  • 03/06/2018 - Новый видеоролик о mBot: "лягушка" и "жук"
  • 02/14/2018 - ОПЫТ ПРЕПОДАВАНИЯ РОБОТОТЕХНИКИ В ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЕ
  • 01/31/2018 - вебинар "Опыт школ по внедрению Инженерного инновационного класса"
  • 01/30/2018 - Семинар по программированию микроконтроллеров и технологиям "Интернет-вещей"
  • 01/18/2018 - Робототехника и экология. Выступление в Туле.
  • 12/09/2017 - "Робоняша" в 169-ой
  • 12/08/2017 - Новый ролик в видеоблоге: Робот mBot от компании Makeblock. ч.3-1. Расширение: шестиногий робот.
  • 11/30/2017 - Межрайонный мастер-класс
  • 11/25/2017 - 169-ой школе исполнилось 80 лет!
  • 11/18/2017 - Практиканты "Петровского колледжа" в 169-ой
  • 11/15/2017 - Новая книга!
  • 11/07/2017 - Проект "Знакомимся, mBot!"
  • 10/06/2017 - "Умные вещи", новый виток развития технологий
  • 10/05/2017 - Как связать два микроконтроллера по Bluetooth. Настраиваем HC-05 для работы в режиме Master
  • 10/04/2017 - СПО в школе. Давайте вместе заполним список! Часть 1. Поддержка робототехники и конструирования
  • 10/03/2017 - Робототехника... без роботов. Scratch и имитационное программирование. Движение по линии
  • 10/02/2017 - Стандарты для Arduino-роботов как возможность занять правильную нишу в образовательной робототехнике.
  • 10/02/2017 - Использование распределенных ресурсов сетевых партнеров для формирования современной техносферы образовательной организации
  • 10/02/2017 - Визуальное программирование микроконтроллеров в образовании

Arduino bluetooth hc 06 - Вэб-шпаргалка для интернет предпринимателей!

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

Один из самых популярных и распространенных методов обмена данными посредством 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.

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

Arduino bluetooth будет удобен для удалённого управления вашим устройством на базе микроконтроллера, но давайте разберём, что это такое и какие характеристики у bluetooth модулей hc 05 и hc 06.

Что такое bluetooth модуль и его назначение

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

Таким образом, первичное и главное назначение Ардуино блютуз – связь с вашим ПК иили Андроидом по соответствующему протоколу. Это позволяет не только управлять разнообразными датчиками на микроконтроллере, но и, в случае необходимости, обновлять прошивку.

Полностью перепрошить устройство с его помощью не получится. Помимо этого, Android Arduino bluetooth может обеспечить связь между несколькими МК и приборами. Естественно, для этого на каждом из них должен быть установлен независимый модуль. HC-05 позволяет проложить несколько мостов по типу USAR-bluetooth-USART. При этом само устройство будет восприниматься в качестве ответного на USART.

А организовывать связь уже будет аппаратная часть вашего проекта.

Модуль HC-06

У блютуз модуля под Ардуино, есть несколько преимуществ, перед стандартными дополнениями под другие МК:

  1. Инженеру нет необходимости изучать технологию протокола блютуз, чтобы написать софт или начать использовать уже готовые библиотеки.
  2. Простота использования в целом. Вам не нужно будет паять отдельную плату под распределение мощностей, просто подсоедините устройство к уже готовому МК через пины.
  3. Обширный выбор библиотек. Так как Ардуино имеет низкий порог вхождения, под все его модули можно найти большое количество библиотек, разного назначения. Но стоит отметить, что весомая их часть – бесполезны, ибо не работают или работают крайне плохо. Ведь пишет их сообщество, которое не изучало основы алгоритмизации и, в большинстве своём, в принципе, плохо разбирается в программировании. Из-за этого, во многих ситуациях, просто модифицировать чужой софт – не лучшее решение, и значительно проще написать свой.

Сфера же применения RC car Arduino bluetooth – огромна и ограничена лишь вашей фантазией. Например, вы можете купить обычную китайскую гарнитуру, припаять к ней пару модулей под Ардуино, так как они могут функционировать и без МК, и загрузить одну из готовых библиотек. После таких манипуляций наушники можно будет использовать в беспроводном режиме и исчезнет проблема с запутывающимися или гнущимися проводами. Это одна из банальных проблем реализации данного протокола в проекте, на деле их тысячи.

Предназначается bluetooth аудио модуль для бытового и коммерческого применения, чему способствуют его характеристики. Также стоит учитывать, что если вы собираетесь в дальнейшем связываться по одноимённому протоколу с ПК, то на большинстве современных устройств необходимо будет докупить блютуз по USB. Но вы можете также спаять его из МК, создав собственный bluetooth модуль для компьютера. Естественно, это не относится к ноутбукам, где поголовно устанавливаются одноимённые передатчики, и никак модифицировать их уже не требуется.

Распиновка HC-05 и HC-06

Выводы на платах отвечают за:

Вывод Значение
EN включение/выключение модуля
VCC питание +5В
GND земля
TXD, RXD UART интерфейс для общения с контроллером
STATE индикатор состояния
KEY нога для входа в режим AT-команд

Характеристики

Давайте подробнее разберёмся, какие характеристики имеет такой bluetooth модуль для ПК и различных проектов. Сами разработчики заявляют, что выдержали коммерческий стандарт в hc 05. Соответственно, для управления устройством будет достаточно специальной программы на смартфоне или компьютере, которая позволит отправлять и получать данные с датчика. Однако существует ограничение в области применения, ведь устойчивый сигнал, без использования усилителей, можно поймать лишь на 9 метрах от чипа. Учитывайте, что это сырые цифры, в которых во внимание не берутся преграды на пути волн.

Сами hc чипы полностью совместимы с любыми адаптерами, что поддерживают SPP. На самой плате устройства размещается небольшая антенна, припаянная к верхнему слою в виде дорожки, похожей на змею. Характеристики девайса заявлены следующие:

  1. Активные частоты радиосвязи находятся в диапазоне 2.4-2.48 ГГц.
  2. Канал приспособлен к адаптивному переключению.
  3. Условная дальность связи – 10 метров, но в этой цифре не учитываются преграды и помехи.
  4. Максимальная скорость при обмене информацией – 115300 бод.
  5. Хранить чип можно в температурном диапазоне от — 40 до +85 градусов, а вот использовать – от -20 до +70.
  6. Для работы необходимо будет напряжение в 3.3 В, что мы рассмотрим чуть ниже.

Подключение

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

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

В подобном девайсе обязательно должен быть соединительный разъемспециальные отверстия для монтажа проводки, а также светодиоды, которые помогут определить, идёт ли ток и работает ли устройство. Помимо прочего, необходимы стабилизаторы, специальный переключатель для reset’а прошивки и преобразователи интерфейсов, по вашему желанию.

При первом подключении важно проверить работоспособность, для этого подойдёт смартфон или ПК. Просто подайте ток на модуль и просканируйте его соответствующими устройствами.

Настройка

Для настройки чипа потребуется установить сопряжение по USART-bluetooth, где 34 контакт будет подсоединён к общему проводу. После этого вы можете подавать стандартные АТ команды или перепрошить микрочип, по вашему желанию.

Из «коробки» же пароль для подключения интерфейса – 1234, а вот скорость обмена данными ограничивается до 38400 бод. Готовых библиотек на HC 05 не много, но и направление его применения достаточно узкое, что позволяет адаптировать любой уже имеющийся софт под ваши потребности.

Опубликовал: Константин Александров / 06.03.2018

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

При проектировании измерительной системы или удаленного от ПК блока зачастую требуется обеспечить обмен данными. Можно использовать обычный USB провод и передавать через него, но это не удобно в двух случаях: 1. Устройство с Ардуино должно быть мобильным; 2. Нужно обеспечить гальваническую развязку с компьютером. В этих случаях на помощь приходит технология беспроводной передачи Bluetooth. В данной статье будет описано как это сделать очень просто!

К слову, как передать данные от Ардуино к компьютеру по USB можно посмотреть в статье о передаче в текстовом виде и передаче в бинарном формате здесь, на сайте LabData.ru. А беспроводной подход к передаче данных будет использован в проекте EasyEEG. Это обеспечит необходимую гальваническую развязку с различными устройствами и удобство использования нейрогарнитуры.

Комплектующие для подключения по Bluetooth

  1. Bluetooth модуль HC-06 (можно другие, работающие по последовательному протоколу UART. Например HC-05, HM-10,…)
модуль HC-06

Плата Ардуино, можно взять любую, имеющую выход Rx, Tx. Например, на базовых моделях Arduino UNO, NANO они находятся на выходах 0, 1.

Ардуино с подключенным Bluetooth
  1. Bluetooth адаптер или встроенный в ПК модуль bluetooth.
USB Bluetooth адаптер для ПК

Остальные части схемы подключаются по мере необходимости ввода данных в Ардуино или управления каким-то модулем извне.

Подключение модуля HC-06

Для соединения модуля HC-06 или подобного с Ардуино достаточно подключить его к питанию 5 V и GND, а выводы RXD и TXD соединить крест накрест с соответствующими выводами Ардуино. То есть RXD -> Tx, а TXD -> Rx.

Выводы модуля HC-06

Важный момент! Базовые версии Ардуино имеют один UART и он используется для связи по USB (для программирования), поэтому при включенном Bluetooth модуле общаться по USB не удастся! Для программирования Ардуино предусмотрите возможность отключения питания Bluetooth модуля, например отключения линии 5 V. После загрузки прошивки и отключения от USB, питание модуля можно включить, а к Ардуино подключить питание от батареи.

Схема соединения Bluetooth модуля с Ардуино

Процесс подключения к компьютеру по Bluetooth

Процесс подключения состоит из двух основных этапов:

  1. Спаривание с ПК
  2. Подключение к устройству по последовательному соединению Спаривание с ПК по Bluetooth

Процесс спаривания устройств

Спаривание проводится один раз, потом параметры соединения сохраняются. Для начала спаривания системы по Bluetooth, подайте питание на плату Ардуино и включите Bluetooth адаптер в ПК.

На ПК под управлением ОС Windows в панели задач около часов появится значок Bluetooth.

Нажмите на него правой клавишей и в открывшемся меню выберите “Добвление устройства Bluetooth

В зависимости от версии ОС Windows откроется окно с параметрами ПК, для версий выше Win8 откроются параметры ПК, там нужно выбрать пункт “Компьютеры и устройства” -> “Bluetooth“. На экране будет происходить поиск устройств Bluetooth и скорее всего включенное устройство HC-06 будет уже найдено.

Щелкните на него и нажмите на кнопку “Связать”

При запросе пароля введите “1234” или “0000” – это пароли по умолчанию Bluetooth модулей. Если же пароль был изменен, то введите актуальный пароль.

После этого спаривание будет завершено и при следующем соединении устройства подключатся автоматически.

Подключение к ПК по последовательному соединению

Удобство соединения Ардуино по Bluetooth состоит в том, что оно происходит по тому же протоколу, что и через USB! Не придется переписывать программу приема данных для этого!
Достаточно узнать номер COM порта и задать его в принимающей программе и все.

Кстати, скорость соединения по умолчанию у Bluetooth модуля установлена 9600 бод, поэтому для обеспечения совместимости с передачей по проводному и беспроводному соединению, лучше выбирать именно такую скорость. Если же этого не достаточно, то придется перепрограммировать Bluetooth модуль при помощи AT команд.

Ну а для поиска номера порта можно воспользоваться Диспетчером устройств Windows. Он доступен в панели управления Windows.
Откройте ветку “Порты (COM и LPT)” и там найдутся две записи “Стандартный последовательный порт по соединению Bluetooth(COM..)

Вот тут есть некое отличие от проводного соединения! Создаётся сразу два порта на одно устройство. Один из них для приема, а другой для передачи. Поэтому запомните оба номера и один из них позволит принимать данные через Bluetooth. Отправлять данные в Ардуино нужно по второму.
Вот и все, что качается организации связи. Сам процесс передачи ничем не отличается от проводного соединения и подробно описан в статьях:

  1. Передача на ПК в текстовом формате
  2. Передача на ПК в бинарном формате

Если возникнут вопросы или дополнения, пишите в комментариях или в группе ВК.

(с) Роман Исаков, 2021

Соедините iPhone с Arduino через Bluetooth

Улучшение этого ответа и охват всех деталей, вероятно, нуждается в какой-то статье или подобном. Я постараюсь держать вещи короткими и сосредоточиться на стороне iOS, так как Arduino в основном не имеет ограничений на Bluetooth периферийных устройств, которые широко доступны через Arduino BLE щитов, таких как RedBearLab BLE Shild

Bluetooth v2.0 + EDR, v2.1 + EDR, v3.0 + HS....

Спецификация стека Bluetooth до v4.0 не содержит низкоэнергетической части. Хотя это простой в использовании протокол, особенно если он упрощен вокруг SPP (профиль последовательного порта), он не доступен на устройствах Apple iOS без программы MFi. На рынке есть несколько модулей Bluetooth, таких как Pan1321 от Panasonic, который включает в себя сопроцессор аутентификации Apple и который может быть использован с iOS. Печальная часть истории заключается в том, что если вы посмотрите на эту официальную страницу iOS: поддерживаемые Bluetooth профили SPP там нет, так что вы можете выбрать между перечисленными профилями (что вы, вероятно, сделаете, если вы делаете аудио или HID устройство).

Bluetooth Низкая Энергия (BLE)

Миграция из спецификации Bluetooth v3.0 в спецификацию v4.0 BLE. Новая часть спецификации имеет очень мало общего с предыдущей. В принципе, вы можете смотреть на него как на Bluetooth v3.0 + BLE = v4.0 или Bluetooth Smart. BLE часть спецификации v4.0-это то, что нас интересует.

CoreBluetooth

Помимо всех преимуществ BLE, таких как низкое энергопотребление, малый размер, низкая стоимость, самым важным было принятие на вооружение мобильных производителей, включая Apple (нет необходимости в MFi). BLE полностью поддерживается CoreBluetooth ,а реализация на стороне iOS проста. Одна вещь, которую вы должны иметь в виду, это то, что BLE-это низкая энергия, но также и низкая скорость. Хотя стандарт определяет минимальный интервал соединения 7.5ms, документация Apple говорит, что рекомендация составляет 30 мс : - D то, что я испытал, используя кучу различных чипов и устройств iOS, заключается в том, что вы будете способны передавать 20 байт каждый 20-30ms. Если требуется подтверждение, то сделайте его двойным, например 40-60ms.

Пользовательские Профили

Список стандартных профилей BLE доступен по группе специальных интересов Bluetooth (SIG). Взгляните на ГАТТ на основе. К сожалению, если вы не сделаете монитор сердечного ритма или устройство из списка, вы, вероятно, будете использовать службу батареи или что-то подобное из списка профилей. К счастью, нетрудно создать пользовательский профиль, который будет "placeholder" для конкретных данных приложения, которые вы должны передать. Понимание ролей, GATT (услуг и характеристик), UUIDs и других является обязательным, но кривая обучения или стек BLE, на мой взгляд, не сложны.

После того, как профиль BLE, работающий на встроенном устройстве, известен, соединение и связь через BLE очень просты с помощью библиотеки CoreBluetooth.

iBeacon

Apple сделала небольшой взлом, используя стандарт BLE как "carrier" для iBeacon. Они используют данные конкретного производителя в рекламном пакете BLE для "claim", что какое-то устройство является iBeacon. Что, я бы сказал, Совершенно верно. Что вы должны иметь в виду, так это то, что BLE-это не iBeacon, но все iBeacons-это BLE (устройство с жестко закодированными данными производителя, выставляющими RSSI, UUID, мажор и минор в режиме широковещания BLE). Кроме того, iBeacon обрабатывается CoreLocation, а не CoreBluetooth . Это делает ясным, что было намерением Apple с iBeacon.

Вывод

Если вы хотите интегрировать устройство iOS с Arduino или каким-либо другим встроенным устройством BLE, это определенно то, что вы хотите рассмотреть. Есть дополнительные причины, по которым вы хотите узнать больше о BLE, если вы посмотрите на IoT hype и доступные варианты RF. BLE здесь, чтобы остаться с v4.1 и предстоящими спецификациями v4.2, которые улучшат пропускную способность, обеспечат поддержку IPv6,улучшат безопасность и т. д.

В конце концов, не так уж и коротко, но я надеюсь, что это поможет.

Общение с Arduino по Bluetooth при помощи модуля HC-05

Ранее в заметке Мой первый радиоуправляемый робот на Arduino мы управляли гусеничным роботом при помощи пары устройств NRF24L01. Если помните, для этого приходилось использовать дополнительную Arduino с Joystick Shield. Притом вся эта конструкция получалась довольно громоздкой и неудобной, особенно если учитывать, что джойстику нужно от чего-то питаться, а также тот факт, что NRF24L01 для работы нужен дополнительный переходник со стабилизатором напряжения. Поэтому сегодня мы рассмотрим альтернативный подход, заключающийся в использовании Bluetooth-модуля HC-05.

Примечание: Существует похожий модуль HC-06. В отличие от HC-05, который может быть как ведущим (мастером), так и ведомым устройством, HC-06 может быть только ведомым. В остальном HC-05 и HC-06 практически не отличаются. Также существуют модули HC-07, HC-08 и HC-09. Прочитать про различия между ними можно здесь.

HC-05 имеет шесть пинов, но из них нам понадобится только четыре: VCC, GND, RX и TX. Кроме того, мы временно припаяем дополнительный провод к пину 34 непосредственно используемого в HC-05 Bluetooth-модуля EGBT-045MS, чтобы сменить имя, под которым будет видно устройство. Если вас устраивает имя по умолчанию, «HC-05», то можете ничего и не припаивать. Итак, VCC и GND пины подключаем к пинам 5V и GND Ардуины, TX пин HC-05 — к пину 2, а RX пин — к пину 3, и, наконец, пин 34 EGBT-045MS — к пину 4 Ардуины.

Получившаяся конструкция:

Ответ на вопрос где искать этот 34-ый пин у EGBT-045MS, содержится в EGBT-045MS / EGBT-046S Bluetooth Module Manual [PDF]:

Пример кода прошивки:

#include <Arduino.h>
#include <SoftwareSerial.h>

/* Connect HC-05 TX to Arduino RX and HC-05 RX to Arduino TX */
SoftwareSerial Bluetooth(2, 3); /* RX, TX */

const int pin34 = 4;
bool newline_printed = false;

void setup()
{  
  Serial.begin(9600);
  Serial.println("Arduino is ready");
 
  Bluetooth.begin(9600);  
  Serial.println("Bluetooth is ready");

  pinMode(pin34, OUTPUT);
  digitalWrite(pin34, HIGH);
  Bluetooth.println("AT+NAME=ARDUINO-BLUETOOTH");
  digitalWrite(pin34, LOW);
}

void loop()
{
  if(Bluetooth. available())
  {  
    char c = Bluetooth.read();
    if(c == '#')
    {
      if(!newline_printed)
      {
        Serial.println("");
        newline_printed = true;
      }
    }
    else
    {
      Serial.print(c);
      newline_printed = false;
    }
  }
 
  if(Serial.available())
  {
    char c = Serial.read();
    Serial.write(c);
    Bluetooth.write(c);  
  }
}

Взаимодействие с модулем происходит по UART. Так как мы не хотим потерять возможность обмена данными с компьютером, используется класс SoftwareSerial. Он работает точно так же, как уже знакомый нам Serial, но, в отличие от него, может использовать произвольные пины Arduino.

Подавая высокое напряжение на 34-ый пин EGBT-045MS, мы переводим его в режим выполнения AT-команд. Полный список доступных команд можно найти в уже упомянутом EGBT-045MS / EGBT-046S Bluetooth Module Manual [PDF]. В приведенном примере просто меняется имя модуля. Сменив его один раз, лишний провод можно смело отпаивать, так как модуль запомнить свое новое имя в энергонезависимой памяти.

Можно найти великое множество готовых Android-приложений, подходящих для передачи команд модулю HC-05. Мне, к примеру, очень понравилось приложение Arduino BT Joystick. У него есть как платная, так и бесплатная версия с рекламой. Интерфейс приложения выглядит как-то так:

Жмем Connect, находим в списке наше устройство, вводим пин 1234, и можно отправлять команды при помощи кнопок, а также встроенного в телефон акселерометра. Другими словами, приложение позволяет, помимо прочего, управлять Arduino, просто вращая телефон в руках.

Важно! Насколько я смог выяснить, устройства от Apple вообще не работают с HC-05 / HC-06. Для решения этой проблемы предлагается использовать BLE модули, например HM-10 или HM-11. Судя по видео на YouTube, HC-08 тоже подойдет. Опыта использования данных модулей на момент написания этих строк у меня, к сожалению, нет. В России их довольно сложно достать, видел только в одном интернет-магазине. А так нужно ждать доставки из Китая.

Разные приложения посылают данные в разных форматах. В случае Arduino BT Joystick используется формат вроде:

… где ## — это разделитель, b= указывает на то, что далее содержится код кнопки, 0, 1 и так далее — это коды кнопок. Учтите, что если пользователь ничего не нажимает, то приложение непрерывно шлет ##b=0##b=0##.... Если в приложении вы разрешили использование акселерометра, то помимо значений b также будут передаваться значения x, y и z.

Преимущество использования Bluetooth заключается в том, что не нужно делать отдельный джойстик. Подойдет любой смартфон или планшет под управлением Android. Кроме того, EGBT-045MS производит впечатление модуля, который легко выпаять из HC-05 и затем использовать в самодельный платах.

Полную версию исходников к этой заметке вы найдете на GitHub. Вопросы и дополнения, как всегда, горячо приветствуются!

Метки: AVR, Беспроводная связь, Электроника.

Nothing found for 2017 08 %25D0%25Ba%25D0%25B0%25D0%25Ba %25D0%25Bf%25D0%25Be%25D0%25B4%25D0%25Ba%25D0%25Bb%25D1%258E%25D1%2587%25D0%25B8%25D1%2582%25D1%258C Hc 06 Fc 114 %25D0%25Ba Arduino Uno R3

It looks like nothing was found at this location. Maybe try a search or one of the links below?

Архивы Выберите месяц Март 2021 Ноябрь 2020 Август 2020 Май 2020 Апрель 2020 Март 2020 Февраль 2020 Январь 2020 Ноябрь 2019 Октябрь 2019 Август 2019 Июль 2019 Июнь 2019 Май 2019 Апрель 2019 Март 2019 Февраль 2019 Январь 2019 Декабрь 2018 Ноябрь 2018 Октябрь 2018 Сентябрь 2018 Август 2018 Июль 2018 Июнь 2018 Май 2018 Апрель 2018 Март 2018 Февраль 2018 Январь 2018 Декабрь 2017 Ноябрь 2017 Октябрь 2017 Сентябрь 2017 Август 2017 Июль 2017 Июнь 2017 Май 2017 Апрель 2017 Март 2017 Февраль 2017 Январь 2017 Декабрь 2016 Ноябрь 2016 Октябрь 2016 Сентябрь 2016 Август 2016 Июль 2016 Июнь 2016 Май 2016 Апрель 2016 Март 2016 Февраль 2016 Январь 2016 Декабрь 2015 Ноябрь 2015 Октябрь 2015 Сентябрь 2015 Август 2015 Июль 2015 Июнь 2015 Май 2015 Апрель 2015 Март 2015 Февраль 2015 Январь 2015 Декабрь 2014 Ноябрь 2014 Октябрь 2014 Сентябрь 2014 Август 2014 Июль 2014 Май 2014 Апрель 2014 Март 2014 Январь 2014 Декабрь 2013 Ноябрь 2013 Октябрь 2013 Сентябрь 2013 Август 2013 Июль 2013 Июнь 2013 Май 2013 Апрель 2013 Март 2013 Февраль 2013 Январь 2013 Декабрь 2012 Ноябрь 2012 Октябрь 2012 Сентябрь 2012 Август 2012 Июль 2012 Июнь 2012 Май 2012 Апрель 2012 Март 2012 Февраль 2012

РубрикиВыберите рубрикуActive DirectoryActive DirectoryAndroidArduinoAvamarCent OSCiscoCitrixD-LinkDebian BusterDebian StretchElastixESXiExchangeFreeBSDFreeNASFTPgalaxy-tabGigasetGrandstreamGroup Policy ManagementGroup Policy ManagementHPHP dv63080eriLoKyoceraLenovo E555LinuxMacOSMajordomoMikrotikNASPrint ServerPrinterPrivatePromoRaspberryRed Hat Enterprise LinuxSCv3020SkudtonkTrassirUbuntu Bionic BeaverUbuntu LucidUbuntu MaverickUbuntu NattyUbuntu PreciseUbuntu QuantalUbuntu TrustyUbuntu XenialUbuntu ZestyUPSVcenterVeeamVideoViewVirtualboxVirtualboxVmwareVOIPWindows Server 2003Windows Server 2008Windows Server 2008 R2Windows Server 2008 WebWindows Server 2012 R2Windows Server 2016Windows Workstation 10 x86 x64Windows Workstation XP x86 x64Workstation Windows7 x86 x64ZyxelДокументацияЗаметки NovellЗаметки OpenSUSEКамерыМайнингМануалыМИС ИнфоклиникаОборудованиеСкрипты для АдминистрированияУникальное

Настройка Bluetooth модуля HC-06 - DIY Head Tracking

У модуля HC-06 намного меньше возможностей, чем у модуля HC-05, но их вполне достаточно для работы в трекере. Настройка модуля HC-06 совершенно не похожа на настройку модуля HC-05.

В отличие от HC-05, модуль HC-06 не требует специальной процедуры входа в режим ввода AT команд. Модуль HC-06 всегда готов к приёму AT команд, когда он не подключен по каналу Bluetooth. Обмен ведётся не на скорости 38400 бод, а на скорости, заданной ранее. Если модуль новый, из упаковки, то это скорость 9600 бод. При передаче AT команд, после команды не должны отсылаться символы возврата каретки и новой строки. Это значит, нужно в нижней строке Монитора порта выбрать «нет конца строки».

Модуль HC-06 работает только в режиме Slave, это нам подходит.

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

Набор команд модуля HC-06 сильно ограничен. Никакие настройки нельзя считать из модуля, кроме версии (команда AT+VERSION), поэтому введём три необходимые нам команды, зададим:

  • имя модуля «HC-06 AHRS»,
  • скорость обмена 115200 (57600),
  • PIN-код доступа «1234».

После подключения переходника USB-UART(TTL) к компьютеру, на модуле HC-06 часто заморгает светодиод. Это рабочий режим без подключения по Bluetooth. В этом режиме HC-06 может принимать AT команды. Если модуль новый, то скорость обмена 9600 бод, если нет, придётся угадывать скорость.

Запустим Arduino IDE. В меню [Инструменты] выберем COM порт, назначенный для переходника USB-UART(TTL), в моём случае это COM5, и откроем [Монитор порта].

В нижней строке Монитора порта нужно выбрать [нет конца строки] и скорость [9600 бод]:


AT команды нужно вводить в верхней строке заглавными английскими буквами. И не забываем нажать кнопку [Отправить]:


Вводим:  Ответ:

AT [Отправить] OK - значит, попали успешно в режим AT команд

Если ответ "OK" есть, это значит, что скорость определена верно, и можно настраивать модуль. Если нет ответа “OK”, нужно перебрать другие скорости обмена из списка в нижней строке.

Проверить можем только версию прошивки модуля, но это нам ничего не даёт:

AT+VERSION [Отправить]  OKlinvorV1.8

Настраиваем имя модуля "HC-06 AHRS":

AT+NAMEHC-06 AHRS [Отправить] OKsetname

Настраиваем код доступа "1234":

AT+PIN1234 [Отправить] OKsetPIN

Теперь настраиваем скорость обмена 115200 бод:

AT+BAUD8 [Отправить] OK115200

или 57600 бод (для прошивки "по воздуху"):

AT+BAUD7 [Отправить] OK57600


Проверим связь:

AT [Отправить]

А ответа-то и нет! Модуль уже работает на новой скорости.

В нижней строке выберем новую скорость [115200 бод] (или [57600 бод] для прошивки "по воздуху") и ещё раз проверим связь:

AT [Отправить] OK

Модуль HC-06 настроен для работы в трекере. Пока закроем монитор порта и Arduino IDE. Теперь нужно проверить работу модуля HC-06.

Настройка Bluetooth модуля

Arduino Bluetooth Basic Tutorial - Arduino Project Hub

Посмотрите, как это работает?

Посмотрите видеоурок

Перед сборкой проверьте мой блог, чтобы найти больше похожих руководств made

Arduino Pins Bluetooth Pins

RX (Pin 0) ———-> TX

TX (Pin 1) ———-> RX

5V ———-> VCC

GND ———-> GND

Подключите отрицательный светодиод к GND Arduino, а положительный - к контакту 13 с сопротивлением 220 Ом - 1 кОм.И вы закончили со схемой

Примечание: Не подключайте RX к RX и TX к TX Bluetooth к Arduino, не получит данных , Здесь TX означает передачу, а RX означает получение

Как Это работает?

HC 05/06 работает по последовательной связи. Здесь приложение для Android предназначено для отправки последовательных данных в модуль Bluetooth при нажатии определенной кнопки. Модуль Bluetooth на другом конце получает данные и отправляет их в Arduino через вывод TX модуля Bluetooth (вывод RX Arduino).Код, передаваемый в Arduino, проверяет полученные данные и сравнивает их. Если полученные данные равны 1, светодиод гаснет, когда полученные данные равны 0

Откройте последовательный монитор и посмотрите полученные данные

Приложение для Android

В этом руководстве я не будет охватывать руководства по разработке приложений для Android. Вы можете скачать приложение для Android отсюда и исходный код всего проекта. В будущем я, возможно, буду размещать здесь обучающие материалы http://mgprojecthub.com

Как использовать приложение?

Посмотрите видео, как выполнить сопряжение с модулем Bluetooth

  • Загрузите форму заявки здесь или здесь
  • Сопряжение вашего устройства с модулем Bluetooth HC 05/061) Включите модуль Bluetooth HC 05/062) Выполните поиск доступного устройства3) Подключите к HC 05/06, введя пароль по умолчанию 1234 ИЛИ 0000
  • Установите приложение LED на устройство Android
  • Откройте приложение
  • Нажмите сопряженные устройства
  • Выберите модуль Bluetooth из списка (HC 05)
  • После подключения успешно
  • Нажмите кнопку ON, чтобы включить светодиод, и кнопку OFF, чтобы выключить светодиод
  • Кнопка отключения для отключения от модуля Bluetooth

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

ОБНОВЛЕНИЕ: Оцените моего робота Bluetooth RC, использующего Arduino.

Ознакомьтесь с моими новыми проектами в моем блоге

Если у вас есть сомнения, оставьте здесь комментарий. Это мой блог. Я буду регулярно проверять отзывы там, а не здесь.

Также см. Мои аналогичные руководства и проекты

Поддержите меня, купив мне кофе

Контроллер Arduino Bluetooth Простое пошаговое руководство

Вот и все ... Все, что нам нужно, это семь строк кода! Обратите внимание, что я даже не использую внешние библиотеки.

Вся магия скрыта в оборудовании. С точки зрения кода отправка чего-либо по беспроводной сети в точности аналогична отправке данных по проводам.

Единственное отличие состоит в том, что в первом варианте мы подключаем модуль Bluetooth к соответствующим контактам в Arduino, а во втором - нет.

Синтаксис кода Arduino

Это хороший повод кратко объяснить синтаксис кода Arduino.

Как видите, здесь есть два основных метода. First setup (): в этом методе мы инициализируем последовательную передачу со скоростью 9600 бод.Скорость передачи - это максимальное количество символов, которое мы можем отправить за одну секунду. Чем выше скорость передачи, тем более чувствительна передача к шуму. Мы установили его на этот конкретный номер, потому что наш модуль Bluetooth HC-06 настроен на этот номер по умолчанию.

Единственное, что важно с самого начала, это то, что мы должны установить одинаковую скорость передачи на Arduino и на стороне модуля Bluetooth.

Второй метод loop () представляет собой бесконечный цикл программы. Итак, здесь мы используем последовательную передачу для отправки текста SoftwareHut и добавляем задержку в одну секунду.Вот и все! Ничего больше. Лично для меня это похоже на волшебство. Вы можете добиться такой замечательной вещи, как беспроводная передача, практически без усилий.

Получение данных

Получение данных тоже несложно. Здесь у нас просто более продвинутый Hello World. В микроконтроллерах Hello World - это просто мигающий светодиод. Здесь мы изменим состояние светодиода в соответствии с полученными данными Bluetooth.

Давайте вернемся к методу setup (), мы установили вывод 13 как выход, потому что мы хотели бы, чтобы этот светодиод не получал от него информацию.Его встроенный светодиод Arduino. Конечно, здесь мы также инициализируем последовательную передачу.

В методе цикла мы проверяем, получили ли мы какие-либо данные через последовательный порт. Мы можем присвоить это переменной, если результат «да». Если мы получаем 1, мы меняем состояние светодиода на высокий, чтобы он загорелся. Если мы получим 2, мы изменим состояние светодиода на LOW, чтобы он погас.

Создание Android-приложения Bluetooth для управления платой Arduino | Автор: Блог Droiduino | The Startup

Это руководство посвящено созданию собственного Android-приложения для подключения к плате Arduino с помощью Bluetooth. Следовательно, для следования этому руководству требуются некоторые базовые знания программирования под Android.

Но не волнуйтесь, если у вас нет базовых знаний по программированию Android, но вы все же хотите создать собственное приложение Bluetooth, вы можете пройти курс «Основы программирования Android для производителей Arduino», который доступен в Udemy. Вы узнаете, как создать приложение Bluetooth, которое может общаться с вашей платой Arduino с нуля и без каких-либо предварительных знаний в области программирования для Android.

Коды, представленные в этом руководстве, представляют собой минимальные коды, которые позволяют телефону Android и плате Arduino отправлять и получать сообщения (которые могут быть преобразованы в команды) друг с другом через Bluetooth.

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

  1. Samsung Galaxy S8 с версией Android 9.
  2. Android Studio версии 3.6. 3 с совместимой версией Gradle.
  3. Минимальная версия SDK: 19 (необходимо выбрать это при создании нового проекта с помощью Android Studio).
  4. Mac OS 10.15.4 (машины с Windows также отлично работают)

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

Простое приложение Bluetooth

Чтобы проверить функциональность подключения Bluetooth, вы можете нажать кнопку в этом приложении, чтобы управлять встроенным светодиодом на плате Arduino. Как только предопределенное командное сообщение получено от Android, Arduino передаст ответное сообщение Android в качестве сообщения о состоянии.

Прежде чем мы углубимся в кодирование, я хотел бы описать пошаговый процесс создания Bluetooth-соединения на Android. Это краткое изложение более подробной документации от Google.

  1. Инициализируйте адаптер (устройство) Bluetooth по умолчанию на телефоне Android.
  2. Получите MAC-адрес от удаленного устройства, к которому вы подключаетесь. В этом случае MAC-адрес модуля Bluetooth HC05, подключенного к плате Arduino.
  3. Создайте отдельный поток в своем коде, чтобы инициировать соединение с использованием ранее полученного MAC-адреса. Этот поток будет управлять тем, что произойдет, если соединение установлено или не удалось установить.Он также обрабатывает, если мы хотим закрыть соединение Bluetooth.
  4. После успешного установления соединения поток выполнит обратный вызов для кодов, которые управляют обменом данными (передача и прием между двумя устройствами). Для этого нам нужно создать еще один поток.
  5. Этот поток будет читать входящие данные и анализировать их при необходимости (или вы можете анализировать их где-нибудь в коде) и передавать сообщение или команду, сгенерированную приложением Android.

Теперь приведенный выше поток необходимо преобразовать в коды.

Создайте новый проект с пустым шаблоном действия и выберите подходящее имя для своего приложения. Для этого приложения мы создадим 2 действия и 2 класса Java:

  1. MainActivity. Он создается автоматически при создании нового проекта. Здесь происходит большинство взаимодействий.
  2. SelectDeviceActivity. Пользовательский интерфейс, в котором вы выбираете устройство Bluetooth, которое хотите подключить.
  3. DeviceListAdapter. Класс для отображения списка сопряженных устройств Bluetooth, к которым вы можете подключиться.Список будет отображаться в SelectDeviceActivity.
  4. DeviceInfoModel. Класс, который действует как заполнитель для информации об удаленном устройстве.

После того, как вы создали все действия и классы, указанные выше, ваш файл AndroidManifest.xml будет выглядеть примерно так:

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

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

Макет основного экрана

XML-код для макета выше выглядит следующим образом:

Это действие отобразит список удаленных устройств Bluetooth, которые уже сопряжены с вашим телефоном. Он отображается при нажатии кнопки «Подключить» в MainActivity. XML-код макета для этого действия выглядит следующим образом:

Теперь мы продолжим код. Код в MainActivity - это код, создающий Bluetooth-соединение с удаленным устройством. Вы можете просто скопировать и вставить приведенный ниже код в свой проект.К коду были добавлены некоторые комментарии, чтобы вы могли его лучше понять.

Я вношу небольшие изменения стиля в цветовые ресурсы.

Это действие работает с классами DeviceListAdapter и DeviceInfoModel для отображения списка сопряженных устройств.

SelectDeviceActivity. java

DeviceListAdapter.java

DeviceInfoModel.java

Весь проект Android также доступен на Github.

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

Примечание. Из-за периодического обновления приложения версия Github может немного отличаться от кода в этом сообщении. Но основная функция остается прежней.

Нам нужно внести небольшие изменения в код Arduino из этого руководства. Вы можете создать новый скетч Arduino и скопировать и вставить приведенный ниже код.

Не забудьте скомпилировать и загрузить код на плату Arduino. Вы также можете перейти на Github, чтобы получить этот код.

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

  1. Подключите модуль HC05 к плате Arduino, как описано в предыдущем посте, затем подключите его к источнику питания. Светодиод на модуле HC05 должен быстро мигать.
  2. Активируйте Bluetooth на своем телефоне и выполните сопряжение HC05 с телефоном. Имя устройства, которое вы ищете, - «HC-05». Для подключения к HC05 ваше приложение пока не требуется.
  3. Теперь откройте приложение и нажмите кнопку «Подключиться». Список сопряженных устройств будет показан на экране. Если вы измените имя устройства при сопряжении с HC05, вы фактически измените только псевдоним. В вашем приложении отображается только имя устройства, поэтому выберите «HC-05».
  4. После подключения HC05 на панели инструментов отобразится статус и загорится светодиодная кнопка.Вы знаете, когда HC05 подключен, когда светодиод на HC05 медленно мигает.

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

Теперь вы поняли один из способов подключения телефона Android к плате Arduino.Теперь вам доступны новые захватывающие возможности. Например, вы можете:

  1. Улучшить приложение, чтобы оно показывало предупреждение, когда функция Bluetooth на вашем телефоне еще не активирована.
  2. Добавьте больше кодов на Arduino, чтобы теперь ваше приложение могло управлять 2 светодиодами.
  3. Подключите простой датчик на Arduino, например. датчик приближения и считайте значения на своем телефоне.
  4. И многое другое. Если вы можете это представить, вы можете это создать.

Если вы считаете, что это руководство слишком сложно для выполнения или если у вас нет предварительных знаний в области программирования Android, вы всегда можете пройти курс «Основы программирования Android для разработчиков Arduino» в Udemy, который поможет вам создать собственный Bluetooth. приложение с нуля.

Как управлять Arduino с помощью Bluetooth? Учебник с модулями и щитами

Интересно, как можно связать плату Arduino и управлять ею с помощью Bluetooth? Если да, то вы попали в нужное место! В сегодняшнем руководстве Arduino Bluetooth я расскажу, как легко начать работу!

Наряду с руководством по Arduino Bluetooth я предоставлю:

  • Список модулей Arduino Bluetooth для вашего рассмотрения
  • Проекты Arduino Bluetooth для начала работы

Пошаговое руководство Arduino Bluetooth

Давайте сразу начнем с учебника Arduino Bluetooth Tutorial, в котором я расскажу все, что вам нужно знать о сопряжении Arduino с Bluetooth. От конфигурации оборудования до программирования и использования с вашим iPhone или устройствами Andriod!

1. Что вам понадобится для этого руководства Arduino Bluetooth:
  • Вы можете использовать Arduino nano или Arduino Uno для этого руководства по Bluetooth.

Подробнее об используемом модуле Bluetooth:

Grove - Blueseeed - Двойная модель (HM13)

Гибкая и оснащенная высокой скоростью передачи данных Bluetooth, Grove - Blueseeed LE - Dual Model (HM13) использует двухрежимный чип Bluetooth CSR с одним чипом архитектуры ARM, который поддерживает инструкции AT.

  • Это позволяет таким пользователям, как вы, контролировать скорость последовательной передачи данных, имя оборудования и пароль для сопряжения!

Вам может быть интересно; почему бы вместо этого не использовать модуль Bluetooth HC-06 или HC-05 Arduino? Что ж, с Grove - Blueseeed - Dual Model (HM13) вы получаете следующие ключевые преимущества:

  • Bluetooth 4. 0 BLE вместо Bluetooth V2.0
  • Низкое энергопотребление

Чтобы больше не останавливаться на руководстве, вы можете узнать больше об этом модуле Bluetooth здесь!

2.Конфигурации оборудования:
  • Шаг 1: Подключите Grove - Blueseeed - Dual model (HM13) к порту Grove на Grove - Base Shield через кабель Grove
  • Шаг 2: Подключите Grove - Base Shield к вашей плате Arduino
  • Шаг 3: Подключите Arduino к ПК через USB-кабель

3. Понимание программного обеспечения:

Условные обозначения

  • В режиме EDR можно настроить только ведомое устройство, в то время как ведущее или ведомое устройство может находиться в режиме BLE.
  • Заводская настройка по умолчанию:
    • EDR Имя HMSoft, роль ведомого, PinCode 1234
    • Имя BLE HMSoft, роль ведомого, PinCode 000000
    • Скорость передачи: 115200, N, 8, 1;
  • Формат AT-команды:
    • Прописные буквы Формат AT-команды. строковый формат без каких-либо других символов. (например, \ r или \ n).
    • Любая неверная команда не получит ответа.

Чтобы увидеть полный список AT-команд, перейдите на нашу вики-страницу!

4.Как программировать на модуле Bluetooth Arduino

После понимания конфигурации программного обеспечения, вот как настроить Bluetooth с помощью ПК. Информацию о подключении оборудования см. В разделе «Конфигурации оборудования». Вы обнаружите, что мигающий синий светодиод на модуле показывает, что соединение не установлено.

  • Шаг 1: Откройте последовательный терминал и установите скорость передачи: 115200, биты данных: 8, стоповые биты: 1 и отсутствие управления потоком, как указано выше.
  • Шаг 2: Отправьте «AT» на Bluetooth с последовательного терминала на проверьте, получаете ли вы «ОК».
    • Bluetooth отвечает только на AT-команды в следующих случаях:
      • Соединение не установлено
      • Все команды рассматривались как строка и отправлялись

* Вы можете различить приведенное выше состояние на шаге 2 с помощью светодиодной индикации.

После вышеуказанных шагов он должен выглядеть примерно так:

Вот несколько полезных конфигураций, которые можно отправить:

  1. Проверьте последовательное соединение, отправьте «AT», вернет «OK».
  2. Восстановить заводские настройки, отправить «AT + RENEW», вернуть «OK + RENEW».
  3. Сбросьте скорость последовательного порта, отправьте «AT + BAUD2», верните «OK + Set: 2».
  4. Включить аутентификацию, отправить «AT + AUTh2», вернуть «OK + Set: 1».
  5. Сбросьте настройки Bluetooth, отправьте «AT + RESET», верните «OK + RESET».
  6. Запросить версию прошивки, отправить «AT + VERS?», Вернуть «OK + Get: HMSoftV217».
  7. Запросить MAC EDR, отправить «AT + ADDE?», Вернуть «OK + Get: 000E0E002074».
  8. Запросить MAC BLE, отправить «AT + ADDB?», Вернуть «OK + Get: 000E0B002074».
  9. Задайте имя EDR, отправьте «AT + NAMEHM-13-EDR», верните «OK + Set: HM-13-EDR».
  10. Задайте имя BLE, отправьте «AT + NAMEHM-13-BLE», верните «OK + Set: HM-13-BLE».
  11. Установите пароль EDR, отправьте «AT + PINE123451», верните «OK + Set: 123451».
  12. Установите пароль BLE, отправьте «AT + PINB123451», верните «OK + Set: 123451».
  13. Включите обнаружение и возможность подключения, отправьте «AT + SCAN0», верните «OK + Set: 0».
  14. Включить уведомление о соединении, отправить «AT + NOTI1», вернуть «OK + Set: 1».
  15. Уведомляющая информация включает адрес, отправляет «AT + NOTP1», возвращает «OK + Set: 1».
  16. Включить ключ пользователя, отправить «AT + PIO01», вернуть «OK + Set: 1».
  17. Установите центральный режим, отправьте «AT + ROLB1», верните «AT + ROLB1».
  18. Установите периферийный режим, отправьте «AT + ROLB0», верните «AT + ROLB0».

Мы использовали два Bluetooth, подключенных к ПК, один из которых был центральным, а другой - периферийным.Через несколько секунд они находят друг друга и светодиод перестает мигать подключенным!

5. Как связать модуль Bluetooth Arduino с iPhone и Andriod

Поскольку модель Grove - Blueseeed - Dual (HM13) имеет два протокола: Bluetooth EDR (повышенная скорость передачи данных) и Bluetooth с низким энергопотреблением (BLE), он может взаимодействовать как с Andriod, так и с iPhone!

В этой части руководства мы будем использовать iPhone, чтобы продемонстрировать, как вы можете взаимодействовать с Bluetooth!

* Примечание. Приведенное ниже руководство работает в более старой версии iOS, но должно работать с тем же

.
  • Шаг 1: Включите Bluetooth и настройте его как периферийную роль
  • Шаг 2: Найдите LightBlue в App Store и установите его
  • Шаг 3: Запустите приложение и подключиться к «HM-13-BLE»
  • Шаг 4: Коснитесь свойств и нажмите «прослушать уведомления», чтобы включить прием данных.
    • В правом верхнем углу под свойствами есть шестнадцатеричная клавиша для изменения формата данных.
  • Шаг 5: Нажмите «Записать новое значение» и напишите несколько слов, чтобы начать отправку данных на ПК.

С помощью последовательного терминала вы также можете передавать данные с ПК на iPhone:

6.Руководство по передаче данных Bluetooth между двумя платами Arduino

Теперь, после всех вышеперечисленных шагов, вы готовы писать код? В этом заключительном разделе мы воспользуемся двумя Arduino Uno и парой модулей Bluetooth, чтобы начать работу!

  • Шаг 1: Установите соединение, указанное в разделе конфигурации оборудования.
  • Шаг 2: Назначьте роль Bluetooth для центрального устройства, изменив текст на «#define MASTER 1».
    • Программа центрального и периферийного использования тот же код, но есть различие в микроопределении в начале программы
  • Шаг 3: Следуйте приведенной ниже блок-схеме для инициализации программы

После инициализации центральное и периферийное устройства будут делать разные вещи; Central отправит сообщение в Peripheral interval и распечатает то, что получено от Peripheral, в то время как Peripheral отвечает только на центральный

  • Шаг 4: Загрузите тестовый код и откройте HM-13_SW.ino с Arduino IDE, скомпилируйте и загрузите в Arduino Uno
    • Не забудьте настроить Bluetooth на другую роль, изменив макрос в начале
  • Шаг 5: После загрузки программы откройте два окна последовательного терминала и дождитесь соединение Bluetooth
    • Соединение обозначается: светодиоды на модулях Bluetooth будут мигать в течение нескольких секунд, перестанут мигать и будут гореть

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

Список других рекомендованных модулей Bluetooth Arduino

Теперь, когда я изучил вышеупомянутое руководство по Arduino Bluetooth, вот список других рекомендуемых модулей Arduino Bluetooth, которые можно попробовать! Все они совместимы с Grove!

Grove совместим? Система

Grove является собственной инициативой Seeed, в основном направленной на то, чтобы помочь таким же пользователям, как вы, легко использовать различные модули, датчики и многое другое с помощью нашей системы plug and play!

  • В настоящее время у нас уже имеется более 200 модулей Grove, включая другие модули / типы датчиков на ваш выбор!

Не представляете, насколько легко создать пары с Grove? Ниже показан общий модуль Bluetooth Arduino по сравнению с одним из наших модулей Grove - Bluetooth:

  • Типичная схема сопряжения Arduino Bluetooth
  • С модулем Grove Bluetooth

Нравится, насколько это просто и менее беспорядочно?

Все, что вам нужно, это Grove Base Shield вместе с Arduino, и вперед!

Хорошо, теперь давайте начнем с нашего списка модулей и щитов Arduino Bluetooth!

1. Опция Bluetooth V4.0: Grove - Blueseeed (HM11)

Самая полная, самая удобная, самая стабильная передача данных Bluetooth, дистанционное управление, модуль сбора данных PIO

Ведущее устройство и ведомое устройство в одном
Пульт дистанционного управления без других микроконтроллеров
Сбор данных PIO без других микроконтроллеров

The Grove - Blueseeed LE (HM11) - это модуль Bluetooth с низким энергопотреблением, в котором используется HM11 с возможностями, описанными выше в его техническом описании.Его можно использовать с вашей платой Arduino вместе с базовым щитом, как в предыдущем руководстве!

Благодаря поддержке BLE ComAssistant APK этот модуль Bluetooth может легко связываться с вашим телефоном без сопряжения!

  • Его также можно настроить напрямую через AT-команды!

Применимый во многих условиях, таких как управление роботом или оборудование для дистанционного управления, этот модуль Arduino Bluetooth подходит как для новичков, так и для заядлых мастеров!

Хотите узнать больше?

  • Мы предоставили простой и удобный набор команд вместе с руководством по сопряжению Arduino на странице нашего продукта!

2) Grove - серийный Blueseeed (CSR BC417)

Ищете вариант, который будет конкурировать с модулем Bluetooth HC-06? Grove - Serial Blueseeed (CSR BC417) не только соответствует Bluetooth V2. 0 и метод скачкообразного расширения спектра, но он поддерживает более высокую скорость передачи и простоту сопряжения!

Планируя использовать модуль Bluetooth HC-06, вы должны пройти утомительный путь преобразования напряжений, имея дело с делителями напряжения и электрическими цепями, которые не видны на Grove - Serial Blueseeed!

  • Благодаря нашей системе Grove, все, что вам нужно для сопряжения Grove - Serial Blueseeed с Arduino, - это кабели Grove с функцией plug-and-play!

Помимо простоты сопряжения, он имеет выбираемую скорость передачи и функцию автоматического переподключения в течение 30 минут при отключении!

Хотите узнать больше?

  • Мы предоставили простой и удобный набор команд вместе с руководством по сопряжению Arduino на странице нашего продукта!

3) Опция Arduino Bluetooth Shield: Blueseeed Shield V2 (HM01)

Ищете вместо этого вариант Arduino Bluetooth Shield? Вот первый рекомендуемый вариант!

Основанный на модуле Bluetooth HM01, это недорогой и простой в использовании вариант с Bluetooth 2.0 и интегрированные порты Grove, чтобы вы могли установить изобилие наших модулей Grove!

Вот его особенности и технические характеристики:

  • Совместимость с Seeeduino / Arduino
  • Расстояние связи в доме до 10 м без препятствий
  • Полный набор команд конфигурации
  • Интерфейс UART (TTL) с программируемой скоростью передачи данных
  • Антенна на плате на печатной плате
  • Входное напряжение: 3,3 В
  • Скорость передачи: 9600, 19200, 38400, 57600, 115200, 230400, 460800
  • Скорость передачи по умолчанию: 9600, биты данных: 8, стоповый бит: 1, четность: без проверки четности
  • PINCODE по умолчанию: ”1234”

Хотите узнать больше?

  • Мы разместили руководство по объединению Arduino и Andriod на странице нашего продукта!

4) HM11 Shield Option: Seeed Blueseeed Shield (HM11)

Понравилось то, что вы видели ранее о модуле Bluetooth HM11 Arduino с первой рекомендацией? Это версия щита; больше функций и еще более простое подключение!

Так как в нем есть именно то, что вы получите от модуля HM11; Bluetooth V4.0, диапазон 2,4 ГГц и т. Д., Я просто расскажу о его особенностях!

Для этого посмотрим на аппаратное обеспечение:

  • Модуль HM-11
  • Сигнальная лампа: Лампа будет мигать, если BLE не подключен, но лампа продолжит гореть после подключения BLE
  • Разъемы Grove: Два разъема Grove для удобного подключения Grove продуктов на плату
  • Hard или Softserial порт: Вы можете выбрать два из семи цифровых контактов в качестве канала связи, просто вставьте перемычки в разъемы
  • Зарезервированные распиновки от HM-11: Есть зарезервированные распиновки от Модуль HM-11, такой как CTS1, RTS1, PIO2 и т. Д.
  • Кнопка сброса: Для сброса экрана, не влияет на материнскую плату, даже если она подключена.

Примечание. Этот экран лучше всего совместим только со следующими платами:

  • Arduino Uno / Seeeduino v4.2
  • Arduino Leonardo / Seeeduino Lite

Хотите узнать больше?

  • Мы разместили руководство по сопряжению Arduino на странице нашего продукта!

Проекты Arduino Bluetooth

В завершение сегодняшнего руководства по модулям Arduino Bluetooth, вот два простых проекта Arduino Bluetooth, которые вы можете начать!

Управляйте своей роботизированной машиной через Bluetooth

Робототехника и Arduino - забавное и интересное хобби, которое очень часто встречается в наши дни.В этом проекте вы можете испытать это с помощью Bluetooth!

Вот что вам нужно:

Компоненты оборудования:

Программные приложения и другие услуги:

Хотите узнать больше? Ознакомьтесь с полным руководством Кевина-Ли на сайте Seeed Community Hub!

Веселая, маленькая, страшная кукла ужасов

Хотите подшутить над кем-нибудь и получить его веселую реакцию? Этот проект для вас!

Он использует контроллер для маленьких кукольных глаз, излучающих свет ужаса.Он может раскачивать и поворачивать руки, голову и испускать крик ужаса. Установите датчик PIR наверху, и когда кто-то приблизится к нему, он выскочит, чтобы напугать их!

Вот что вам нужно:

Компоненты оборудования:

В этом проекте используется Wio Link, однако вы все еще можете использовать плату Arduino с Grove - Base Shield

Хотите узнать больше? Ознакомьтесь с полным руководством shijian.fang на сайте Seeed Community Hub!

Сводка

На сегодня на Arduino Bluetooth все.Я надеюсь, что в сегодняшнем блоге вы получите более глубокое понимание того, как подключить Arduino к Bluetooth!

Чтобы помочь вам легко приступить к следующему проекту Arduino Bluetooth, обязательно рассмотрите список модулей и экранов Arduino Bluetooth, которые мы рассмотрели сегодня!

Следите за нами и ставьте лайки:

Теги: arduino ble, arduino blueooth andriod, arduino bluetooth, arduino bluetooth controller, arduino bluetooth iphone, модуль bluetooth arduino, проект bluetooth arduino, Arduino Bluetooth Shield, руководство по bluetooth arduino, arduino nano bluetooth, arduino uno bluetooth, hc05, hc06

Продолжить чтение

Запуск Bluetooth с Arduino | Аргенокс

Если вы хотите приступить к созданию проектов Bluetooth, то использование Bluetooth с Arduino - отличный способ.Гораздо проще использовать Arduino для подключения датчиков и запуска проекта. Код примера Arduino отлично подходит для этого.

Что касается Bluetooth, то вы обнаружите, что существует множество модулей, плат и экранов Bluetooth для Arduino. Мы рассмотрим некоторые из них, чтобы вы поняли, в чем заключаются компромиссы, и выберите наиболее подходящий для вас.

Последовательные модули

Одними из первых модулей, использовавшихся для соединения Arduino с Bluetooth, были последовательные модули Bluetooth. Эти модули подключаются к Arduino через UART или RS232 и используют стандартный набор команд.Все, что вам нужно, это подключить питание (3,3 В или 5 В), землю и линии UART. Будьте осторожны, потому что некоторые модули не поддерживают 5 В, и вам потребуется 3,3 В. У Arduino обычно есть выходы 5 В, которые необходимо преобразовать в 3,3 В (если модуль не устойчив к 5 В).

После подключения модуля к Arduino относительно просто связаться с модулем Bluetooth, отправив командные строки. Как только соединение установлено, вы также можете отправлять данные. При подключении к компьютеру вы обычно получаете COM-порт, на который будут поступать данные.Таким образом, вы можете открыть COM-порт и получить данные UART, отправленные модулем Bluetooth.

Эти модули Bluetooth обычно используют классический Bluetooth v2.0 + EDR или v2.1 + EDR. Вы можете найти их на eBay, Amazon и других местах по цене от 5 до 7 долларов.

Недостатком является то, что большинство этих модулей не имеют поддержки Bluetooth Smart, поэтому обычно вы не сможете связаться с iPhone, который требует аутентификации. Они также жаждут власти.

Вы можете найти универсальные модули на eBay и других онлайн-площадках.

Шилды Bluetooth для Arduino

С момента выпуска спецификации Bluetooth v4.0 появилось несколько экранов Bluetooth с низким энергопотреблением, которые легко купить в разных местах. Хотя стандартные экраны SPP Bluetooth доступны, экраны BLE стали популярными, поскольку они позволяют быстро подключаться к iPhone и телефону Android.

Эти экраны основаны на некоторых из самых популярных наборов микросхем BLE. Модули nRF8001, nRF51822, CC2540 и CC2541 популярны в этих конструкциях, потому что Texas Instruments и Nordic Semiconductor обеспечивают легкий доступ к информации о конструкции.

RedBearLabs делает популярный щит, используя nRF8001. NRF8001 - это периферийное устройство с некоторыми другими ограничениями (оно не может работать с маячками из-за ограничения на размер передаваемых пакетов).

В некоторых щитах используются такие модули, как модуль Bluetooth BlueGiga или другие модули, что создает почти полностью сертифицированное решение FCC.

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

Щит Bluetooth Цена
Red Bear Lab BLE Shield Bluetooth с низким энергопотреблением $ 24.90
Adafruit Bluefruit EZ-Link Shield Последовательный порт SPP $ 24.95

Платы Arduino Bluetooth

Если у вас нет Arduino или вы готовы к использованию коммутатора, есть несколько плат Arduino с уже интегрированными модулями Bluetooth, которые упрощают установку датчиков.

Большим преимуществом модуля на основной плате является то, что имеется больше места для добавления различных сенсорных плат к разъемам. У вас будет меньше проблем со штабелированием экранов, и они не так сильно повлияют на модуль Bluetooth.

Arduino BT - это плата Arduino с уже установленным модулем BT при поддержке команды Arduino. Этот модуль представляет собой классический модуль Bluetooth. Вам нужно будет связать его с вашим компьютером, а затем вы сможете отправлять ему команды через UART, как если бы ваш компьютер был подключен напрямую к плате Arduino.

Выбор правильного Bluetooth для Arduino

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

Размер платы

Типичный размер Arduino составляет 2,7 дюйма в длину и 2,1 дюйма в ширину, и экраны, которые устанавливаются сверху, примерно такого же размера. Это нормально во многих случаях, но если вам нужно устройство меньшего размера, есть несколько плат, совместимых с Arduino, которые намного меньше и ориентированы на BLE.

Red Bear Lab BLE Mini - один из примеров, но есть несколько других, которые подойдут.

Вам нужно внимательно посмотреть, насколько эти платы совместимы с Arduino. Разница в размерах делает их немного разными, но многие используют среду и код Arduino.

Скорость передачи данных

Если вы хотите заменить кабель UART на беспроводное решение, лучше всего подойдет Bluetooth с EDR (классический). BLE не был разработан для обеспечения высокой пропускной способности, и хотя он может достигать 115200 бит / с, у вас могут возникнуть проблемы с его надежной работой.

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

Выходная мощность

Платы

Classic Bluetooth иногда имеют более высокую выходную мощность, чем платы BLE, что может дать им больший радиус действия. Большинство модулей BLE обеспечивают максимальную выходную мощность от 0 дБм до 4 дБ, в то время как модули на основе Bluetooth иногда обеспечивают 10 дБм.

При 10 дБм вы можете получить 100 м и более, что действительно удобно для проектов, когда вы получаете данные от датчиков вне дома.

Совместимость и взаимодействие

Большинство портативных компьютеров и многие другие компьютеры поддерживают Bluetooth. Обычно вы можете легко подключить модуль Bluetooth к компьютеру и получить виртуальный COM-порт, который будет отображать данные, отправляемые в модуль через UART.
Bluetooth Low Energy v4.0 сложнее. Его поддержка началась с Windows 8. Старые компьютеры могут вообще не поддерживать его, в зависимости от микросхемы вашего компьютера.

Apple уже довольно давно поддерживает BLE на своих компьютерах Mac, и Mac OS X может легко подключаться как к устройствам Classic Bluetooth, так и к устройствам BLE.

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

Bluetooth Low Energy намного проще. Вы можете взять любую плату BLE, и она сможет подключаться к iPhone, iPad или телефону Android.Это дает ему большое преимущество.

Аккумулятор и питание

Если вы собираетесь питать Arduino напрямую от USB или разъема постоянного тока, то проблемы с питанием не проблема. Но если вы, возможно, используете аккумулятор, важно понимать, что некоторые из имеющихся модулей Bluetooth действительно потребляют много энергии, если они не являются LE. BLE был разработан для работы на батарейках типа Coin Cell, в отличие от самой Arduino.

Вам нужно будет проверить документацию на свой модуль или плату, но Bluetooth обычно может работать в широком диапазоне напряжений от 2.От 0 В до 3,3 В, с некоторыми поддерживающими 5 В (со встроенным регулятором). Если напряжение батареи слишком низкое, вам нужно будет подключить несколько батареек последовательно. Если он слишком высокий, может помочь LDO или преобразователь постоянного тока в постоянный.

Пиковые токи BLE намного ниже, чем у обычного Bluetooth. Это важно для батарей с ограниченным пиковым током, таких как батарейки типа «таблетка». Литий-ионные / полимерные батареи и щелочные батареи не будут иметь проблем с работой, пока напряжение будет правильным.

Аудио

Bluetooth был разработан для аудио приложений.Вы знакомы с гарнитурами, но создать свои собственные может быть практически невозможно. Некоторые модули, такие как RN-52 Module от Sparkfun, имеют соединения I2S, необходимые для передачи речи и музыки. Версия Bluetooth с низким энергопотреблением не предназначена для аудио, поэтому вам понадобится классический модуль.

Заключение

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

Сообщает, когда модуль Bluetooth подключается к Arduino

Использование прилагаемого модуля и ничего другого вы не можете: обратите внимание, что модуль имеет четыре разъема:

  • Мощность (Vcc)
  • Земля
  • Tx (отправить)
  • Rx (прием)

Учитывая этот интерфейс, единственный способ определить, подключен ли модуль Bluetooth, - это отправить что-то на сопряженное устройство и заставить его ответить таким образом, чтобы ваш Arduino знал, что он подключен.Например, если ваша программа Android всегда отвечает «Привет!» при получении строки «Привет?» , затем набрав "Привет?" , ваш Arduino будет знать, что он сопряжен с вашим телефоном / планшетом Android. Ваш Arduino может опрашивать (отправлять строку запроса) каждую минуту (или каждые пять секунд), чтобы узнать, сопряжен ли он с вашим устройством.


Есть способ получше, но он потребует с вашей стороны некоторой пайки. Если ваш модуль основан на HC-03 / HC-05, то вывод PIO9 является «парным светодиодным индикатором» (см. Техническое описание здесь).Вы можете подключить этот вывод к входному выводу Arduino и прочитать уровень: чтение цифрового 1 будет указывать на то, что устройство спарено, а чтение цифрового 0 укажет, что это не так. Возможно, хотя и не уверенно, что вывод на вашем модуле, помеченный как СОСТОЯНИЕ , является именно таким выводом, то есть он указывает на состояние сопряжения. К несчастью. этот вывод не подключен к разъему, поэтому вам придется припаять провод к соответствующей контактной площадке, чтобы подключить его к вашему Arduino.Вы должны сначала проверить это, подключив мультиметр в режиме напряжения к этой контактной площадке и измерить потенциал между этой контактной площадкой и землей в парном и непарном состоянии. Если это булавка, которая отвечает парному состоянию, то вы золотой. Возможно, он указывает на питание (например, HC-03/05 PIO8 , когда мигает при включении). Если выясняется, что вывод STATE не является статусом сопряжения, вам следует запросить техническое описание у своего поставщика и использовать его, чтобы найти соединение со светодиодным индикатором состояния: он, вероятно, существует.Как только вы найдете правильную площадку, проверьте ее работу еще раз с помощью вольтметра. Затем припаяйте провод к этому соединению и прочтите его со своего Arduino.

ВАЖНО : Убедитесь, что ваш Arduino никогда не выводит цифровой 1 на вывод Arduino, подключенный к выводу состояния модуля bluetooth: эти модули bluetooth работают от 3,3 В, и подключение любых незащищенных контактов к 5 В приведет к повреждению . Напряжение на выводах Vcc и Txd в купленном вами модуле сдвинуто, а вот в линиях LED / Status, скорее всего, нет.Таким образом, если вывод Arduino, подключенный к «статусу» на вашем модуле Bluetooth, настроен как выход, и вы подключили к нему digitalWrite (HIGH) , вы, скорее всего, повредите модуль Bluetooth.

Модуль

Me Bluetooth (двойной режим) - платформа для сборки роботов Arduino с открытым исходным кодом | Учебный ресурс Makeblock

Обзор

В основном используется в области беспроводной передачи на короткие расстояния, модуль Me Bluetooth (двойной режим) можно удобно подключить к устройству Bluetooth в беспроводных терминалах, таких как ПК и смартфоны, и избежать сложного кабельного подключения и ограничения пространства для замены линия передачи данных USB напрямую.В качестве двухрежимного модуля Bluetooth он также поддерживает протоколы Bluetooth 2.1, 3.0 и 4.0, большинство устройств Android и все устройства Apple, а также данные последовательного вывода. Его сине-серый идентификатор означает, что он имеет двойной цифровой сигнал и аппаратный последовательный порт, и его необходимо подключить к порту № 5 на Makeblock Orion.

Технические характеристики

● Рабочее напряжение: 3,3 В
● Входное напряжение: 5 В постоянного тока
● Рабочая частота: 2,4 ГГц
● Скорость передачи: 115200
● Расстояние передачи / приема: 10 ~ 15 м (открытое поле)
● Режим сигнала: последовательный сигнал
● Размер модуля: 51 x 24 x 18 мм (Д x Ш x В)

Функциональные характеристики

● Белая область модуля - это контрольная область для контакта с металлическими балками.
● Опора BT2.1 + EDR / 3.0 / BT4.0 (BLE) двойной режим, и два режима могут работать одновременно
● Светодиод показывает состояние Bluetooth: если синий светодиод мигает, это означает, что соединение Bluetooth отсутствует; если он горит, это означает, что Bluetooth подключен и порт включен.
● Внешний вход сброса, действительный для низкого уровня, имеется внутренний подтягивающий резистор
● Поддержка мобильных устройств (Android / IOS) для управления электронным модулем
● Для сопряжения во время соединения может потребоваться пароль (пароль 0000 или 1234).
● Поддержка управления программированием с помощью графического интерфейса пользователя mBlock через Bluetooth
● Защита от обратного хода - обратное подключение источника питания не повредит IC
● Используйте порт RJ25 для простого подключения
● Обеспечьте контакты RX, TX, VCC, GND для поддержки большинства базовых плат Arduino.
● Отсоедините модуль от порта 5 при записи (записи) программы в Arduino через USB, поддерживается только соединение парных соединений «один-к-одному»

Определение штифта

Порт Me Bluetooth Module (Dual Mode) имеет четыре контакта, их функции следующие:

Режим подключения

● Подключение с помощью RJ25
Поскольку порт Me Bluetooth Module (Dual Mode) имеет синий / серый идентификатор, вам необходимо подключить порт с синим или серым идентификатором на Makeblock Orion при использовании порта RJ25
.Взяв в качестве примера Makeblock Orion, вы можете подключиться к порту 5 следующим образом:

● Подключение с помощью провода Dupont
Когда провод Dupont используется для подключения модуля к основной плате Arduino UNO, его выводы RX и TX должны быть подключены к цифровым портам 0 и 1 соответственно следующим образом:

Руководство по программированию

● Программирование Arduino
Если вы используете Arduino для написания программы, необходимо вызвать библиотеку Makeblock-Library-master для управления модулем Me Bluetooth (двойной режим).Эта программа служит для обеспечения связи мобильного устройства с Arduino IDE посредством программирования Arduino. Всякий раз, когда данные получены с мобильного телефона, они будут отображаться на последовательном порту. Перед установкой связи убедитесь, что ваше устройство подключено к модулю Me Bluetooth (двойной режим), и отправьте ему письма, чтобы увидеть результат работы.

Принцип анализа

Bluetooth - это разновидность радиотехнологии, поддерживающая связь на короткие расстояния. Технология Bluetooth может использоваться для эффективного упрощения связи между мобильными терминалами и ускорения и повышения эффективности передачи данных, что расширяет возможности мобильной связи.Благодаря распределенной сетевой структуре, быстрой скачкообразной перестройке частоты (SFH) и технологии коротких пакетов Bluetooth работает в глобальном диапазоне частот ISM (т. Е. Промышленном, научном и медицинском) 2,4 ГГц со скоростью передачи данных 1 Мбит / с.

Схема

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *