Ардуино блютуз умный дом

Умный дом (управление с Android-смартфона)

В данной статье речь пойдет о создании системы «Умный дом» на контроллере Arduino UNO с управлением через Android смартфон и Bluetooth модуль HC-05.

Задача — создать Arduino скетч и программу для Android, которые бы соответствовали необходимым требованиям.

Из аппаратной части необходимо:

  • Arduino U NO
  • Blueto oth модуль HC-05
  • Модуль 2-х кан ального реле 5В 10А
  • Датчик влажно сти и температуры DHT-22

Затем я занялся созданием скетча для Arduino SMARTHOUSE.ino. В интернете был найден готовый пример но он не подходил по функционалу и я взялся дописывать его. Моя задача, чтобы скетч принимал команду для включения определённого реле и в это же время передавал показания датчика влажности и температуры. Имея минимальные знания программирования у меня всё получилось и программа была написана.

Оставалось самое сложное создать приложения для Android, для этого я использовал программу AppInventor 2.

Facing

Особенностями программы являются: возможность автоматически подключаться к выбранному ранее bluetooth-устройству, голосовое распознавание текста, отображение температуры и влажности в реальном времени. Перед началом использования голосовых команд нужно с клавиатуры смартфона вписать саму команду в разноцветные поля и нажать кнопку сохранить (кнопка сохранить также запоминает подключённое устройство).

Далее следовала сборка сборка всех компонентов в единую систему.

HC-05

DHT-22

Нагрузка подключается к выводам 8, 9, 10. Если вдруг что не понятно с подключением, то вы можете посмотреть все пины по самом скетче. После соединения всех компонентов нужно установить и запустить мою программу SMARTHOUSE.apk

После установки включаем Bluetooth на смартфоне и подключаемся к модулю HC-05, и включаем нашу программу.

Читайте также:  Периферийное устройство bluetooth нет драйвера

Bluetooth connection

После запуска жмем кнопку поиск и видим окно с списком доступных устройств, выбрать нужно HC-05.

Когда выбор сделан нужно нажать кнопку ПОДКЛЮЧИТЬ и СОХРАНИТЬ, в зелёном окне появится адрес bluetooth устройства.

App-face

И вот теперь при нажатии на красные выключатели, мы можем подавать сигнал на нужный нам pin (длинное нажатие на кнопку выключателя посылает команду для отключения нагрузки). Под кнопками «enable all» и «switch off all» появятся показания температуры и влажности с датчика DHT-22.

Источник

Автоматизация дома на Arduino под управлением смартфона

Автоматизация играет важную роль в жизни современного общества. Процессами автоматизации можно управлять различными способами: с помощью Wi-Fi, инфракрасной связи, GSM, Bluetooth и многих других технологий.

Автоматизация дома на Arduino под управлением смартфона: внешний вид конструкции

Ранее на нашем сайте мы уже рассматривали различные проекты автоматизации дома:

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

Необходимые компоненты

  1. Плата Arduino Mega (или другая модель) (купить на AliExpress).
  2. Мобильный телефон на Android (смартфон).
  3. Bluetooth модуль HC05 (купить на AliExpress).
  4. Приложение Bluetooth terminal.
  5. Микросхема (драйвер двигателей) L293D (купить на AliExpress).
  6. Два реле на 6 В.
  7. ЖК дисплей 16х2 (купить на AliExpress).
  8. Две электрические лампочки.
  9. Адаптер на 12 v,1A.
  10. Макетная плата.

Работа схемы

Схема устройства представлена на следующем рисунке.

На схеме показаны необходимые соединения платы Arduino с ЖК дисплеем, Bluetooth модулем HC05 и микросхемой L293D (драйвером двигателей).

Два реле подсоединены к микросхеме L293D для управления двумя приборами постоянного тока (в нашем проекте их роль выполняют электрические лампочки). Реле имеют 5 контактов, из которых 2 (вокруг контакта COM) подсоединены к L293D и GND. А общий контакт (COM) соединен с контактами AC приборов.

Читайте также:  Драйвер блютуз самсунг ноутбук
Внешний вид используемых реле

Микросхема L293D используется для увеличения тока (поскольку контакты платы Arduino не могут обеспечить нужный ток для управления реле). Контакт Vcc2 или VS L293D должен быть подключен к контакту VIN (контакт входного напряжения или Vcc) платы Arduino. Контакты Input 1 и Input 2 L293D подключены к контактам 10 и 11 платы Arduino, а выходные контакты подключены к контактам реле.

Принципы работы проекта

Сначала нам необходимо скачать и установить на наш смартфон приложение Bluetooth Terminal App (можно использовать и другое аналогичное приложение) и подключить смартфон к Bluetooth модулю HC05. Затем сконфигурировать приложение Bluetooth Terminal как в этой статье.

После того, как мы выполним все это, мы сможем передавать данные с нашего смартфона (из приложения Bluetooth Terminal) на Bluetooth модуль HC05, который затем сможет передавать эти данные по последовательному порту плате Arduino Mega. ЖК дисплей 16×2 используется для отображения статуса (включен/выключен) управляемых нами электронных устройств. Микросхема L293D используется для управления двумя реле, к которым подключены электрические лампочки. Адаптер 12v используется для питания платы Arduino и всей схемы. Структурная схема работы устройства представлена на следующем рисунке.

Структурная схема работы нашего проекта

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

В целом, наше устройство будет выполнять следующие операции:

  • если мы передаем символ ‘a’ через приложение Bluetooth Terminal, то электрическая лампочка № 1 включится, а электрическая лампочка № 2 выключится;
  • если мы передаем символ ‘b’ через приложение Bluetooth Terminal, то электрическая лампочка № 1 выключится, а электрическая лампочка № 2 включится;
  • если мы передаем символ ‘c’ через приложение Bluetooth Terminal, то обе электрические лампочки включатся;
  • если мы передаем символ ‘d’ через приложение Bluetooth Terminal, то обе электрические лампочки выключатся.
Читайте также:  Колонка портативная baseus encok e06 силикон bluetooth цвет зеленый

Более подробно все эти процессы вы можете посмотреть в видео в конце статьи.

Исходный код программы

Вначале подключим библиотеку LiquidCrystal.h, необходимую для корректной работы с ЖК дисплеем, и укажем контакты Arduino, к которым подключен ЖК дисплей.

#include
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

Сконфигурируем контакты 10 и 11 Arduino для работы на вывод данных и используем функцию Serial.begin(9600) чтобы задействовать последовательный порт для связи между Arduino и Bluetooth модулем HC05.

void setup() <
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print(«**AUTOMATION**»);
>

В функции void loop() будем проверять поступление каких-либо данных по последовательному порту и помещать эти данные в переменную символьного типа (char c).

void loop() <
if (Serial.available() > 0)
<
char c = Serial.read();
if (c == ‘a’)
<
Serial.print(«in a code»);
. .
. .

Затем мы будем сравнивать символ, поступивший из последовательного порта (char c) с заранее определенными символами ‘a’ ,’b’, ’c’, ’d’, которые используются для управления нашими устройствами. После сравнения плата Arduino выдает соответствующие команды на включение/выключение соответствующих устройств.

Далее представлен полный текст программы.

Источник

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