- Полное руководство по Bluetooth-модулю Arduino Nano и HC-05
- Введение в модуль Bluetooth HC-05
- Распиновка HC-05
- Взаимодействие HC-05 с Arduino Nano
- Схема
- Код
- Управление светодиодом с помощью смартфона и датчика HC-05
- Заключение
- Arduino и модули Bluetooth HC-05/06
- Небольшой обзор модулей HC-05 и HC-06
- Распиновка модулей
- Подключение HC-05 и HC-06 к Arduino
- Согласование логических уровней
- Скетч для подключения к Arduino
Полное руководство по Bluetooth-модулю Arduino Nano и HC-05
Arduino Nano — это компактная плата микроконтроллера, в которой используется микросхема ATmega328. Он имеет тот же форм-фактор, что и Arduino Uno, и может взаимодействовать со многими датчиками, разработанными для Uno. Одним из популярных аксессуаров, которые можно использовать с Arduino Nano, является Bluetooth-датчик HC-05. Этот датчик позволяет Nano связываться по беспроводной сети с ПК или смартфоном с помощью технологии Bluetooth. В этой статье объясняется взаимодействие датчиков Bluetooth с Arduino Nano и управление светодиодами с помощью Bluetooth.
Введение в модуль Bluetooth HC-05
Датчик Bluetooth HC-05 представляет собой модуль беспроводной связи, который позволяет устройствам взаимодействовать друг с другом с помощью технологии Bluetooth. HC-05 является ведомым модулем, что означает, что он может управляться только другим устройством, таким как смартфон или компьютер, выступающим в роли ведущего.
Датчик Bluetooth HC-05 использует радиочастотные (РЧ) сигналы для беспроводной связи с другими устройствами, оснащенными технологией Bluetooth. Когда HC-05 включен и находится в режиме обнаружения, он посылает сигнал, который может быть обнаружен другими Bluetooth-устройствами поблизости.
HC-05 может работать в различных режимах, включая подчиненный, ведущий и режим обратной связи, и может быть сконфигурирован для работы с различными скоростями передачи данных и протоколами связи. Пароль также может быть добавлен для дополнительной безопасности.
В дополнение к возможностям беспроводной связи, HC-05 также имеет встроенный регулятор напряжения и выходной контакт 3,3 В, который можно использовать для питания других датчиков.
Распиновка HC-05
Датчик Bluetooth HC-05 имеет в общей сложности 6 контактов, а именно:
- ВКК: Это контакт питания, который должен быть подключен к источнику питания 3,3 В/5 В.
- Земля: Это контакт заземления, который должен быть подключен к земле источника питания.
- ПРД: Это контакт приема данных, который получает данные от ведущего устройства.
- ТСД: Это контакт передачи данных, который используется для передачи данных на ведущее устройство.
- СОСТОЯНИЕ: Это контакт состояния, который можно использовать для определения текущего состояния HC-05, например, подключен он или отключен.
- RU: Это контакт включения, который можно использовать для включения или отключения HC-05.
В дополнение к этим 6 контактам, HC-05 также имеет регулятор напряжения и выходной контакт 3,3 В.
Взаимодействие HC-05 с Arduino Nano
Чтобы связать Arduino Nano с датчиком Bluetooth HC-05, вам необходимо выполнить следующие шаги:
- Подключите HC-05 к Arduino Nano: Подключите контакт VCC HC-05 к контакту 3,3 В Arduino Nano, контакт GND HC-05 к контакту GND Arduino. Nano, контакт RXD HC-05 к контакту TXD Arduino Nano и контакт TXD HC-05 к контакту RXD Arduino. Нано.
- Загрузите скетч в Arduino Nano: Используйте Arduino IDE, чтобы написать и загрузить скетч в Arduino Nano. Эскиз должен включать код для инициализации последовательной связи с HC-05, а также для отправки и получения данных по Bluetooth.
- Сопряжение HC-05 с устройством: Используйте устройство, например смартфон или компьютер, для поиска доступных устройств Bluetooth и сопряжения с HC-05. Для сопряжения требуется пароль, обычно 1234.
- Проверьте соединение: После сопряжения HC-05 с устройством вы можете использовать Arduino Nano и HC-05 для беспроводной отправки и получения данных через Bluetooth. Последовательный монитор Arduino показывает передаваемые и принимаемые данные.
С помощью этих шагов вы сможете успешно подключить Arduino Nano к датчику Bluetooth HC-05 и использовать его для беспроводной связи в своих проектах.
Схема
На следующем рисунке показано подключение датчика HC-05 к Arduino Nano. Не забудьте соединить контакт Tx Arduino Nano с Rx HC-05 и Rx Arduino Nano с Tx датчика Bluetooth.
Примечание: При загрузке кода в Arduino Nano не забудьте удалить контакты Tx и Rx. Потому что, если эти контакты используются, это заблокирует последовательную связь между Arduino и ПК, что приведет к ошибке загрузки.
Код
Откройте IDE и загрузите данный код на доску.
символьные данные = 0 ; //Переменная, в которой хранится полученный ввод
недействительная установка ()
Серийный.начать( 9600 ); /*Скорость передачи для последовательной связи*/
контактный режим( 3 , ВЫХОД); /*D3 для светодиода*/
>
пустой цикл ()
если (серийный.доступный() > 0 ) /*проверить доступность серийных данных*/
данные = Serial.read(); /*чтение данных, поступающих с Bluetooth-устройства*/
Serial.print (данные); /*выводим значения на серийный монитор*/
Серийный.печать( » \n » ); /*печатать новую строку*/
если (данные == ‘1’ ) /*проверить значение данных*/
цифровая запись( 3 , ВЫСОКИЙ); /*Turn НА Светодиод, если последовательные данные 1 */
иначе если (данные == ‘0’ ) /*проверить значение данных*/
цифровая запись( 3 , НИЗКИЙ); /*Turn ВЫКЛЮЧЕННЫЙ Светодиод, если последовательные данные 0 */
>
>
Код начинается с определения переменной, в которой будут храниться входные последовательные данные Bluetooth. Следующая скорость последовательной передачи определяется для отображения вывода на последовательном мониторе. Контакт D3 предназначен для светодиодного выхода.
Следующий код будет постоянно проверять последовательные данные, поступающие от датчика Bluetooth, если считанные последовательные данные равны 1, светодиод включится, а если полученные последовательные данные равны 0, светодиод погаснет.
Управление светодиодом с помощью смартфона и датчика HC-05
После загрузки кода на плату Arduino Nano теперь мы будем управлять внешним светодиодом с помощью смартфона. Выполните все шаги, чтобы установить связь со смартфоном.
Шаг 1: Откройте настройки Bluetooth на своем смартфоне и найдите новые устройства. Нажмите на устройство HC-05.
Шаг 2: Соедините датчик HC-05 со смартфоном, используя пароль 1234.
Шаг 3: Теперь откройте магазин приложений на своем смартфоне и установите Bluetooth-контроллер Ардуино .
Шаг 4: Откройте приложение и выполните сопряжение датчика HC-05.
Шаг 5: Нажмите Bluetooth HC-05 и выберите режим переключения.
Шаг 6: Установите значения для кнопки переключения. Значение 1 соответствует ВЫСОКОМУ, а 0 соответствует НИЗКОМУ.
Мы установили приложение Bluetooth на наши смартфоны. Теперь мы будем управлять светодиодами с помощью Bluetooth-сигнала смартфона.
Нажмите кнопку переключения, и она станет зеленой.
Внешние светодиоды, подключенные к D3, включатся.
Теперь снова нажмите кнопку, она станет красной. 0 будет отправлено в Arduino Nano.
Светодиод погаснет, потому что принятые последовательные данные имеют НИЗКИЙ уровень, что соответствует 0.
Мы успешно завершили сопряжение HC-05 Bluetooth с Arduino Nano и управляли светодиодом, используя последовательный сигнал Bluetooth.
Заключение
HC-05 — это датчик Bluetooth, которым можно управлять с помощью кода Arduino. Этот датчик позволяет управлять устройствами по беспроводной связи на небольшом расстоянии. В этой статье мы подключаем Arduino Nano к HC-05 и управляем светодиодом с помощью последовательного сигнала Bluetooth.
Arduino и модули Bluetooth HC-05/06
Bluetooth — один из самых распространённых протоколов беспроводной связи на малом расстоянии для персональных электронных устройств. С его помощью работают различные устройства ввода и управления, аудиоустройства.
На фоне остальных протоколов Bluetooth выделяется прежде всего помехоустойчивостью и простотой. От не менее распространённого Wi-Fi Bluetooth отличается в первую очередь низким энергопотреблением, что делает его доступным для автономных устройств. Благодаря этому BT получил повсеместное распространение.
Чаще всего для самоделок используются BT-модули HC-05 и HC-06. Их легко найти в продаже. HC-05 отличается от HC-06 тем, что ему доступны оба режима работы: ведомый (master) и ведущий (slave). А вот HC-06 работает только ведомым, то есть он не способен находить другие устройства и самостоятельно устанавливать с ними связь (но это можно исправить).
Оба модуля основаны на одинаковом чипе и поддерживают BT версии 2.0. Их максимальная скорость работы – 3 Мегабита в секунду.
Небольшой обзор модулей HC-05 и HC-06
Чаще всего HC-05 и HC-06 представляют собой две спаянные платы. Верхняя – заводская плата с микросхемой BC417. Нижняя – специальная плата для самодельных устройств, содержащая самые нужные ножки GPIO с шагом 2.54 мм, стабилизатор напряжения и кнопку сброса. На фотографии ниже плата с BC417:
А это — модули HC-05 и HC-06 вместе с подложкой:
HC-05 не намного дороже HC-06. Но при этом он может работать в обоих режимах прямо “из коробки”. С HC-06 же придётся повозиться, чтобы заставить его работать ведущим.
Также встречаются немного другие версии модулей. Вместо вывода EN на них выведен KEY.
Распиновка модулей
- EN — управление питанием;
- VCC — питание от 3,6 до 6 В;
- GND — земля;
- RX, TX — интерфейс UART;
- STATE — индикация работы;
- KEY — активация режима управления с помощью AT-команд.
Настройка модулей производится при помощи AT-команд. Но пин KEY есть не на всех модулях. И что с этим делать?
Пин KEY конечно же присутствует на малой плате с большим числом контактов, но не разведён на большой. Причины такого странного решения китайцев неизвестны.
Этот контакт находится здесь:
Подключение HC-05 и HC-06 к Arduino
Подключение к Arduino выполняется следующими контактами:
- GND – GND;
- VCC – +5V;
- TXD – 10;
- RXD – 11;
- KEY при обычной работе модуля не используется. Для перехода в режим AT-команд его надо соединить с +3.3V.
TXD и RXD соединены с пинами 10 и 11, потому, что аппаратный UART будет использоваться для связи с компьютером.
Согласование логических уровней
Bluetooth-модули работают с логическими уровнями 3.3 В, и использование пятивольтовой логики может вывести их из строя. Но чаще всего на плате имеется всё необходимое для согласования уровней.
Бывают ситуации, в которых между Arduino TXD — Bluetooth RXD необходимо согласование напряжения. Использование делителя – гарантия надёжной работы.
Справа приведена схема простейшего делителя:
Скетч для подключения к Arduino
Для настройки модулей можно использовать USB-UART конвертер, если вы воспользуетесь им – следующий пункт можно пропустить. Для начала нам потребуется прошить Arduino.
Скетч просто отправляет данные, полученные с компьютера, на настраиваемый модуль.