- Связываем Arduino и Android через Bluetooth
- Нам понадобится
- Создание приложения для Android
- Заготовка
- Настройка эмулятора
- Заполнение Activity
- Пробный запуск
- Написание кода для Android
- Правка манифеста
- Добавляем основной код
- Написание скетча
- Особенности заливки скетча
- Результат
- Заключение
- Приложения для удаленного управления Arduino на Android
- Ардуино и Андроид
- 1. Arduino Bluetooth Controller
- 2. Bluetooth Controller 8 Lamp
- 3. BT Voice Control for Arduino
- 4. RemoteXY: Arduino Control
- 5. Virtuino
- 6. Blynk
- 7. IoT Wifi Controller
- Control an Arduino With Android and USB
- Introduction: Control an Arduino With Android and USB
- Step 1: What You Need
- Step 2: Build Your Circuit
- Step 3: Write Your Code
- Attachments
- Step 4: Create Your App
- Step 5: Try It Out
- Be the First to Share
Связываем Arduino и Android через Bluetooth
В данной статье будет подробно расписано создание небольшого приложения для мобильной операционной системы Android и скетча для Arduino. На Arduino Uno будет стоять Wireless Shield с Bluetooth-модулем. Приложение будет подключаться к Bluetooth-модулю и посылать некую команду. В свою очередь скетч по этой команде будет зажигать или гасить один из подключенных к Arduino светодиодов.
Нам понадобится
Создание приложения для Android
Заготовка
Разработка для ОС Android ведется в среде разработки ADT, Android Development Tools. Которую можно скачать с портала Google для разработчиков. После скачивания и установке ADT, смело его запускаем. Однако, еще рано приступать к разработке приложения. Надо еще скачать Android SDK нужной версии. Для этого необходимо открыть Android SDK Manager «Window → Android SDK Manager». В списке необходимо выбрать нужный нам SDK, в нашем случае Android 2.3.3 (API 10). Если телефона нет, то выбирайте 2.3.3 или выше; а если есть — версию, совпадающую с версией ОС телефона. Затем нажимаем на кнопку «Install Packages», чтобы запустить процесс установки.
После завершения скачивания и установки мы начинаем создавать приложение. Выбираем «File → New → Android Application Project». Заполним содержимое окна так, как показано на рисунке.
В выпадающих списках «Minimum Required SDK», «Target SDK», «Compile With» выбираем ту версию, которую мы скачали ранее. Более новые версии SDK поддерживают графические темы для приложений, а старые нет. Поэтому в поле «Theme» выбираем «None». Нажимаем «Next».
Снимаем галочку с «Create custom launcher icon»: в рамках данной статьи не будем заострять внимание на создании иконки приложения. Нажимаем «Next».
В появившемся окне можно выбрать вид «Activity»: вид того, что будет на экране, когда будет запущено приложение. Выбираем «Blank activity», что означает, что мы хотим начать всё с чистого листа. Нажимаем «Next».
В нашем приложении будет всего одно Activity, поэтому в появившемся окне можно ничего не менять. Поэтому просто жмем на «Finish».
Все, наше приложение создано.
Настройка эмулятора
Отладка приложений для Android производится на реальном устройстве или, если такового нет, то на эмуляторе. Сконфигурируем свой.
Для этого запустим «Window → Android Virtual Device Manager». В появившемся окне нажмем «New». Заполняем поля появившейся формы. От них зависит сколько и каких ресурсов будет предоставлять эмулятор «телефону». Выберите разумные значения и нажимайте «ОК».
В окне Android Virtual Device Manager нажимаем кнопку «Start». Это запустит эмулятор. Запуск занимает несколько минут. Так что наберитесь терпения.
В результате вы увидите окно эмулятора подобное этому:
Заполнение Activity
Activity — это то, что отображается на экране телефона после запуска приложения. На нем у нас будет две кнопки «Зажечь красный светодиод» и «Зажечь синий светодиод». Добавим их. В панели «Package Explorer» открываем res/layout/activity_main.xml . Его вид будет примерно таким же, как на скриншоте.
Перетаскиваем 2 кнопки «ToggleButton» на экранную форму. Переключаемся во вкладку «activity_main.xml» и видим следующий код:
Это ни что иное, как наша Activity, которая отображается не в виде графики, а описанная в формате XML.
Сделаем имена компонентов более понятными. Изменим поля android:id следующим образом.
А еще добавим им подписи, изменим их цвет и размер текста. Результирующий код разметки будет выглядеть следующим образом.
Эти же изменения можно сделать и в графическом режиме, воспользовавшись вкладкой «Outline/Properties».
Пробный запуск
Мы можем запустить только что созданное приложение на эмуляторе. Идем в настройки запуска «Run» → Run Configurations», в левой части нажимаем на «Android Application». Появляется новая конфигурация «New_configuration». В правой части окна выбираем вкладку «Target» и выбираем опцию «Launch on all compatible devices/AVD».
Нажимаем «Apply», а затем «Run». Приложение запустится в эмуляторе.
Можно понажимать кнопки. Но ничего происходить не будет, поскольку обработчики нажатий еще нами не написаны.
Чтобы запустить приложение на реальном устройстве, необходимо включить в его настройках опцию «Отладка USB» и подключить его к компьютеру.
На реальном устройстве приложение выглядит абсолютно аналогично.
Написание кода для Android
Правка манифеста
Каждое Android-приложение должно сообщить системе о том, какие права необходимо ему предоставить. Перечисление прав идет в так называемом файле манифеста AndroidManifest.xml . В нем мы должны указать тот факт, что хотим использовать Bluetooth в своем приложении. Для этого достаточно добавить буквально пару строк:
Добавляем основной код
Пришла пора вдохнуть жизнь в наше приложение. Открываем файл MainActivity.java (src → ru.amperka.arduinobtled). Изначально он содержит следующий код:
Дополним код в соответствии с тем, что нам нужно:
Передавать на Arduino мы будем один байт с двузначным числом. Первая цифра числа — номер пина, к которому подключен тот или иной светодиод, вторая — состояние светодиода: 1 — включен, 0 — выключен.
Число-команда, рассчитывается очень просто: Если нажата красная кнопка, то берется число 60 (для красного светодиода мы выбрали 6-й пин Arduino) и к нему прибавляется 1 или 0 в зависимости от того, должен ли сейчас гореть светодиод или нет. Для зеленой кнопки всё аналогично, только вместо 60 берется 70 (поскольку зеленый светодиод подключен к 7 пину). В итоге, в нашем случае, возможны 4 команды: 60, 61, 70, 71.
Напишем код, который реализует всё сказанное.
Написание скетча
Данные, которые принимает Bluetooth-модуль, приходят через UART (он же Serial-соединение) на скорости 9600 бит/с. Настраивать Bluetooth-модуль нет никакой необходимости: он сразу готов к работе. Поэтому скетч должен уметь следующее:
Особенности заливки скетча
Для связи Bluetooth-Bee с контроллером используются те же пины (0 и 1), что и для прошивки. Поэтому при программировании контроллера переключатель «SERIAL SELECT» на «Wireless Shield» должен быть установлен в положение «USB», а после прошивки его надо вернуть в положение «MICRO».
Результат
Заключение
В данной статье мы научились создавать приложения для операционной системы Android и передавать данные по Bluetooth. Теперь при нажатии на кнопку на экране телефона на базе операционной системы Android, произойдет изменение состояния светодиода на плате.
Вы можете развить мысль и сделать более дружественный интерфейс на Android, управлять с его помощью гораздо более сложными устройствами, публиковать классные приложения в Android Market и ещё много-много всего интересного!
Источник
Приложения для удаленного управления Arduino на Android
Приложения для удаленного управления Arduino на Android предоставляют GUI для легкого управления микроконтроллером.
Ардуино и Андроид
Кто не хочет избавиться от этих громоздких кнопок и запутанных проводов во время работы над проектами?
Удаленное управление платами Arduino через приложение Android возможно благодаря графическому интерфейсу пользователя (GUI).
Созданная в 2003 году платформа Arduino быстро попала на глаза сообществам с открытым исходным кодом и любителям радиоэлектроники из-за её низкой цены, тонн онлайн-учебников и многомиллионного поддерживающего сообщества.
Платы поставляются с различными микропроцессорами и микроконтроллерами, наиболее популярными среди которых являются Arduino UNO с Atmega328.
Благодаря большому количеству коммерчески доступных модулей расширения эти итальянские платы стали выбором для новичков для исследования мира встроенных систем.
Следующим шагом стало развитие контроля плат из любой точки Мира.
1. Arduino Bluetooth Controller
Это приложение имеет простой пользовательский интерфейс и его легко настроить. Соедините Android с модулем Bluetooth, подключенным к Arduino. Можно подключаться в 4 разных режимах:
- Режим контроллера: этот режим представляет собой интерфейс игрового контроллера. При нажатии любой из экранных кнопок будет отправлена соответствующая команда на Arduino. Легко управляйте своим роботом с помощью этого приятного интерфейса.
- Режим переключателя: этот режимсостоит из одной кнопки, которую вы можете использовать для дистанционного управления переключателем.
- Режим диммера: режим диммера может отправлять изменяющиеся значения в Arduino. Очень полезно, когда нужно фиксировать такие данные, например, как яркость и скорость.
- Режим терминала. Отправьте свои пользовательские команды в этом режиме и напишите несколько строк кода на вашем Arduino, чтобы декодировать команды.
2. Bluetooth Controller 8 Lamp
Благодаря поддержке модулей Bluetooth HC-05, HC-06 и HC-07, это приложение позволяет контролировать до 8 каналов.
Оно имеет простой пользовательский интерфейс, состоящий из 8 кнопок для соответствующих каналов.
Кнопки также предназначены для одновременного переключения всех каналов. В расширенных руководствах также приводятся примеры кода.
3. BT Voice Control for Arduino
У Arduino недостаточно памяти и вычислительной мощности для эффективного распознавания речи. Что если мы сможем использовать функцию распознавания речи Android для отправки команд на Arduino?
Это именно то, для чего это приложение создано. Оно принимает речевой ввод и отправляет его в Arduino через Bluetooth в виде строки.
4. RemoteXY: Arduino Control
Приложение позволяет управлять Arduino с помощью Bluetooth, Wi-Fi и даже через Ethernet.
Создайте свой собственный уникальный графический интерфейс для этого приложения, посетив веб-сайт приложения — remotexy. Получайте удовольствие от создания кнопок, переключателей, слайдеров, джойстиков и других элементов GUI для управления вашим Arduino.
Кроме того, оно позволяет подключаться через облачный сервер, поэтому ваши устройства будут доступны из любой точки мира.
5. Virtuino
Ссылка: Virtuino
Virtuino позволяет визуализировать ваши проекты, как никакое другое приложение. Контролируйте одновременно несколько плат Arduino через Bluetooth, Wi-Fi, Интернет или даже через SMS.
Создавайте визуальные интерфейсы для светодиодов, переключателей, диаграмм, аналоговых инструментов, счетчиков и многого другого.
Оно поставляется с поддержкой библиотеки и множеством обучающих программ (включая видеоуроки), которые помогут вам в этом процессе. Добавьте несколько строк кода к существующим примерам, и можно начинать изобретать.
6. Blynk
Ссылка: Blynk
Благодаря красивому дизайну Blynk позволяет создавать пользовательские интерфейсы для Arduino и управлять ими с помощью USB, ethernet, Wi-Fi и Bluetooth. Совместное использование проектов стало проще, просто поделитесь ссылкой на него.
7. IoT Wifi Controller
UPD: данное приложение с 2020 года не доступно Google Play. На момент редакции статьи приложение было удалено из магазина.
IoT Wifi Controller имеет уникальный интерфейс, который отображает конфигурацию каждого из контактов IO Arduino.
Переключайте значения высокого или низкого уровня GPIO и просматривайте его в режиме реального времени. Также отображается значение ADC. Оно подключается к плате, используя ваш телефон или через маршрутизатор.
Вы нашли для себя в этом списке приложение Android, чтобы контролировать Arduino? Поделитесь своими отзывами и предложениями в комментариях в нашей группе ВКонтакте.
Источник
Control an Arduino With Android and USB
Introduction: Control an Arduino With Android and USB
This instructable is just a very quick demonstration of the «Arduino USB Serial Extension» that was created by Thunkable developer, Pavitra. It’s still being developed so think of this as a sort of beta version.
In a nutshell, you can now create a custom Android app and use it to communicate via USB with many different Arduino boards.
I’ve prepared a simple demo where the app can switch an RGB LED between 5 different states (Red, Green, Blue, White and Off) but I’m really interested to see what ideas the Instructables community comes up with.
Step 1: What You Need
Prerequisites
- Some basic knowledge of block-based programming, such as Scratch or App Inventor
- A basic understanding of Arduino — i.e you have successfully run the «Blink» sketch
Hardware
- An Arduino + USB Cable. I’ve tested this with an Uno, Leonardo and Micro.
- An Android Phone
- A USB OTG connector
- Some electronics parts for testing
Software
Step 2: Build Your Circuit
You could easily get away with just the Arduino itself here and use the on-board LED, but to make it a little bit more interesting I’ve used an RGB LED.
The circuit is very simple:
The ground pin of the LED is connected to any of the Arduino’s ground pins [Black Wire],
The red, green and blue pins are connected to PWM pins via Ω resistors. You can recognise PWM pins by the
symbol beside the pin numbers.
The red, green and blue wires in the diagram are there simple to illustrate which leg of the LED corresponds to which colour. In some LEDs the blue and green pins might be reversed.
Step 3: Write Your Code
All of the code below can be found on Github
Start by setting up some variable names for your Arduino Pins
Next, add this to the setup() function:
Then check for Serial input:
Finally, make the appropriate colour:
Attachments
Step 4: Create Your App
To get started with the app as quickly as possible you can clone it directly to Thunkable by clicking here.
Design
The design of this app is intentionally basic. It’s just a few buttons and, of course, the Arduino extension file.
If you’re unfamiliar with installing .aix files you can read Conor’s quick start guide here.
Code
In the blocks, I’ve created a procedure called lighsOn which is called every time a button is pressed.
The red, green and blue buttons send the characters ‘1’, ‘2’ and ‘3’ to the Arduino, respectively.
The characters ‘4’ and ‘5’ are used to turn the LED white and off.
It’s also a good idea to include a reset button that closes and then re-opens the connection to the Arduino
Step 5: Try It Out
Now you’re ready to test it out.
1. Upload the sketch to your Arduino
2. Install the .apk on your Phone
3. Connect your phone to your Arduino with the OTG Cable and you’re good to go.
Troubleshooting.
When you first run the app with the Arduino connected, you need to give it permission to access the USB device (the Arduino)
If you see the run time error, try closing the connection and then opening it again. This should fix your problem, but bear in mind that this is still being tested so please leave a comment if it doesn’t work out for you.
Be the First to Share
Did you make this project? Share it with us!
Источник