Блютуз модуль с алиэкспресс как подключить

Обновлено: 06.07.2024

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

Обзор

В двух предыдущих уроках мы уже узнали, как подключить Bluetooth-модуль HC-05 к Arduino и установить связь между Android-смартфоном и Arduino. В этих руководствах мы использовали модуль Bluetooth HC-05 с конфигурацией по умолчанию в качестве ведомого устройства.

Настройка Bluetooth-модуля HC-05 — AT-команды

Для этого руководства нам нужно настроить оба модуля. Для этого нам нужно переключиться в командный режим AT, и вот как мы это сделаем. Сначала нам нужно подключить модуль Bluetooth к Arduino, как описано в предыдущих уроках. Что нам нужно сделать дополнительно, так это подключить контакт «EN» модуля Bluetooth к 5 вольтам, а также переключить контакты TX и RX на плате Arduino.

Как настроить и соединить два Bluetooth-модуля HC-05 в качестве ведущего и подчиненного AT-команд

Поэтому контакт RX платы Arduino необходимо соединить с контактом RX модуля Bluetooth через делитель напряжения, а контакт TX платы Arduino — с контактом TX модуля Bluetooth. Теперь, удерживая маленькую кнопку над контактом «EN», нам нужно подать питание на модуль, и так мы войдем в командный режим. Если светодиод модуля Bluetooth мигает каждые 2 секунды, это означает, что мы успешно вошли в режим AT-команд.

После этого нам нужно загрузить пустой скетч в Arduino, но не забудьте при загрузке отключить линии RX и TX. Затем нам нужно запустить Serial Monitor и там выбрать «Both NL и CR», а также скорость «38400 бод», которая является скоростью передачи по умолчанию для модуля Bluetooth. Теперь мы готовы отправлять команды, и их формат выглядит следующим образом.

Формат AT-команд

Все команды начинаются с «AT», за которым следует знак «+», затем

и они заканчиваются на «?» знак, который возвращает текущее значение параметра, или знак «=», когда мы хотим ввести новое значение для этого параметра.

Подчиненная конфигурация

Например, если мы введем просто «AT», что является тестовой командой, мы должны получить в ответ сообщение «ОК». Затем, если мы введем «AT+UART?» мы должны вернуть сообщение, которое показывает скорость передачи данных по умолчанию, которая составляет 38400. Затем, если мы введем «AT + ROLE?» мы получим сообщение «+ROLE=0», что означает, что устройство Bluetooth находится в ведомом режиме. Если мы введем «AT+ADDR?» мы вернем адрес модуля Bluetooth, и он должен выглядеть примерно так: 98d3:34:905d3f.

Конфигурация ведомого модуля Bluetooth HC-05 Arduino

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

Основная конфигурация

Хорошо, теперь давайте продолжим и настроим другой модуль Bluetooth в качестве главного устройства. Сначала мы проверим скорость передачи, чтобы убедиться, что она такая же, как 38400, как у ведомого устройства. Затем, набрав «AT + ROLE = 1», мы установим модуль Bluetooth в качестве ведущего устройства. После этого с помощью «AT+CMODE=0» установим режим подключения «фиксированный адрес», а с помощью команды «AT+BIND=» установим адрес ведомого устройства, который мы предварительно записали.

Основная конфигурация модуля Bluetooth HC-05 Arduino

Обратите внимание, что при написании адреса нам нужно использовать запятые вместо двоеточий. Также обратите внимание, что мы могли бы пропустить предыдущий шаг, если бы ввели «1» вместо «0» в команде «AT+CMODE», что заставляет мастер подключаться к любому устройству в диапазоне его передачи, но это менее безопасная конфигурация. Здесь вы можете найти полный список команд и параметров: HC-05 AT Commands List

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

Пример связи между двумя модулями Bluetooth HC-05

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

Схемы связи между двумя модулями Bluetooth HC-05

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

  • Модуль Bluetooth HC-05 ……………. Амазонка/Банггуд/Алиэкспресс
  • Плата Arduino …………………………… Amazon/Banggood/AliExpress
  • Серводвигатель…………………………….…. Амазонка/Банггуд/Алиэкспресс
  • Потенциометр……………..………..……. Амазонка/Банггуд/Алиэкспресс
  • 3 резистора по 220 Ом………………… Amazon/Banggood/AliExpress
  • Макет и соединительные провода ………. Амазонка/Банггуд/Алиэкспресс

Исходные коды Arduino

Описание: Итак, сначала нам нужно определить контакты и некоторые переменные, необходимые для программы. В разделе настройки на мастере мы устанавливаем вывод светодиода в качестве выхода и сразу устанавливаем на него низкий уровень, а также запускаем последовательную связь со скоростью 38400 бод. Аналогично, на подчиненном устройстве мы устанавливаем контакт кнопки в качестве входа, определяем сервопривод, к которому подключен контакт, и запускаем последовательную связь с той же скоростью передачи данных.

В секции цикла в обоих кодах с помощью функции Serial.available() мы проверим, есть ли доступные данные в последовательном порту для чтения, а с помощью функции Serial.read() мы прочитаем и сохраним данные в переменную «состояние». Таким образом, если мастер получает символ «1», который отправляется от ведомого, когда состояние кнопки высокое или кнопка нажата, светодиод будет гореть. В противном случае, если символ равен «0», светодиод будет выключен.

Что касается управления серводвигателем, сначала на ведущем устройстве мы считываем значение потенциометра и сопоставляем его с подходящим диапазоном для сервопривода от 0 до 255. Это значение отправляется подчиненному устройству, которое использует его для вращения серводвигателя. соответственно. Это все, что нам нужно, и вот демонстрация примера.

Мастер-код:

Подчиненный код:

Это все, и если у вас возникнут какие-либо проблемы, не стесняйтесь обращаться за помощью в разделе комментариев ниже.

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

Обзор

Для этого урока я сделал два примера: управление Arduino с помощью смартфона и управление Arduino с помощью ноутбука или ПК. Чтобы не перегружать этот урок, в моем следующем уроке мы узнаем, как настроить Bluetooth-модуль HC-05 и установить Bluetooth-связь между двумя отдельными платами Arduino в качестве ведущего и ведомого устройств.

Модуль Bluetooth HC 05

Прежде чем мы начнем с первого примера управления Arduino с помощью смартфона, давайте подробнее рассмотрим модуль Bluetooth HC-05. По сравнению с модулем HC-06, который может быть установлен только как ведомый, HC-05 также может быть установлен как ведущий, что позволяет осуществлять связь между двумя отдельными платами Arduino. Существует несколько разных версий этого модуля, но я рекомендую ту, которая поставляется на переходной плате, потому что так ее намного проще подключить. Модуль HC-05 представляет собой модуль Bluetooth SPP (протокол последовательного порта), что означает, что он взаимодействует с Arduino через последовательную связь.

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

  • Модуль Bluetooth HC-05 ……………. Амазонка/Банггуд/Алиэкспресс
  • Плата Arduino …………………………… Amazon/Banggood/AliExpress
  • Макет и соединительные провода ……… Amazon/Banggood/AliExpress

Схемы

Вот как нам нужно подключить модуль к плате Arduino.

Схемы Arduino и модуля Bluetooth HC 05 — Учебное пособие по Bluetooth для Arduino

Конкретный модуль, который у меня есть, может питаться от 3,6 до 6 вольт, потому что он поставляется на коммутационной плате, которая содержит регулятор напряжения. Однако уровень логического напряжения на выводах данных составляет 3,3 В. Итак, линию между Arduino TX (Transmit Pin, который имеет выход 5V) и Bluetooth-модулем RX (Receive Pin, который поддерживает только 3,3V) нужно подключить через делитель напряжения, чтобы не сжечь модуль. С другой стороны, линия между выводом TX модуля Bluetooth и выводом RX Arduino может быть подключена напрямую, потому что сигнала 3,3 В от модуля Bluetooth достаточно, чтобы плата Arduino восприняла его как высокую логику.

Исходный код примера связи Arduino Bluetooth

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

Описание: Сначала нам нужно определить контакт, к которому будет подключен наш светодиод, и переменную, в которой мы будем хранить данные, поступающие со смартфона. В разделе настройки нам нужно определить вывод светодиода как выход и сразу же установить для него низкий уровень. Как упоминалось ранее, мы будем использовать последовательную связь, поэтому нам нужно начать последовательную связь со скоростью 38400 бод, которая является скоростью передачи по умолчанию для модуля Bluetooth. В секции цикла с помощью функции Serial.available() мы проверим, есть ли доступные данные в последовательном порту для чтения. Это означает, что когда мы отправим данные в модуль Bluetooth, это утверждение будет истинным, поэтому с помощью функции Serial.read() мы прочитаем эти данные и поместим их в переменную «state». Поэтому, если Arduino получит символ «0», он выключит светодиод и с помощью функции Serial.println() отправит обратно на смартфон через последовательный порт строку «LED: OFF». Кроме того, мы сбросим переменную «state» на 0, чтобы две приведенные выше строки выполнялись только один раз. Обратите внимание, что переменная «состояние» является целым числом, поэтому, когда мы получаем символ «0», исходящий от смартфона, фактическое значение целочисленной переменной «состояние» равно 48, что соответствует символу «0» в соответствии с ASCII. таблица.. Вот почему в операторе «если» мы сравниваем переменную «состояние» с символом «0». С другой стороны, если полученный символ равен «1», светодиод загорится, и строка «LED: ON» будет отправлена ​​обратно.

Теперь код готов к загрузке, но для этого нам нужно отключить линии TX и RX, потому что при загрузке Arduino использует последовательную связь, поэтому контакты RX (цифровой контакт 0) и TX (цифровой контакт 1) заняты. Мы можем избежать этого шага, если будем использовать другие контакты TX и RX платы Arduino, но в этом случае нам придется использовать библиотеку SoftwareSerial.h для последовательной связи.

Подключение смартфона к модулю Bluetooth HC-05 и Arduino

Теперь мы готовы подключить смартфон к модулю Bluetooth и Arduino. Здесь нам нужно активировать Bluetooth, и смартфон найдет модуль Bluetooth HC-05.

Настройки Bluetooth для смартфона

Затем нам нужно соединить устройства, а пароль модуля HC-05 по умолчанию — 1234. После того, как мы соединили устройства, нам нужно приложение для управления Arduino. Для этой цели в Play Store есть множество приложений, которые будут работать с написанным нами кодом Arduino. Тем не менее, я создал свое собственное приложение для этого руководства, используя онлайн-приложение MIT App Inventor. Это отличное и простое в использовании приложение для создания приложения Android, и в моем следующем руководстве вы найдете подробное пошаговое руководство по созданию собственного пользовательского приложения Android для вашего проекта Arduino.

Читайте также: