→ Управление arduino через android. Android приложения для Arduino

Управление arduino через android. Android приложения для Arduino

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



В данном материале будет показано как с помощью 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, чтобы выбрать сопряженное устройство в программе. После этого ваш телефон будет подключен к цепи управления, и, нажимая соответствующие кнопки, вы будете включать или выключать лампы.

Хотите послать текстовое сообщение с вашего смартфона с ОС Android на свою плату Arduino? В этой статье написано, как это сделать!

Что потребуется

  • смартфон на Android с поддержкой режима USB хоста (т.е. поддержка OTG) - большинство устройств, работающих с Android 3.1 и выше, поддерживают этот режим. Проверьте свой телефон с помощью USB Host Diagnostics App из Play Store;
  • Arduino - любая версия. Я буду использовать Uno R3 ;
  • USB кабель для Arduino;
  • USB OTG кабель - он необходим вам, чтобы подключить USB кабель Arduino к порту micro-USB телефона;
  • Android Studio - вам необходимо установить его. Это довольно просто сделать. Android Studio делает разработку приложений проще, благодаря своим предположениям и генерации кода. Это одна из лучших IDE. Вы также можете использовать эту статью в качестве руководства по установке Android IDE.

Основные компоненты приложения для Android

В Android приложении есть три основных файла:

MainActivity.java Здесь находится выполняемый код на Java, который управляет тем, как будет функционировать приложение. activity_main.xml Содержит макет приложения, то есть, компоненты: кнопки, компоненты отображения текста и т.д. AndroidManifest.xml Здесь вы определяете, когда приложение должно запускаться, в какие права ему нужны, и к какому аппаратному обеспечению ему необходимо получить доступ.

Еще есть множество других файлов, но все они связаны друг с другом с помощью этих трех.

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

Макет

Мы будем использовать тот же макет, что и в USB App и Bluetooth App. Он прост и содержит минимум виджетов, необходимых для проверки соединения между устройствами.

Как вы можете видеть, он содержит виджет EditText для получения данных от пользователя, кнопки для запуска соединения, передачи данных, завершения соединения и очистки TextView . Полученные данные отображаются в TextView (пустое пространство под кнопками).

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

Это интересно: