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

Управление реле с компьютера при помощи Arduino и bluetooth.

Сегодня в проекте рассмотрим беспроводное управление реле с компьютера при помощи 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; Отвечающая за количество управляемых реле.

boolean flag[] = new boolean[n]; boolean flagOld[] = new boolean[n]; int step = 70; void setup() < size(450, 480); myPort = new Serial(this, "COM18", 9600); // Запускает последовательное соедениние myPort.bufferUntil('\n'); // Определяет, до какого символа будут считываться данные с последовательного порта. Символ "\n" или "Новая строка" >

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

Читайте также:  Wireless bluetooth cat ear headphones

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

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

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

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

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

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

background(227, 230, 231); textSize(26); fill(20, 160, 133); text("Управление реле с компьютера", 15, 35); textSize(24); fill(33); text("№", 12, 80); text("Реле", 80, 80); text("Состояние", 230, 80); textSize(24); fill(33); text(i+1, 12, 135+i*step); fill(20, 160, 133); // Зеленый Цвет stroke(33); strokeWeight(1); rect(50, 100+i*step, 150, 50, 10); fill(255); textSize(28); text("Включить", 60, 135+i*step);

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

// Если нажата кнопка if (mousePressed && mouseX>50 && mouseX100+i*step && mouseY <150+i*step) < // Выделяет кнопки красным цветом при нажатии stroke(255, 0, 0); strokeWeight(3); noFill(); rect(50, 100+i*step, 150, 50, 10); if (!flagOld[i]) < flag[i] = !flag[i]; flagOld[i] = true; int s; if (flag[i]) s = i; else s = i+n; myPort.write(str(s)); // Посылает символ >> else

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

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

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

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

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

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

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

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

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

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

#include const int rx = 3; const int tx = 4; SoftwareSerial mySerial (rx, tx);

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

const bool level = 1; // 1 - реле высокого уровня 0 - реле низкого уровня int relay_num = 4; // количество реле 1-5 int sdvig_pin = 5; // начальный пин подключения

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

Читайте также:  Android all sound to bluetooth

Это основные настройки которые нужно знать. Всю программу разбирать не буду. Если вы разбираетесь в программировании, то вы без труда в ней разберётесь. Также в программе есть один костыль. Если у вас есть решение как его исправить пишите в комментариях.

Беспроводное управление светом с 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.

Спасибо за внимание!

Технологии начинаются с простого!

Источник

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

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

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

Читайте также:  Led bluetooth symphony controller

Приступим к приложению для Андроида , для этого воспользуемся самым простым решением 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»

В поле Info выведется информация «Rele On — Portal-Pk.ru». При выключении реле на экран телефона будет строка «Rele Off — Portal-Pk.ru»

При выключении реле на экран телефона будет строка «Rele Off — Portal-Pk.ru»
Подключаем к Arduino UNO реле и модуль по схеме. Подключаем к Arduino UNO реле и модуль по схеме
Если у вас Arduino NANO, то реле и bluetooth модуль hc 06 подключить по схеме.

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

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

int LED = 5; int val = 0; void setup() < Serial.begin(9600); //Инициирует последовательное //соединение и задает скорость передачи данных в бит/c (бод) pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); >void loop() < if (Serial.available() >0) // пришли данные < val = Serial.read(); if (val=='1') // если 1 то включаем светодиод < digitalWrite(LED,LOW); Serial.print("Rele On - "); // вывод данных Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки >if (val=='0') // если 0 то выключаем светодиод < digitalWrite(LED,HIGH); Serial.print("Rele Off - "); // вывод данных Serial.println("Portal-Pk.ru"); // вывод данных с переносом строки >> >

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

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

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

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

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

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока. И до встречи в следующем проекте.

Понравилась статья? Поделитесь ею с друзьями:

Источник

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