Ардуино управление реле по блютузу

Обновлено: 02.07.2024

Сегодня в проекте рассмотрим беспроводное управление реле с компьютера при помощи Arduino NANO и bluetooth модуля hc-06. Приложение для компьютера сделал в программе Processing. Не смотря на свой простой дизайн приложения можно использовать для управления от 1 до 5 реле. Для этого достаточно в приложении и в прошивке для Arduino изменить одну переменную. При этом в интерфейсе приложения будет отображать нужное количество кнопок управления и сопутствующей информации.


Описание программы для управления реле с компьютера при помощи Arduino и bluetooth.

Пред тем как делать программу, нужно определиться с её функциями и возможностями. По планам, мое приложение для ПК должно иметь кнопку включения и выключения реле или светодиода. Изначально планировал сделать по 2 кнопки управления, одна включает, вторая выключает реле. Но потом понял, что гораздо нагляднее будет сделать 1 кнопку для управления реле и вывести статус «включено» или «выключено» реле. В итоге получился вот такой интерфейс.

Изначально планировал сделать по 2 кнопки управления, одна включает, вторая выключает реле.

Чтобы сделать программу более функциональной, решил изменить количество управляемого оборудования. Для этого достаточно поменять 1 значение в коде и количество элементов меняется от 1 до 5.

Описание программы для управления реле с компьютера при помощи Arduino и bluetooth.

При нажатии на кнопку происходит изменение цвета обводки. Что наглядно отображает работу кнопки. А также при смене состояния реле меняется цвет шрифта на кнопке и изменяется статус: ВКЛ или ВЫКЛ.

Это мое первое приложение, сделанное в Processing, поэтому прошу строго не судить. Если вдруг увидите костыли, прошу указать на более правильное решение. Оставляйте ваши предложения в «Комментариях».

Для проекта понадобиться следующая электроника:

Описание кода Processing IDE для создания программы управления Arduino.

Сначала подключаем библиотеку для работы с последовательным портом и создадим объект, чтобы включить последовательное соединение, а также создадим массив для хранения статуса реле. Самая важная переменная это int n = 5; Отвечающая за количество управляемых реле.

В разделе настройки нам нужно установить размер окна программы и запустить последовательное соединение. Что касается номера COM-порта. Необходимо перейти в раздел «Панель управления\Оборудование и звук\Устройства и принтеры».

Панель управления\Оборудование и звук\Устройства и принтеры

Посмотреть свойства вашего устройства, нажав на иконку правой кнопкой мыши и выбрав в выпадающем меню «Свойства».

Посмотреть свойства вашего устройства, нажав на иконку правой кнопкой мыши

В открывшемся окне переходим на вкладку «Службы». Тут мы увидим «Последовательный порт», в моем случае это «COM18». У вас будет другой.

увидим «Последовательный порт», в моем случае это «COM18»

В основной функции draw (), которая постоянно повторяется, мы делаем всю графику и функции программы. Итак, сначала нам нужно установить цвет фона, цвет заливки, размер и цвет обводки, а затем с помощью функции rect () рисуем кнопку. Используя функцию text (), мы выводим весь текст, включая строку ledStatus.

Теперь осталось сделать кнопки работоспособными. Для этого используем оператор «if», при нажатии кнопки символ команды будет отправлен через последовательный порт на Arduino, и это включит или выключит реле. Следующие строки используются для выделения кнопки при ее нажатии.

Изменения значения flag в массиве, изменяет состояние кнопки и статуса которые выводим ниже.

И для вывода определённого количества элементов управления необходим цикл.

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

Схема подключения модуля с четырьмя реле и bluetooth hc-06 к Arduino.

Схема подключения модуля с четырьмя реле и bluetooth hc-06 к Arduino.

Подключить реле можно в количестве от 1 до 5 шт. На схеме приведен пример подключения модуля с 4 реле и bluetooth hc-06 к Arduino. Вы можете использовать другое количество реле и другой модуль bluetooth. А также подключить твердотельное реле. В связи с тем, что твердотельное реле чаще всего высокоуровневое, в прошивке есть переменная, отвечающая за выбор логического уровня реле.

Пример исходного кода Arduino управления реле по Bluetooth.

Пример исходного кода Arduino управления реле по Bluetooth.

В связи с тем, что программа для ПК получилась универсальная и можно изменять количество управляемых реле. Скетч для Arduino нужно также сделать максимально универсальным.

Первым делом подключим библиотеку для создания программного Serial порта. И укажем переменные, к которым подключим модуль Bluetooth.

Также в скетче я предусмотрел настройки для изменения типа рел. Значение 1 – позволит управлять реле высокого уровня. Значение 0 – в свою очередь позволит управлять реле низкого уровня.

Следующие 2 переменные определяют, сколько реле мы планируем подключить и номер пина, с которого будет вестись подключение. Соответственно, если мы начинаем с 5 pin и подключим 2 реле, это означает, что реле нужно будет подключить к пинам 5,6. Если нам нужно подключить 4 реле, то для этого будем использовать уже pin 5,6,7,8. И так далее.

Беспроводное управление светом с 2 мест с помощью bluetooth и переключателя.

Есть у меня на сайте проект, в котором я рассказываю, как можно управлять светом с 3 мест с помощью: Пульта ДУ, Радиопульта, Переключателя. Данное управление можно переделать. И вместо или помимо Пульт ДУ + Радиопульт подключить bluetooth. И управлять освещением еще и с компьютера. Достаточно удобно! Давайте рассмотрим, как это сделать.

Схема подключения Arduino NANO, bluetooth модуля hc-06 и модуля с двумя реле.

Схема подключения Arduino NANO, bluetooth модуля hc-06 и модуля с двумя реле.

Как видим, схема изменилась не сильно и управлять также можно с ПК и с помощью переключателей.

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

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

Описание работы управлением светом с компьютера по bluetooth.

Как видим на фото ниже, вместо радиоуправления подключил bluetooth модуль hc-06. Код использую тот же, что привел выше безо всяких изменений. Только указал нужное количество реле и тип сигнала низкого уровня. После чего можно приступать к управлению светом, включать с компьютера посредством беспроводной связи по bluetooth и переключателя, который можно установить в монтажную коробку как обычный выключатель.

писание работы управлением светом с компьютера по bluetooth.

Вариант отличный, но имеет ряд минусов, о которых я рассказывал в проекте про управление светом с 3 мест.

Вариант отличный, но имеет ряд минусов, о которых я рассказывал в проекте

Подведём итог.

Управление реле с компьютера, скорее всего не очень востребовано, так как мы редко нуждаемся в управлении светом за компьютером. Хотя… Это возможно только мое мнение!

В свези с тем, что это мое первое приложение для компьютера учтены не все моменты и имеются некоторые недочеты. Также есть смысл сделать управление реле по Wi-fi. Жду ваши мнение и предложения.

Понравился проект Управление реле с компьютера при помощи Arduino и bluetooth? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

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


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

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

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

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

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

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

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

Подключите 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 на ваш компьютер:
  4. Подключите телефон к компьютеру и включите опцию ADB USB в приложении разработчика
  5. После этой настройки на вашем компьютере откройте консоль в папке, содержащей файлы ADB и apk.
  6. Выполните команду:
    adb Devices, adb forward tcp:6666, localabstract:/adb-hub, adb connect localhost:6666
  7. После установления соединения с часами выберите:
    adb -e install apkname.apk
  8. Замените 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.

.Bluetooth HC-06 и ардуино. Приложение андроид для управления Реле с телефона.

В уроке мы использовали стороннее приложения для Android телефона или планшета. Сегодня мы напишем свое приложение в mit app inventor. Подправим скетч из Arduino урока 11, для работы с низкоуровневым реле. С высоко уровненным рее работать будет без изменения скетча. Чем отличаются высоко уровневые реле от низко уровневых. Низко уровневые включается, когда на сигнальны Пин реле подается LOW. Высоко уровневый включается, когда подадим HIGH. Конструктивные особенности и более подробную информацию ищите в интернете.

Приступим к приложению для Андроида , для этого воспользуемся самым простым решением app inventor 2. Если у вас возникли сложности с данной средой разработки у меня на сайте есть боле простые примеры написания приложений в данной среде разработки : Wi-Fi реле на NodeMCU. Управление Android приложением
Интерфейс программы будет выглядеть вот так.

Интерфейс программы app inventor 2


В приложение нужно добавить: BluetoothClient1 и Clock1 с интервалом обновления 100.
Кнопка «Bluetooth» осуществляет подключение к hc-06 модулю.
Копка «Disconnect» разрывает соединение.
Кнопки «On» и «Off» включают и выключают реле.
Блоки программы для подключения и отключения модулю HC-06 :

Блоки программы для подключения и отключения модулю HC-06:


Блок управления и вывода информации на дисплей.

Блок управления и вывода информации на дисплей.


Копка включения отправляет по блютуз каналу значение равное 1. Кнопка отключения отправляет 0.
Cloc1 это часы, проверяют информацию которая пришла по Bluetooth и выводит ее в текстовое поле Info.
Приложение на Android устройстве выгладить вот так.

Приложение на Android устройстве


После нажатия на кнопку «Bluetooth». У вас откроется окно выбора устройства.

После нажатия на кнопку «Bluetooth». У вас откроется окно выбора устройства.

Выбираете ваше устройство. После чего можно управлять реле. При нажатии на кнопку «On».

При нажатии на кнопку «On»


Подключаем к Arduino UNO реле и модуль по схеме.
Если у вас Arduino NANO, то реле и bluetooth модуль hc 06 подключить по схеме.

Arduino NANO, то реле и bluetooth модуль hc 06 подключить по схеме


Скетч bluetooth реле ардуино будет вот таким.

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

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

 bluetooth реле ардуино


Подключенная нагрузка будет включаться и выключаться . Если у вас работает наоборот возьмите код для Arduino из урока: Bluetooth модуль HC-06. Управление Arduino с телефона.

Сегодня мы разобрали связку ардуино андроид bluetooth . Планирую сделать машину с управлением по bluetooth . И много другое.

помогите =( Параллельное управление реле через bluetooth и кнопки

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

microms аватар

в итоге реле слушается только блютуз и полностью игнорит рубильник
необходимо сделать паралельное управление реле и с рубильника и с блютуз

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

13 пин для кнопки неудачный выбор. выбери любой другой кроме 0 и 1 и сделай подтяжку

да и какой смысл использовать switch. if else логичнее сюда

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

microms аватар

пробывал и с if else . всеравно реле управляется либо через блютуз либо через рубильник, но не паралельно.

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

microms аватар

если отключить пин rx на ардуино, то реле управляется через рубильник. Но если включить порт rx обратно то только по блютуз

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

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

затем сравниваем старое значение с новым для блютуз и для кнопки и там где произошло изменение то и устанавливаем, и там где было изменение записываем текущее значение в старое

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

Во-первых: зачем вторую одинакувую тему открывать?

Во-вторых: все правильно работает - так и будет. Вы же не факт нажатия на кнопку или факт передачи комманды с блютуза обрабатываете, а просто читаете состояние кнопки/блютуза. И по факту у вас оба этих состояния в релюху пишутся.

Например, по блютузу идет комманда "0" n=0, кнопка при этом нажата m=1. релюха по состоянию кнопки включится и тут же по комманде блютуз выключится (вы это не заметите из-за инерционности реле), дальше в следующем лупе она будет >200 миллисекунд выключена, и по новой тоже самое.

Поставьте между 31 и 32 строками задержку, и посмотрите.

Вам нужно обрабатывать изменение состояния кнопки (и блютуза), и только по изменению состояния переключать реле.

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