Блютуз своими руками ардуино

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

ГЛАВНАЯ / Уроки и проекты / Урок 15. Bluetooth модуль HC-06 подключение к Arduino. Управление устройствами с телефона.

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

Один из самых популярных и распространенных методов обмена данными посредством Bluetooth.

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

Нам понадобится:

Схема подключения Bluetooth к Arduino:

Подключать Bluetooth модуль к микроконтроллеру Arduino удобнее всего с помощью проводков ПАПА-МАМА.

Arduino Bluetooth
Pin 1 (TX) RXD
Pin 0 (RX) TXD
GND GND
5V VCC

Будьте внимательны, подключать подключать нужно TX -> RXD ,RX -> TXD.

Теперь необходимо записать пробный код программы:

Во время загрузки скетча необходимо что бы Bluetooth модуль был отключен от микроконтроллера arduino. В противном случае скетч не запишется, потому что связь с Bluetooth модулем происходит по одному и томуже порту RX и TX, что и USB.

int val; int LED = 13; void setup() < Serial.begin(9600); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); >void loop() < if (Serial.available()) < val = Serial.read(); // При символе "1" включаем светодиод if (val == '1') < digitalWrite(LED, HIGH); >// При символе "0" выключаем светодиод if ( val == '0') < digitalWrite(LED, LOW); >> >

После того как скетч записан и 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.
Читайте также:  Мышь блютуз теряет связь

Источник

Arduino и модули Bluetooth HC-05/06

Arduino и модули Bluetooth HC-05/06

Bluetooth — один из самых распространённых протоколов беспроводной связи на малом расстоянии для персональных электронных устройств. С его помощью работают различные устройства ввода и управления, аудиоустройства.

На фоне остальных протоколов Bluetooth выделяется прежде всего помехоустойчивостью и простотой. От не менее распространённого Wi-Fi Bluetooth отличается в первую очередь низким энергопотреблением, что делает его доступным для автономных устройств. Благодаря этому BT получил повсеместное распространение.

Чаще всего для самоделок используются BT-модули HC-05 и HC-06. Их легко найти в продаже. HC-05 отличается от HC-06 тем, что ему доступны оба режима работы: ведомый (master) и ведущий (slave). А вот HC-06 работает только ведомым, то есть он не способен находить другие устройства и самостоятельно устанавливать с ними связь (но это можно исправить).

Arduino и модули Bluetooth HC-05/06

Оба модуля основаны на одинаковом чипе и поддерживают BT версии 2.0. Их максимальная скорость работы – 3 Мегабита в секунду.

Небольшой обзор модулей HC-05 и HC-06

Чаще всего HC-05 и HC-06 представляют собой две спаянные платы. Верхняя – заводская плата с микросхемой BC417. Нижняя – специальная плата для самодельных устройств, содержащая самые нужные ножки GPIO с шагом 2.54 мм, стабилизатор напряжения и кнопку сброса. На фотографии ниже плата с BC417:

Arduino и модули Bluetooth HC-05/06

А это — модули HC-05 и HC-06 вместе с подложкой:

Arduino и модули Bluetooth HC-05/06

HC-05 не намного дороже HC-06. Но при этом он может работать в обоих режимах прямо “из коробки”. С HC-06 же придётся повозиться, чтобы заставить его работать ведущим.

Также встречаются немного другие версии модулей. Вместо вывода EN на них выведен KEY.

Arduino и модули Bluetooth HC-05/06

Распиновка модулей

  • EN — управление питанием;
  • VCC — питание от 3,6 до 6 В;
  • GND — земля;
  • RX, TX — интерфейс UART;
  • STATE — индикация работы;
  • KEY — активация режима управления с помощью AT-команд.

Настройка модулей производится при помощи AT-команд. Но пин KEY есть не на всех модулях. И что с этим делать?

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

Этот контакт находится здесь:

Arduino и модули Bluetooth HC-05/06

Подключение 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 необходимо согласование напряжения. Использование делителя – гарантия надёжной работы.

Читайте также:  Alpine cda 137bti блютуз

Справа приведена схема простейшего делителя:

Arduino и модули Bluetooth HC-05/06

Скетч для подключения к Arduino

Для настройки модулей можно использовать USB-UART конвертер, если вы воспользуетесь им – следующий пункт можно пропустить. Для начала нам потребуется прошить Arduino.

Скетч просто отправляет данные, полученные с компьютера, на настраиваемый модуль.

Источник

Как подключить к Arduino модуль Bluetooth

Print Friendly, PDF & Email

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

  • плата Arduino Nano или аналогичная;
  • модуль Bluetooth HC-06 или любой другой (например, такой);
  • компьютер с установленной средой разработки Arduino IDE;
  • набор соединительных проводов (вот такой);
  • отладочная плата для монтажа без пайки.

Инструкция по подключению bluetooth-модуля к Arduino

1 Описание модуля bluetooth HC-06

Существует большое количество реализаций модулей Bluetooth. Каждая имеет свои особенности, но в общем и целом они все очень похожи. Рассмотрим представителя bluetooth модуля семейства HC-06, который можно приобрести по отличной цене на этом сайте.

Данный модуль работает на частоте от 2,40 ГГц до 2,48 ГГц и поддерживает спецификацию bluetooth версии 2.1+EDR: пониженное потребление энергии, повышенный уровень защиты данных и лёгкое соединение Bluetooth-устройств. Устойчивый приём с модулем гарантирован в пределах 10 метров.

Назначение выводов bluetooth-модуля HC-06

Назначение выводов bluetooth-модуля такое:

Вывод Назначение
VCC и GND «плюс» и «минус» питания модуля, поддерживаются напряжения от 3,6 до 6 вольт;
TX и RX передатчик и приёмник модуля;
MCU-INT (Status, State) вывод статуса;
Clear (Reset) сброс и перезапуск модуля, в данном случае осуществляется низким логическим уровнем.

Последние два вывода могут быть не задействованы; часто можно встретить модули вообще без этих выводов.

2 Схема подключенияbluetooth-модуля к Arduino

Подключим bluetooth модуль к Arduino по приведённой схеме. Обратите внимание, что передатчик (Tx) Ардуино подключается к приёмнику (Rx) модуля, и наоборот.

Схема подключения модуля bluetooth к Arduino

На выводе Status появляется высокий уровень, когда модуль сопряжён с другим bluetooth устройством, и низкий – когда не сопряжён. Можно считывать его значение, подключив к пину Arduino и назначив ему режим работы pinMode(pinStatus, INPUT) и таким образом узнавать состояние модуля. Но не на всех модулях индикатор статуса работает корректно, поэтому мы не будем его использовать в данном примере.

В результате должно получиться примерно как на фотографии.

Bluetooth модуль подключён к Arduino

3 Скетч для Arduinoдля работы по bluetooth

Напишем такой скетч и загрузим в память Arduino:

const int ledPin = 13; // вывод встроенного светодиода char incomingbyte; // переменная для данных Bluetooth void setup() pinMode(ledPin, OUTPUT); Serial.begin(9600); > void loop() if (Serial.available() > 0) < // если порт доступен incomingbyte = Serial.read(); // считываем с порта данные switch(incomingbyte) < case '1': // если приходит "1" digitalWrite(ledPin, HIGH); // break; case '0': // если приходит "0" digitalWrite(ledPin, LOW); // break; >> > 

Включаем собранную схему с Arduino и подключённым к нему bluetooth-модулем. Правильно подключённый модуль сразу входит в режим ожидания подключения, о чём будет свидетельствовать ритмично мигающий светодиод статуса.

4 Сопряжение с bluetooth-устройством

Теперь нужно добавить bluetooth-устройство в список доверенных устройств. Включаем Bluetooth на компьютере, идём в Параметры Устройства Bluetooth.

Если в области уведомлений при включении bluetooth на компьютере появилась иконка bluetooth, то можно кликнуть по ней правой кнопкой мыши и выбрать пункт Добавление устройства Bluetooth:

Добавление устройства Bluetooth

Убеждаемся, что наш bluetooth-модуль виден компьютеру. Выбираем его из списка и нажимаем кнопку Связать. В диалоговое окно вводим пароль по умолчанию 1234. При успешном добавлении устройство появится в списке с пометкой Сопряжено.

Сопряжение с bluetooth-устройством

Пароль по умолчанию для конкретного модуля может отличаться от «1234». Эту информацию должен предоставить изготовитель (продавец) модуля.

Если вы хотите подключиться к вашему модулю bluetooth со смартфона, то порядок действий аналогичный: включить bluetooth на смартфоне, обнаружить модуль, подключённый к Arduino, выполнить сопряжение с ним.

5 Подключаемся к bluetooth-модулю по bluetooth с компьютера

Для подключения к bluetooth модулю можно использовать различные программы, которые могут подключаться к COM-порту. Например, такие как HyperTerminal, PuTTY, Tera Term, Termite и другие. Они все бесплатные и свободно распространяются в интернете.

Удобство программы TeraTerm в том, что она автоматически выводит список COM-портов, которые назначены модулю bluetooth вашего компьютера. Запускаем программу, выбираем подключение Serial, из списка выбираем соответствующий bluetooth COM-порт, нажимаем OK.

Подключение к bluetooth-модулю с помощью программы TeraTerm

Программа PuTTY при запуске также спрашивает номер порта (COM4, у вас будет свой), скорость подключения (9600), тип соединения (Serial). Затем нажимаем кнопку Соединиться.

Подключение к bluetooth-модулю с помощью программы PuTTY

В случае ошибки при подключении программа выведет соответствующее оповещение. Если соединение вашего компьютера с bluetooth-модулем произошло успешно, то вы увидите перед собой поле терминала. Введите с клавиатуры в это поле число 1 – и светодиод на 13 выводе Arduino загорится, введите 0 – погаснет.

6 Подключение со смартфона с помощью Bluetooth Terminal

Аналогично можно подключиться к модулю bluetooth со смартфона. Скачайте приложение для работы с bluetooth по терминалу, например Bluetooth Terminal. Подключайтесь к модулю и вводите команды 0 или 1.

Таким образом, мы научились подключаться по bluetooth к Arduino и передавать ему данные.

Поблагодарить автора:

Поделиться

Print Friendly, PDF & Email

Похожие материалы (по тегу)

Последнее от .aave.

Другие материалы в этой категории:

Оставить комментарий

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

Полезные советы

Print Friendly, PDF & Email

Наблюдаемые коллекции ObservableCollection в WPF можно изменять толкько в потоке пользовательского интерфейса. Однако можно несколько изменить данную коллекцию таким образом, чтобы можно было это делать из фонового потока. Например, вот так:

Imports System Imports System.Collections.Generic Imports System.Collections.ObjectModel Imports System.Collections.Specialized Imports System.Diagnostics Imports System.Windows.Threading Public Class ObservableCollectionThreadSafe(Of T) Inherits ObservableCollection(Of T) 'наследуем от наблюдаемой коллекции 'Переопределяем событие изменения коллекции Public Shadows Event CollectionChanged As NotifyCollectionChangedEventHandler #Region "КОНСТРУКТОРЫ" Public Sub New() MyBase.New() End Sub Public Sub New(items As IEnumerable(Of T)) MyBase.New(items) End Sub #End Region '/КОНСТРУКТОРЫ Protected Overrides Sub OnCollectionChanged(e As NotifyCollectionChangedEventArgs) Using MyBase.BlockReentrancy() 'используем BlockReentrancy(), который запрещает выполнение повторных попыток изменения коллекции Dim eventHandler As NotifyCollectionChangedEventHandler = Me.CollectionChangedEvent If (eventHandler IsNot Nothing) Then Dim delegates As [Delegate]() = eventHandler.GetInvocationList() For Each handler As NotifyCollectionChangedEventHandler In delegates 'идём по списку вызовов Dim dispatcherObject As DispatcherObject = TryCast(handler.Target, DispatcherObject) If (dispatcherObject IsNot Nothing) AndAlso (Not dispatcherObject.CheckAccess()) Then 'Если подписчик - DispatcherObject И другой поток dispatcherObject.Dispatcher.Invoke(DispatcherPriority.DataBind, handler, Me, New Object() ) 'вызываем обработчик в целевом потоке диспетчера Else handler(Me, e) 'иначе запускаем обработчик как есть End If Next End If End Using End Sub End Class

Источник

Оцените статью
Adblock
detector