(098) 067-12-26 Київстар (098) 067-12-26   Київстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
Графік роботи магазину:
Пн-Пт: 9.00 - 18.00
Сб: вихідний
Нд: вихідний
м. Київ, вул. Васильківська, 30
ст.м. "Васильківська"
Каталог

Arduino и Bluetooth

В настоящее время в зарубежных и отечественных магазинах можно найти большое количество различных Bluetooth Serial модулей для DIY-устройств. Цена на них не сильно высока: около 5$ за модуль. Их легко можно найти, например: Bluetooth Serial HC-05,

Датчик вологості грунту з Wi-Fi для розумного будинку чи автоматизованої теплиці

Зараз все більших обертів набирає так зване сіті-фермерство, та й у звичайному домогосподарстві не рідко виникає питання контролю вологості ґрунту у вазонах чи на грядках. Сьогодні я хочу розказати як з недорогих та доступних компонентів з сайту

Доработка мультиметра BSIDE ADMS9LN

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

Программное управление диапазоном выходного тока понижающего преобразователя

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

Desktop-NRF

Приемопередатчик NRF24L01+ очень популярен и используется в разного вида радиоуправляемых устройствах. Его популярность обусловлена низкой ценой, наличием готовых библиотек для работы с модулем, встроенной гарантией целостности и доставки данных,
Напиши статтю і отримай знижку! Наши партнеры https://hacklab.kiev.ua/

Arduino и Bluetooth

2022-04-15

Всі статті →

В настоящее время в зарубежных и отечественных магазинах можно найти большое количество различных Bluetooth Serial модулей для DIY-устройств. Цена на них не сильно высока: ±5$ за модуль. Их легко можно найти, например: Bluetooth Serial HC-05, HC-06.

В большинстве модулей используется чип BC417, плюс Flash-память. Чип поддерживает спецификацию Bluetooth v2.0 + EDR, AT-команды, может работать в режиме Master или Slave (модули HC-03/HC-5, может устанавливаться AT-командой), поддерживает скорость обмена от 2400 до 1382400. Напряжение питание модуля составляет 3.3В, ток потребления ~50мА. Модули HC-03/HC-05 более функциональные, чем HC-04/HC-06.

Основные выводы модулей HC-04/HC-06:

  • UART_TX (pin 1), UART_RX (pin 2), UART_CTS (pin 3), UART_RTS (pin 4) - пины UART.
  • 3,3V (pin 12) - питание 3.3В.
  • GND (pin 13) - общий.
  • PIO1 (pin 24) - индикатор рабочего режима. Если соединение не установлено - то светодиод мигает, если установлено, то постоянно горит.

Для модулей HC-03/HC-05 есть некоторые отличия. Линии UART и питания те же самые, но:

  • PIO8 (pin 31) - индикатор рабочего режима.
  • PIO9 (pin 32) - статус соединения, если соединение установлено, то на выходе будет высокий уровень.
  • PIO11 (pin 34) - вход включения режима AT-команд (необходимо подать лог. 1).

За более подробной документацией обращайтесь к PDF.

Итак, соберем простую схему для подключения Bluetooth модуля HC-06 к плате Arduino Nano V3.

Обратите внимание, что выводы TX и RX в плате Arduino Nano поменяны местами в отличии от Ardunio UNO и др. Поэтому внимательно смотрите распиновку своей Arduino платы.

Шаг между выводами в модуле составляет всего 1.5мм, поэтому придется взяться за паяльник и припаять провода к модулю. Всего необходимо припаять 5 проводов, однако светодиод подключать необязательно, он служит для индикации состояния.

Итак припаиваем провода и подключаем Bluetooth модуль следующим образом:

  • вывод Arduino 3.3В - к 12 пину модуля
  • вывод Arduino GND - к 13 пину модуля
  • вывод Arduino TX - к 2 пину модуля RX
  • вывод Arduino RX - к 1 пину модуля TX

Передача данных из Arduino по Bluetooth

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


Как видите скетч довольно простой и хорошо прокомментирован. В цикле, раз в секунду происходит увеличение переменной cnt, которая затем с текстовой надписью выводится в последовательный порт на Bluetooth модуль. Обратите внимание, что скорость порта установлена в значение 9600. При покупке модуля, спрашивайте на какое значение установлена скорость обмена по последовательному интерфейсу. Но в большинстве случаев это 9600. При необходимости, скорость обмена можно изменить АТ-командами.

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

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

На компьютере, в качестве Bluetooth модуля использовался самый дешевый китайский Bluetooth USB адаптер, стоимостью около 3$. После того, как адаптер подключается к компьютеру, установите необходимые драйвера (в Windows 7 x64 у меня все драйвера установились автоматом).

Затем щелкаем в трее по иконке Bluetooth модуля и выбираем "Добавить устройство":

Имя моего модуля BOLUTEK, у вас оно скорее всего будет другим. Нажимаем "Далее" и переходим к окну, где необходимо ввести пароль для устройства:

Выбираем второй пункт: "Введите код образования пары устройства". С завода, код установлен 1234. Его и вводим. Программа настроит и пропишет в системе виртуальные COM-порты (у меня прописало 2 шт, но может быть и один):

В дальнейшем, можно посмотреть на какой COM-порт назначилось и его параметры. Для этого щелкаем правой кнопкой мыши по устройству и выбираем "Свойства" и вкладку "Оборудование". Там можно посмотреть и изменить параметры виртуального COM-порта:

Теперь, для приема и передачи данных на виртуальный COM порт можно использовать любую терминал программу. Я использовал бесплатную Tera Term. При каждом запуске программы предлагается выбор соединения, переключаем флажок на Serial и выбираем COM порт вашего Bluetooth модуля. У меня это COM4.

В терминале мы видим данные счетчика с платы Arduino:

Как видим, данные успешно передаются по Bluetooth соединению.

Двунаправленный обмен данными по Bluetooth

Следующим шагом будет написание простенькой программы двунаправленного обмена данными между Arduino и компьютером. В схему я добавил светодиод, подключив его к 12 пину Arduino, через токо-ограничительный резистор. Но можно использовать и встроенный LED (обычно 13 пин).


Программа работает очень просто. После запуска или сброса устройства, в последовательный порт выводится сообщение с предложением нажать 1 или 0. В зависимости от нажатой цифры светодиод будет загораться или гаснуть. А также, от Arduino будет выводиться сообщение загорелся светодиод, или погас.

Подключаем к Android

Для платформы Android также существуют программы-терминалы. Но необходима специальная программа для работы в терминальном режиме по Bluetooth. Я установил вот эту: Bluetooth Terminal. Достаточно простая программа, ничего лишнего. В моем Android устройстве нет Bluetooth модуля, но он прекрасно работает и с внешним USB-адаптером, который мы использовали для подсоединения к ПК. Подключаем адаптер по USB, включаем на андроиде bluetooth, находим и вводим пароль для нашего Bluetooth устройства на Arduino и наконец запускаем программу терминал. Нажимаем "Connect a device - Secure" и выбираем наше устройство BOLUTEK. Теперь вы можете отправлять и принимать данные с Bluetooth устройства при помощи терминала.

Ссылки:

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Поки немає відгуків на цю статтю.
оплата картами Visa і MasterCard