Программа ардуино для андроид
В первой части я описал физическую часть конструкции и лишь небольшой кусок кода. Теперь рассмотрим программную составляющую — приложение для Android и скетч Arduino.
Вначале приведу подробное описание каждого момента, а в конце оставлю ссылки на проекты целиком + видео результата, которое должно вас разочаровать ободрить.
Android-приложение
Программа для андроида разбита на две части: первая — подключение устройства по Bluetooth, вторая — джойстик управления.
Предупреждаю — дизайн приложения совсем не прорабатывался и делался на тяп-ляп, лишь бы работало. Адаптивности и UX не ждите, но вылезать за пределы экрана не должно.
Верстка
Стартовая активность держится на верстке, элементы: кнопки и layout для списка устройств. Кнопка запускает процесс нахождения устройств с активным Bluetooth. В ListView отображаются найденные устройства.
Экран управления опирается на верстку, в которой есть только кнопка, которая в будущем станет джойстиком. К кнопки, через атрибут background, прикреплен стиль, делающий ее круглой.
TextView в финальной версии не используется, но изначально он был добавлен для отладки: выводились цифры, отправляемые по блютузу. На начальном этапе советую использовать. Но потом цифры начнут высчитываться в отдельном потоке, из которого сложно получить доступ к TextView.
Файл button_control_circle.xml (стиль), его нужно поместить в папку drawable:
Также нужно создать файл item_device.xml, он нужен для каждого элемента списка:
Манифест
На всякий случай приведу полный код манифеста. Нужно получить полный доступ к блютузу через uses-permission и не забыть обозначить вторую активность через тег activity.
Основная активность, сопряжение Arduino и Android
Наследуем класс от AppCompatActivity и объявляем переменные:
Метод onCreate() опишу построчно:
Нижеприведенные функции проверяют, получено ли разрешение на использование блютуза (без разрешение пользователя мы не сможем передавать данные) и включен ли блютуз:
Если все проверки пройдены, начинается поиск устройства. Если одно из условий не выполнено, то высветится уведомление, мол, «разрешите\включите?», и это будет повторяться, пока проверка не будет пройдена.
Поиск устройства делится на три части: подготовка списка, добавление в список найденных устройств, установка соединения с выбранным устройством.
Когда Bluetooth-модуль, повешенный на Arduino (подробнее об этом далее), будет найден, он появится в списке. Нажав на него, вы начнете создание socket (возможно, после клика придется подождать 3-5 секунд или нажать еще раз). Вы поймете, что соединение установлено, по светодиодам на Bluetooth-модуле: без соединения они мигают быстро, при наличии соединения заметно частота уменьшается.
Управление и отправка команд
После того как соединение установлено, можно переходить ко второй активности — ActivityControl. На экране будет только синий кружок — джойстик. Сделан он из обычной Button, разметка приведена выше.
В методе onCreate() происходит все основное действо:
Обратите внимание (!) — мы узнаем, сколько пикселей занимает кнопка. Благодаря этому получаем адаптивность: размер кнопки будет зависеть от разрешения экрана, но весь остальной код легко под это подстроится, потому что мы не фиксируем размеры заранее. Позже научим приложение узнавать, в каком месте было касание, а после переводить это в понятные для ардуинки значения от 0 до 255 (ведь касание может быть в 456 пикселях от центра, а МК с таким числом работать не будет).
Далее приведен код ControlDriveInputListener(), данный класс располагается в классе самой активности, после метода onCreate(). Находясь в файле ActivityControl, класс ControlDriveInputListener становится дочерним, а значит имеет доступ ко всем переменным основного класса.
Не обращайте пока что внимание на функции, вызываемые при нажатии. Сейчас нас интересует сам процесс отлавливания касаний: в какую точку человек поставил палец и какие данные мы об этом получим.
Обратите внимание, использую класс java.util.Timer: он позволяет создать новый поток, который может иметь задержку и повторятся бесконечное число раз через каждое энное число секунд. Его нужно использовать для следующей ситуации: человек поставил палец, сработал метод ACTION_DOWN, информация пошла на ардуинку, а после этого человек решил не сдвигать палец, потому что скорость его устраивает. Второй раз метод ACTION_DOWN не сработает, так как сначала нужно вызвать ACTION_UP (отодрать палец от экрана).
Чтож, мы запускаем цикл класса Timer() и начинаем каждые 10 миллисекунд отправлять те же самые данные. Когда же палец будет сдвинут (сработает ACTION_MOVE) или поднят (ACTION_UP), цикл Timer надо убить, чтобы данные от старого нажатия не начали отправляться снова.
Обратите еще раз внимание: отсчет x и y метод onTouch() ведет от верхнего левого угла View. В нашем случае точка (0; 0) находится у Button тут:
Теперь, когда мы узнали, как получить актуальное расположение пальца на кнопки, разберемся, как преобразовать пиксели (ведь x и y — именно расстояние в пикселях) в рабочие значения. Для этого использую метод calculateAndSendCommand(x, y), который нужно разместить в классе ControlDriveInputListener. Также понадобятся некоторые вспомогательные методы, их пишем в этот же класс после calculateAndSendCommand(x, y).
Когда данные посчитаны и переведены, в игру вступает второй поток. Он отвечает именно за отправку информации. Нельзя обойтись без него, иначе сокет, передающий данные, будет тормозить отлавливание касаний, создастся очередь и все конец всему короче.
Класс ConnectedThread также располагаем в классе ActivityControl.
Подводим итоги Андроид-приложения
Коротко обобщу все громоздкое вышеописанное.
- В ActivityMain настраиваем блютуз, устанавливаем соединение.
- В ActivityControl привязываем кнопку и получаем данные о ней.
- Вешаем на кнопку OnTouchListener, он отлавливает касание, передвижение и подъем пальца.
- Полученные данные (точку с координатами x и y) преобразуем в угол поворота и скорость
- Отправляем данные, разделяя их специальными знаками
Скетч Arduino
Андроид-приложение разобрано, написано, понято… а тут уже и попроще будет. Постараюсь поэтапно все рассмотреть, а потом дам ссылку на полный файл.
Переменные
Для начала рассмотрим константы и переменные, которые понадобятся.
Метод setup()
В методе setup() мы устанавливаем параметры пинов: будут работать они на вход или выход. Также установим скорость общения компьютера с ардуинкой, блютуза с ардуинкой.
Метод loop() и дополнительные функции
В постоянно повторяющемся методе loop() происходит считывание данных. Сначала рассмотрим основной алгоритм, а потом функции, задействованные в нем.
Все задержки через команду delay(), которые вы увидите далее, подобраны не через физико-математические вычисления, а опытным путем. Благодаря всем выставленным задрежам, машинка едет плавно, и у всех команд есть время на отработку (токи успевают пробежаться).
В цикле используются две побочные функции, они принимают полученные данные и заставляют машинку ехать и крутится.
Поворачивать, когда андроид отправляет данные о том, что пользователь зажал угол 60, 90, 120, не стоит, иначе не сможете ехать прямо. Да, возможно сразу не стоило отправлять с андроида команду на поворот, если угол слишком мал, но это как-то коряво на мой взгляд.
Итоги скетча
У скетча всего три важных этапа: считывание команды, обработка ограничений поворота и подача тока на двигатели. Все, звучит просто, да и в исполнении легче чем легко, хотя создавалось долго и с затупами. Полная версия скетча.
В конце концов
Полноценная опись нескольких месяцев работы окончена. Физическая часть разобрана, программная тем более. Принцип остается тот же — обращайтесь по непонятным явлениям, будем разбираться вместе.
А комментарии под первой частью интересны, насоветовали гору полезнейших советов, спасибо каждому.
Связка смартфона Andoid и Arduino предоставляет огромные возможности для создания современных проектов, упрощая удаленное программирование, управление и синхронизацию данных. Мобильные приложения на смартфоне дают взаимодействовать с реальным физическим миром из любой точки земли с помощью привычных всем гаджетов. Представляем вам обзор Android приложений для работы с Arduino. Для простоты мы выбрали несколько видов приложений, предназначенных для работы с ардуино: приложения, позволяющие создавать скетчи, справочники и Bluetooth/Wi-fi-контроллеры.
ArduinoDroid
ArduinoDroid – это бесплатное приложение, которое позволяет редактировать, компилировать и загружать эскизы к вашей плате Arduino прямо с телефона или планшета Android. Отличительной чертой этой программы является то, что в нее можно загружать уже готовый запрограммированный код или создавать новый. В случае с неполадками или сбоями программы, открытый код можно всегда отредактировать.
В настоящее время поддерживаются только платы Arduino Uno R3 и платы на базе FTDI (Duemilanove, Diecimila), но планируется поддержка Mega, Due и Nano. Другие функции, которые необходимо реализовать, включают расширенную настраиваемую подсветку синтаксиса, интеллектуальные подсказки кода (автозаполнение) и интеграцию сторонних приложений (руководства, запросы на компиляцию эскизов).
Стоит отметить то, что с помощью этого приложения начинают все осваивать ардуино, к тому же клон-плата Arduino и USB кабель OTG обойдутся всего в пару долларов.
Рейтинг на Google Play: 4.1 из 5
Количество скачиваний: более 500.000
Bluino Loader – Arduino IDE
Bluino Loader – Arduino IDE
Bluino Loader – это программное обеспечение для ардино (Arduino IDE), которое позволяет быстро и легко компилировать ваш код для создания файла и загружать его на плату ардуино через USB OTG.
Рейтинг на Google Play: 4.1 из 5
Количество скачиваний: более 50.000
Arduino Bluetooth Control
Приложение ABC – это простое приложение, которое предназначено для того, чтобы контролировать контакты Arduino, и иметь доступ основным функциям управления. Arduino Bluetooth Control используется для управления и/или мониторинга контактов Arduino через Bluetooth. Приложение является автономным, и вся инициализация выполняется из Arduino. Важно понимать, что приложение предназначено именно для контактов ардуино, а не для управления.
Работа приложения осуществляется при помощи нескольких инструментов:
- Metrics – этот инструмент осуществляет передачу данных с устройства ардуино, которые передают сигнал на телефон о сбоях или об изменениях значений. После того как кнопка сигнализации срабатывает, на телефон поступает уведомление о приостановки работы. Также есть функция встряхивания, при помощи которой отправлять данные путем встряхивания телефона.
- Кнопки со стрелками – здесь работа осуществляется кнопками, которые полностью регулируют отправку данных на плату.
- Терминал – стандартный терминал, получающий и отправляющий данные на плату с отметками времени.
- Кнопки – в горизонтальной ориентации доступно 6 полностью функционированных кнопок для отправки данных на системную плату ардуино.
- Accelometer – используются команды при помощи жестов. Ваш смартфон может стать рулем для управления вашим роботом.
- Голосовое управление – если вы когда-либо хотели пообщаться с роботами, то этот инструмент для вас. При помощи голосовой связи можно создавать собственные команды и использовать их для управления ардуино.
Рейтинг на Google Play: 4.2 из 5
Количество скачиваний: более 50.000
Arduino Bluetooth Controller
Arduino Bluetooth Controller – это простое и интуитивно понятное приложение для управления arduino через bluetooth с android. Работа приложения осуществляется в 4-х различных режимах:
- Режим контроллера: здесь приложение осуществляет демонстрацию интерфейса в виде игрового контроллера. Управление робота осуществляется при помощи экранных кнопок, что упрощает работу с ардуино.
- Режим переключения: переключение осуществляется при помощи одной кнопки, которая предназначена для удаленного доступа к переключателю.
- Режим диммера: в этом режиме доступна функция отправления значения в Arduino, которая позволяет удаленно регулировать яркость или скорость.
- Режим терминала: возможность отправлять индивидуальные команды для декодирования команд в самом ардуино.
Рейтинг на Google Play: 4.5 из 5
Количество скачиваний: более 100.000
Bluetooth Controller 8 Lamp
Приложение создано при помощи модулей Bluetooth HC-05, HC-06 и HC-07. Контроль 8 каналов позволяет быстро и удобно отрегулировать работу ардуино. В интерфейсе предоставлено 8 кнопок, которые соответствуют каждой лампе.
Рейтинг на Google Play: 4.3 из 5
Количество скачиваний: более 50.000
BT Voice Control for Arduino
С помощью этого приложения можно отправлять и получать данные с таких устройств, как ультразвуковой датчик, подключенный к Arduino через Bluetooth. Для подключения устройства Arduino к мобильному телефону через Bluetooth был использован модуль HC-05. После подключения ультразвуковой датчик будет передавать расстояние до ближайшего объекта, и это будет отображаться на мобильном телефоне в этом приложении.
Рейтинг на Google Play: 4.4 из 5
Количество скачиваний: более 10.000
RemoteXY: Arduino Control
RemoteXY Arduino control
Рейтинг на Google Play: 4.1 из 5
Количество скачиваний: более 50.000
Virtuino
Virtuino – это бесплатное приложение из подкатегории System Maintenance, входящей в категорию System Utilities. Оно разрешает совмещать проекты в единое целое, что позволяет управлять более одной платы одновременно через Bluetooth или Wi-fi.
Создавайте визуальные интерфейсы для светодиодов, переключателей, диаграмм, аналоговых приборов, счетчиков и многого другого. Он поставляется с библиотечной поддержкой и множеством учебных пособий (включая видеоуроки), которые помогут вам в этом процессе. Добавьте несколько строк кода в приведенные примеры, и все готово. В настоящее время приложение доступно на английском языке.
Рейтинг на Google Play: 4.9 из 5
Количество скачиваний: более 50.000
Blynk
Это уникальное приложение c прекрасным дизайном разрешает разрабатывать проекты, которые напрямую имеют доступ к триггеру событий на плате ардуино. Однако, важно знать, что для работы в приложении необходимо интернет-подключение, иначе работа попросту невозможна. Независимо от того, подключен ли ваш Arduino или к Интернету через Wi-Fi, Ethernet или этот новый чип ESP8266, Blynk выведет вас в интернет и будет готов к работе.
Настройка занимает около 5 минут, после чего вы можете приступить к реализации своих проектов. Также программа поддерживает аппаратное обеспечение по вашему выбору.
Рейтинг на Google Play: 4.6 из 5
Количество скачиваний: более 500.000
IoT Wi-Fi контроллер
Этот Wi-Fi контроллер содержит интерфейс, который показывает конфигурацию каждого ввода-вывода Arduino. Возможность переключать значения GPIO в реальном времени, а также показ значений АЦП позволят легко управлять вашим гаджетом.
Рейтинг на Google Play: 4.6 из 5
Количество скачиваний: более 5.000
Справочник по Arduino 2
Справочник по Arduino 2
Это одно из важных приложений для обучения в ардуино. Новым пользователям потребуется всего пару недель для освоения материала с этим приложением. Приложение доступно в оффлайн режиме, что позволяет изучать материал в любом месте без подключения к интернету. Включены такие категории как: операторы, данные, функции и некоторые библиотеки Arduino.
На этой странице вы узнаете, как скачать программы и скетчи для работы с Ардуино. Мы поделимся с вами полезными ссылками на официальные ресурсы, последние стабильные версии Arduino IDE 1.8.7 на русском, подходящие для разных плат Arduino Uno, Nano, Mega. Большинство программ и библиотек распространяются по свободной лицензии, поэтому вы можете их скачать бесплатно как на нашем сайте, так и с официальных источников.
Arduino IDE
Давайте для начала коротко выясним, что такое IDE и получим ответы на наиболее часто возникающие вопросы. Если вы опытный разработчик, то можете смело перелететь в следующий раздел статьи со ссылками на скачивание.
Что такое Arduino IDE
Аббревиатура IDE расшифровывается как Integrated Development Environment, в переводе – интегрированная среда разработки. С помощью этой программы программисты пишут программы, причем делают это гораздо быстрее и удобнее, чем при использовании обычных текстовых редакторов.
В рамках платформы Ардуино программа Arduino IDE делает то же – помогает программистам писать программы. С ее помощью скетч, написанный на языке Arduino, проверяется, превращается в C++, компилируется, загружается в Arduino. Теоретически, вы можете обойтись без этой программы, но реально других вариантов начать работы с Ардуино для новичка практически не существует. Поэтому первое, что вы должны сделать – это найти и установить себе эту среду программирования. Это совершенно не трудно и абсолютно бесплатно.
Как скачать и установить Arduino IDE
Процедура скачивания и установки абсолютно традиционна. Вы загружаете файл, запускаете установку. На официальном сайте доступны версии c установщиком (exe) и обычных zip архивах. Вы можете найти версии Arduino IDE для всех основных операционных систем.
Процедура установки достаточно проста, вам нужно будет ответить на несколько вопросов. Важным этапом этого процесса является установка драйвера COM-порта. Для большинства «китайских» плат ардуино понадобится установить дополнительные драйвера.
После установки потребуется небольшая настройка среды – об этом мы поговорим в отдельной статье про установку и настройку Ардуино IDE.
Какую версию Ардуино IDE выбрать?
Первая версия среды разработки Ардуино официально появилась в августе 2005 года. С тех пор утекло много воды, программа несколько раз претерпевала революционные изменения. До 2011 года номера версий состояли из одной цифры (последней была 0023 – версия от 09.11.2011). Затем появилась более привычная запись с «минорными» и «мажорными» обновлениями. Так, Arduino 1.0.0 появилась 30.11.2011, а версия 1.0.1 – в мае 2012.
Ключевыми по количеству обновлений и связанных с ними проблем совместимости стали переходы с версии 1.0.7 и 1.5. Многие библиотеки, написанные под «старые версии» программы не могли компилироваться в новых из-за изменений в системных библиотеках и других внутренних механизмах сборки проекта. Особенно сильно это проявилось при переходе на 1.6 версию. Если в вашем проекте есть древние библиотеки, некорректно работающие с современными версиями IDE, вам придется изменять их самому, ждать, пока это сделают авторы или подчиниться обстоятельствам и установить ту версию, с которой будет работать библиотека.
Последней стабильной версией Arduino IDE на момент написания статьи является 1.8.7 (август 2018).
Arduino на русском
Еще один важный вопрос – русификация среды разработки. Давайте сразу разберемся с тем, как перевести Arduino IDE на русский. На самом деле, для этого не нужно искать или скачивать специальные версии. Вы загружаете и устанавливаете обычную версию, достаточно просто выбрать ваш язык в списке доступных языков в соответствующем пункте настроек.
Версия 1.8.x Arduino IDE появилась 11 Сентября 2018 года и является последней стабильной на момент написания статьи. По сравнению с 1.8.6 вы не найдете существенных улучшений в интерфейсе – все изменения, в основном, касались исправления ошибок и повышения стабильности работы.
Версия Windows
Версия Linux и Mac
Изменения в версии 1.8.7
Из наиболее важных изменений данной версии можно выделить следующее:
- Исправлена проблема выбора порта при первом использовании.
- Исправлены ошибки запуска с некорректным файлом library_index.json или некорректными версиями библиотек.
- Исправлены проблемы с низкой скоростью отрисовки меню File и Tools на версии для Mac OS X.
- Улучшена работы с диалоговыми окнами в MAC OS.
- Повышена стабильность работы системы в целом (исправлены ошибки ядра).
IDE 1.8.6 появилась в августе 2018 года. По сравнению с предыдущей версией, в 1.8.6 было добавлено много улучшений.
Изменения в версии 1.8 6
Список дополнений и улучшений:
- Улучшена производительность компиляции проектов за счет распараллеливания процессов и повторного использования скомпилированных фрагментов проекта.
- Прочие улучшения интерфейса:
- Добавлены клавиатурные ускорители при прокрутке меню (нажмите клавишу ‘a’).
- Добавлен скроллер в меню программирования.
- Улучшение диалогового окна «Поиск/Замены»
Версия Windows
Загрузить Arduino IDE с официального сайта
Для загрузки программы с официального сайта Arduino.cc вам нужно найти в навигации сайта пункт Software – Downloads. Найдите на странице ссылки на последние версии программы (для Windows, Linux, Mac OS X). Щелкнув на ссылку вы попадете на страницу загрузки, на которой можете выбрать вариант загрузки:
- С поддержкой проекта (укажите, какую сумму вы готовы пожертвовать)
- Без поддержки. Просто нажмите на кнопку «Загрузить».
Не зависимо от выбранного варианта, вы все равно загрузите одну и ту же версию, никаких ограничений для «бесплатной» версии нет. Но если у вас есть возможность, то постарайтесь пожертвовать команде, так много сделавшей для развития проекта.
Версия 1.8.7
Версия 1.8.6
Версия 1.6.13
Arduino IDE Online
Если по каким-то причинам вы не можете или не хотите установить Arduino на свой компьютер, у вас есть возможность создавать скетчи в онлайн-версии. Для этого нужно открыть страницу онлайн-среды разработки на официальном сайте Ардуино. Перед началом работы нужно зарегистрироваться, после чего вы сможете открыть среду программирования. Этот подход в чем-то напоминает другие онлайн-эмуляторы Ардуино.
Arduino microcontrollers are incredibly popular electronics devices. While programming an Arduino device is possible with the standard Arduino IDE (integrated development environment) on Linux, macOS, or Windows, it's also possible to use Android phones and tablets. Controlling an Adruino with an Android app requires a bit of fiddling, but results in an excellent mobile development environment. Check out the best Android Arduino IDEs for programming an Arduino board with an Android app!
Can You Control an Arduino with Android?
The Arduino IDE is a cross-platform compatible program for writing, uploading, and executing Arduino code. In turn, this code controls various hardware connectors hooked up to your Arduino microcontroller to accomplish various tasks such as blinking LEDs or powering servo motors. Although there's no official Android Arduino IDE, there are a few ways to use an Arduino Android Bluetooth connection or USB for getting Android to communicate with your Arduino.
For programming an Adruino with Android, there are a few different methods. You'll need an Android 4.0 or later device, an Arduino board, and USB OTG cable plus USB-A to USB-B cable for a wired connection. On top of that, you'll need an Arduino IDE Android app. A USB OTG, or On-the-Go cable allows for reading data from a USB device straight from an Android device. So for controlling Arduino boards with Android phones or tablets, you'll run a USB OTG cable from your Android handset, then connect the Arduino's USB cable to that. USB OTG is required so that your Android device may transfer data to and from the Arduino microcontroller.
Why You Should Use an Arduino IDE for Android
You can easily run an Android IDE on Linux, macOS, and Windows PCs. There are even Chromebook-compatible Arduino IDEs such as the Arduino Create Chrome app and CrhomeDuino. And with the portability of most modern laptops and Chromebooks, it's simple enough to tote around a PC capable of programming your Arduino board on the go. However, mobile phones and tablets are even more convenient for throwing in a bag or even pocket.
1. ArduinoDroid Arduino Anrdoid IDE
For a great app to control an Arduino microcontroller with an Android, the aptly-named ArduinoDroid is a great pick. A small application, ArduinoDroid only takes up a mere 210 MB. But despite its small-footprint, this full-featured Arduino IDE boasts a development environment, compiler, and uploader. Using ArduinoDroid, you can open and edit Arduino sketches, use the sketch navigator, and compile or upload sketches. There's a built-in keyboard, code syntax highlighting for reading code easier, and real-time diagnostics which helps when troubleshooting errors. Arduino microcontroller compatibility is superb with support for the Arduino UNO and UNO R3, Nano, Leonardo, Micro and Pro Micro, Duemilanove, and a slew of others. USB OTG support is required for use.
You'll also find Dropbox and Google Drive integration for storing Arduino code in the cloud which grants access on any device. It's a pretty solid application with excellent support for a variety of different Arduino microcontrollers. Active development means that bugs are constantly being ironed out. Overall, if you're looking for a way to write, compile, and upload Arduino code using your Android phone or tablet, ArduinoDroid is a must-download.
2. Arduino Commander - An Arduino IDE for Android
Another Arduino IDE for Android is Arduino Commander. It's a pretty neat Arduino Bluetooth controller. There is USB support for several boards including ATMega-based Arduino microcontrollers such as the Arduino UNO and Arduino Mega, as well as FTDI-based boards like the Duemilanove. If you're using its USB mode, no special sketches are required. Uniquely, Arduino Commander lets you control your Arduino using Ethernet if you've got the Ethernet shield, or wirelessly with Bluetooth. A user-friendly WYSIWYG interface makes Arduino programming on Android a breeze.
Whereas most Android Arduino IDEs are limited to USB connectivity, Arduino Commander sports Ethernet and Bluetooth connectivity. What's more, WYSIWIG editor makes it a nifty pick for beginners just getting started programming for Arduino. With 4.9 stars on 15 reviews, Arduino Commander is a fantastic choice for controlling Arduino microcontrollers using Android phones and tablets. If you're looking for a means of utilizing an Arduino Android Bluetooth connection, Arduino Commander is your best choice.
3. Bluino Loader Arduino IDE for Android
The Bluino Loader Android app Arduino IDE is a neat option for programming Arduino boards with phones and tablets. WIth 4 stars on over 2,500 reviews, it's a stable, functional IDE. You can upload sketches using USB OTG or Bluetooth. There's a serial monitor for debugging, and .hex file upload capabilities. Using Bluino, you can upload sketches to the Arduino Uno, Nano, Mega2560, Pro Mini, and Duemilanove. Various example libraries and sketches come built-in, there's syntax highlighting, and you can open or edit Arduino sketches. With a robust feature set, Bluino is a superb portable Arduino IDE for beginners, intermediate, and advanced users alike.
The Best Arduino IDE for Android - Programming and Controlling Arduinos With Android
Although programming for an Arduino on an Android device isn't as straightforward as it is with a traditional PC-based IDE, it's still totally doable. So long as you've got the proper hardware set up, either USB OTG for a hardwired connection or Bluetooth, plus a compatible Arduino microcontroller, and an Arduino IDE app for Android, you're all set. Many Andriod-based Arduino IDEs are beginner-friendly and offer Arduino sketch support. ArduinoDroid is one of the best-known options, but Arduino Commander is a spectacular option that's extremely user-friendly and touts wireless compatibility. You might also consider Bluino Loader, a polished Android Arduino app.
Your turn: Which Android apps are you using to program for Arduino boards?
Moe Long is an editor, writer, and tech buff with a particular appreciation for Linux, Raspberry Pis, and retro gaming. Writing online since 2013, Moe has bylines at MakeUseOf, TechBeacon, DZone, SmartHomeBeginner, DEV.to, DVD Netflix, and Electropages. You can read his writings on film and pop culture at Cup of Moe, check out his tech reviews, guides, and tutorials at Tech Up Your Life, and hear his thoughts on movies on the Celluloid Fiends podcast. Aside from writing and editing, Moe has an online course, the Beginner's Guide to Affiliate Blogging From Scratch. When he's not hammering away at his keyboard, he enjoys running, reading, watching cinema, listening to vinyl, and playing with his dog Sebastian.
Не так давно Google открыл API для работы Android устройств с USB. Сегодня пришло время пощупать что же это такое и узнать какие возможности нам открываются.
Итак, у нас имеется Arduino Mega 2560, USB Host Shield и HTC Desire с прошивкой cyanogen 7.1.0 RC1 (Android 2.3.4). На всякий случай напомню, что все что будет описываться дальше — работает только начиная с Android 2.3.4 для телефонов и Android 3.1 для планшетов.Тут стоит отметить что данный USB Host Shield не совсем удачный, особенно в сочетании с Arduino Mega 2560. Первая проблема заключалась в том что данная плата расширения сделана для Arduino UNO, а она отличается от Mega положениями контактов SPI, поэтому пришлось кидать перемычки (см. фото). Второй проблемой, хотя и вполне ожидаемой, стала потребность во внешнем источнике питания для работы этой платы расширения. Более удачной считается USB Host Shield 2.0 от Circuits@Home, но она и дороже.
Плата с перекинутыми SPI контактамиНастройка Arduino ПО
Загрузка прошивки
Google любезно предоставляет свой DemoKit скетч для Arduino. Все что нужно — это открыть его из firmware/demokit/demokit.pde , скомпилировать и залить на плату.
Тестовое Android приложение
В DemoKit пакете также находятся исходники Android приложения для демонстрации возможностей. Google предлагает нам самостоятельно создать Android проект и собрать это приложение. Для начала нам надо будет установить API Level 10. Дальше все просто — создаем Android проект и указываем путь к папке app , в Build Target указываем Google APIs (Platform 2.3.3, API Level 10). Собираем приложение и устанавливаем на телефон. Кто не хочет возится со сборкой — может скачать готовый APK.
Запуск
Просто подключаем наш телефон к USB Host Shield. Если мы все сделали правильно, то на экране появится запрос запуска DemoKit приложения.
Само приложение содержит две вкладки — In (кнопки, джойстик и сенсоры) и Out (светодиоды, реле и сервоприводы).
Я решил что для демонстрации вполне достаточно пары светодиодов и кнопки. Как это все чудо работает можно пронаблюдать на видео.
Немного кода
Arduino
Android
Выводы
Открывая такие возможности Google в первую очередь конечно же рассчитывает на появление большого числа активных Android аксессуаров, но далеко не последнее место занимает тот факт, что по сути мы получаем удобное устройство для взаимодействия с различными датчиками, сенсорами и приводами. Такое устройство запросто может стать мозгом чего-то роботизированного.
Также нельзя забывать о том, что Android устройство для Arduino может выполнять роль платы расширения, в которой есть GPS, Bluetooth, WiFi, акселерометр и многое другое.
Читайте также: