Управление ардуино по bluetooth

Управление ардуино по bluetooth

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

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

И так работяга стал послушней – уже умеет слушаться пульт от телевизора 🙂 www.drive2.ru/b/2818339/
А давайте его научим слушаться телефон!
И поможет нам в этом Блютуз.

Необходимо:
— Блютуз модуль — HC-06 wireless Bluetooth (либо другой).
— Провода.
— Двухсторонний скотч.
— Софт — Bluetooth RC Controller.

Читайте также:  Оранжевый фасад кухни фото

В комплекте с роботом шел Блютуз модуль — HC-06.
Подойдут модули типа HC-04 или 05.

Но забегу вперед – если вы все же захотите когда-нибудь загружать работягу через Блютуз рекомендую именно НС-05 – о его достоинствах рассказал здесь:
www.drive2.ru/c/2749401/

Подключение:
Все, что нужно подключить — это Блютуз модуль.
Подключение простое – смотрите таблицу ниже.

ПРИМЕЧАНИЕ: Заодно я указал подключения Моторов – я буду в каждом примере указывать необходимые подключения.

Обратите внимание, что поскольку разъем TXD Блютуз подключен к разъему RХ Arduino, то пока включении Блютуз Arduino никого будет слушать — только Блютуз.
ВНИМАНИЕ! На время когда вы хотите работать с Arduino по USB – Блютуз нужно выключать. Я для этого поставил выключатель на питание «+» Блютуз.

Прикрепляем Блютуз к роботу – можно использовать двухсторонний скотч и место в «корме» робота.

Программирование.
Сначала немного теории.
Мы уже научили работягу слушать ИК волны…
Блютуз – это то же волны – только радио.
А в остальном принцип тот же – управляющее устройство будет передавать коды по блютуз, которые РОБОТяга будет выполнять.
Только предварительно нам считывать коды с устройства не нужно – мы их сами зададим.
Кодами для команд будут буквы:
F – вперед;
B – назад;
R – вправо;
L – влево;
S – стоп.

Посылать их может любое устройство:
— которое может подключиться по Блютуз к РОБОТяге;
— имеющее программу, которая может посылать через Блютуз сигналы — терминал RS232.

Сначала устанавливаем соединение между блютузами РОБОТяги и «устройства» — через настройки Блютуз «устройства» — пароль по умолчанию для модуля робота — 1234.

Что касается софта – для компьютера можно использовать, например ARDUINO IDE или Termite 3.2. Пример здесь: lesson.iarduino.ru/page/b…-ustroystvami-s-telefona/
Установив соединение и запустив программу мы через нее можем отправлять на робот коды и робот будет выполнять команды.
Но согласитесь, это не очень удобно… удобнее нажимать на кнопки – для этого можно написать программку, например для Android – что бы кнопкам соответствовали кодовые буквы.
Но мы даже этого делать не будем – поскольку уже есть готовая программа!
А для чего же, спросите вы, я все это писал?
Для того что бы развеять «магию» Блютуза и показать как на самом деле все банально

Для Android устройств будем использовать Bluetooth RC Controller – готовую к использованию программу, позволяющую управлять не только направлением движения, но и скоростью и даже фарами!

Управление скоростью и фарами в моем скетче нет – это домашнее задание для пытливых умов 🙂
geekelectronics.org/ardui…dklyuchaem-bluetooth.html
А вот еще одной функцией программки – управление движением робота с помощью наклона «телефона/планшета» мы обязательно воспользуемся.
Bluetooth RC Controller можно скачать на Play Market.
play.google.com/store/app…uetoothRCcontroller&hl=ru
Работа с программой интуитивно понятна.

Читайте также:  Лампадное масло своими руками

Первое, что она попросит – включить Bluetooth.
Затем нужно подключиться к РОБОТяге – нажимаем на «шестереночку» — далее «Connect» выбрать его из перечня устройств нашего РОБОТягу и соединяемся…
Дальше жмем на кнопки и едем…

Все посылаемые данной программой коды-команды указаны в настройках Bluetooth RC Controller («шестереночка» — «Settings»).

ВНИМАНИЕ! Поступили замечания, что Bluetooth RC Controller у некоторых "работяг" реагирует с задержкой — около 10 секунд! Есть информация, что это лечится в настройках — пункте "Please select data stream frequency:" нужно выбрать режим "On change/touch".

Для того чтобы перевести в режим управления акселерометром «устройства» – через наклон, нужно нажать «шестереночку» и нажать закладку «Accelerometer».
Но предупреждаю! Данный режим работает с задержкой – управлять нужно осторожней. Пример на видео 🙂

СКЕТЧ:
[code]
//Управляем роботом с помощью BLUETOOTH.
//В качестве управляющего устройства используем ANDROID устройство с программой Bluetooth RC Controller.

// *********************** Установка выводов моторов ************************
int MotorLeftSpeed = 5; // Левый (А) мотор СКОРОСТЬ — ENA
int MotorLeftForward = 4; // Левый (А) мотор ВПЕРЕД — IN1
int MotorLeftBack = 2; // Левый (А) мотор НАЗАД — IN2
int MotorRightForward = 8; // Правый (В) мотор ВПЕРЕД — IN3
int MotorRightBack = 7; // Правый (В) мотор НАЗАД — IN4
int MotorRightSpeed = 6; // Правый (В) мотор СКОРОСТЬ — ENB

// ********************** Для управления по блютуз ****************************
char btCommand = ‘S’;// Задаем переменную BLUETOOTH команда — по умолчанию "S" — СТОП

//****************** Настраиваем параметры выводов ARDUINO ******************
pinMode (MotorLeftForward, OUTPUT);
pinMode (MotorLeftBack, OUTPUT);
pinMode (MotorLeftSpeed, OUTPUT);

Создадим проект по управлению 5В реле через Bluetooth с помощью Arduino и умных часов Android Smartwatch.

Вы хотите использовать свои умные часы для управления вещами вокруг вас? Это можно сделать очень легко в течение, буквально, нескольких часов.

В этом уроке мы покажем вам, как контролировать свою бытовую технику с помощью часов Android Wear. Мы будем использовать часы Moto360, но вы можете установить приложение в любой Wear OS (ранее Android Wear). В конце этого проекта вы сможете управлять любым электрическим устройством.

Требования к оборудованию

Нам потребуются несколько комплектующих:

  1. Arduino Uno
  2. Реле 5в
  3. HC-06 Bluetooth модуль
  4. Любые часы Wear OS

Аппаратная сборка

Подключите оборудование, как показано на приведенных ниже схемах.

Подключите плату Arduino UNO к модулю Bluetooth HC-06.
Будьте осторожны с этим шагом! Сначала отключите электропитание. Это будет работать как переключатель, поэтому удалите физический переключатель и подключите к контакту реле NC и COM и затяните винт.

Читайте также:  Электроды lb 52u характеристики цена

Подключите IN1 вывод к GPIO13.

Установка программного обеспечения Arduino

Вы можете скачать Arduino IDE с нашего сайта здесь или с официального сайта Arduino.

После установки откройте Arduino IDE и подключите Arduino UNO с помощью USB-кабеля.

Загрузка исходного кода

Этот код использует протокол последовательной связи Arduino с модулем Bluetooth. Выводы RX и TX Arduino подключаются к выводам TX и RX модуля HC-06 Bluetooth соответственно.

Модуль Bluetooth получает данные от сопряженного смартфона Android и запускает реле на основе полученных данных.

Код, стоящий за этим, довольно прост. Если принятые данные являются символом «1», то реле включается, а включается если принятыми данными является символ «0» (реле будет отключено).

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

Установка apk в Wear OS

Загрузите файл apk для приложения smartwatch.

Используя ADB через Wi-Fi, выполните следующие действия, чтобы установить приложение на свои смартчасы:

  1. Перейдите в настройку dev на часах и включите ADB и Bluetooth ADB.
  2. Перейдите в настройку Bluetooth в приложении Android Wear на телефоне и включите ADB через Bluetooth.
  3. Скачайте базовый adb на ваш компьютер:
    • Windows
    • Mac
    • Linux
    • Подключите телефон к компьютеру и включите опцию ADB USB в приложении разработчика
    • После этой настройки на вашем компьютере откройте консоль в папке, содержащей файлы ADB и apk.
    • Выполните команду:
      adb Devices, adb forward tcp:6666, localabstract:/adb-hub, adb connect localhost:6666
    • После установления соединения с часами выберите:
      adb -e install apkname.apk
    • Замените apkname на BluetoothWatch-debug.apk с правильным путем, если вы находитесь за пределами каталога, содержащего файл.

    Так будут выглядеть команды после правильной установки приложения:

    Как связать всё по Bluetooth

    После установки подключите смартчасы к модулю HC-06.

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

    Вы должны увидеть устройство HC-06, доступное на ваших часах.

    Теперь выполните следующие действия:

    1. Откройте настройки Bluetooth вашего устройства и найдите новые устройства, убедитесь, что светодиод на модуле HC-06 постоянно мигает (режим сопряжения).
    2. Выберите HC-06 (или вы увидите адрес, заканчивающийся на «C», как показано на рисунках).
    3. Введите PIN-код «1234» и нажмите OK.
    4. Откройте приложение «Wear OS» и нажмите кнопку Bluetooth в верхней части экрана.
    5. Выберите «HC-06» из списка.
    6. Используйте переключатель со значком лампочки или встряхните часы, чтобы включить / выключить реле. Убедитесь, что в ваш Arduino уже загружен приведенный выше код.
    7. Щелкните на значок настроек, если вы хотите настроить калибровку встряхивания.

    Вот так проходил процесс создания проекта:

    Вот и все! Теперь ваши умные часы подключены и вы можете управлять реле 5В через через Bluetooth.

    Ссылка на основную публикацию
    Adblock detector