Многие сегодня мечтают жить в «умном» доме. Но коммерческие решения в наше время отталкивают своей немалой ценой. К счастью, систему домашней автоматики можно сделать самостоятельно на основе дешевых и легкодоступных компонентов.

В данном материале будет показано как с помощью Android-устройства и Arduino управлять бытовыми приборами, в нашем случае лампами. При этом даже если вы новичок в программировании и не имеете опыта написания программ для Android, вы без проблем сможете завершить этот проект.
Для проекта потребуется немного элементов: плата Arduino или любой клон, интерфейсный модуль TTL-UART Bluetooth с рабочим напряжением 5 В, несколько реле и драйвера (цепи управления) к ним, ну и, конечно же, смартфон или планшет на Android.
Этот проект включает в себя две отдельные части: схему управления аппаратным обеспечением и Android-приложение. Связь между цепью управления и приложением для Android осуществляется с помощью беспроводного интерфейса Bluetooth. ASCII команды пересылаются с телефона в Arduino, которые в дальнейшем расшифровываются и представляются командами на включение или отключение определенного бытового прибора.
Разработчики приложений для Android-устройств в большинстве своем знают язык программирования Java, но в данном случае знание этого языка не понадобится, поскольку есть довольно простая и понятная онлайн среда разработки App Inventor, созданная в MIT. Она специально создана для людей, не разбирающихся в программировании на Java, и предлагает собирать приложение визуально из блоков операций. Вот так выглядит наша программа для Android:

Скачать исходник программы, состоящий из блоков в App Inventor, и саму программу с расширением apk можно здесь.
Теперь нужно собрать схему, как показано на рисунке ниже.

Учтите, что линия RX на Arduino должна быть соединена с линией TX модуля Bluetooth, а линия TX на Arduino должна быть соединена с линией RX модуля Bluetooth.
Для программирования платы Arduino у вас должна быть установлена среда разработки Arduino IDE. Ниже приведен скетч для Arduino.
const int led1 = 2;
const int led2 = 3;
const int led3 = 4;
const int led4 = 5;
byte serialA;
void setup()
{
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {serialA = Serial.read();Serial.println(serialA);}
switch (serialA) {
case 1:
digitalWrite(led1, HIGH);
break;
case 11:
digitalWrite(led1, LOW);
break;
case 2:
digitalWrite(led2, HIGH);
break;
case 22:
digitalWrite(led2, LOW);
break;
case 3:
digitalWrite(led3, HIGH);
break;
case 33:
digitalWrite(led3, LOW);
break;
case 4:
digitalWrite(led4, HIGH);
break;
case 44:
digitalWrite(led4, LOW);
break;
}
}
После того, как вы записали скетч в Arduino и установили приложение под Android, нужно подключиться с телефона к модулю Bluetooth. Для этого включите питание Arduino и модуля Bluetooth и активируйте Bluetooth на вашем телефоне, сделав его также видимым для всех устройств. После этого в списке поиска других Bluetooth-устройств вы сможете найти этот модуль. Введите код сопряжения, который, как правило, представляет собой «1234» или «0000».

Устройство, с которым вы сопрягаетесь, в данном случае будет носит название. После сопряжения включайте приложение EG-HOME и нажмите на кнопку Bluetooth, чтобы выбрать сопряженное устройство в программе. После этого ваш телефон будет подключен к цепи управления, и, нажимая соответствующие кнопки, вы будете включать или выключать лампы.
© digitrode.ru