Запрограммируйте arduino с помощью android устройства!

Содержание

Andro >

Связка смартфона 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), которое позволяет быстро и легко компилировать ваш код для создания файла и загружать его на плату ардуино через USB OTG.

Рейтинг на Google Play: 4.1 из 5

Количество скачиваний: более 50.000

Arduino Bluetooth Control

Приложение ABC – это простое приложение, которое предназначено для того, чтобы контролировать контакты Arduino, и иметь доступ основным функциям управления. Arduino Bluetooth Control используется для управления и/или мониторинга контактов Arduino через Bluetooth. Приложение является автономным, и вся инициализация выполняется из Arduino. Важно понимать, что приложение предназначено именно для контактов ардуино, а не для управления.

Работа приложения осуществляется при помощи нескольких инструментов:

  1. Metrics – этот инструмент осуществляет передачу данных с устройства ардуино, которые передают сигнал на телефон о сбоях или об изменениях значений. После того как кнопка сигнализации срабатывает, на телефон поступает уведомление о приостановки работы. Также есть функция встряхивания, при помощи которой отправлять данные путем встряхивания телефона.
  2. Кнопки со стрелками – здесь работа осуществляется кнопками, которые полностью регулируют отправку данных на плату.
  3. Терминал – стандартный терминал, получающий и отправляющий данные на плату с отметками времени.
  4. Кнопки – в горизонтальной ориентации доступно 6 полностью функционированных кнопок для отправки данных на системную плату ардуино.
  5. Accelometer – используются команды при помощи жестов. Ваш смартфон может стать рулем для управления вашим роботом.
  6. Голосовое управление – если вы когда-либо хотели пообщаться с роботами, то этот инструмент для вас. При помощи голосовой связи можно создавать собственные команды и использовать их для управления ардуино.

Рейтинг на Google Play: 4.2 из 5

Количество скачиваний: более 50.000

Arduino Bluetooth Controller

Arduino Bluetooth Controller – это простое и интуитивно понятное приложение для управления arduino через bluetooth с android. Работа приложения осуществляется в 4-х различных режимах:

  1. Режим контроллера: здесь приложение осуществляет демонстрацию интерфейса в виде игрового контроллера. Управление робота осуществляется при помощи экранных кнопок, что упрощает работу с ардуино.
  2. Режим переключения: переключение осуществляется при помощи одной кнопки, которая предназначена для удаленного доступа к переключателю.
  3. Режим диммера: в этом режиме доступна функция отправления значения в Arduino, которая позволяет удаленно регулировать яркость или скорость.
  4. Режим терминала: возможность отправлять индивидуальные команды для декодирования команд в самом ардуино.

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

Arduino был запрограммирован на список распознаваемых команд, таких как «Вперед», «Назад», «Влево», «Вправо» и «Стоп». Важно знать, что ультразвуковой датчик отправляет расстояние до ближайшего объекта в Arduino, а затем отправляет его в приложение с помощью модуля Bluetooth HC-05.

Рейтинг на Google Play: 4.4 из 5

Количество скачиваний: более 10.000

RemoteXY: Arduino Control

Осуществление управления это ардуино адроид приложения проходит через Bluetooth, Wi-Fi или интернет. Приложение позволяет пользователю сделать свой индивидуальный графический интерфейс, посетив его сайт http://remotexy.com. Удобное создание кнопок, переключателей и полная регулировка ардуино не даст отойти ни на шаг. Также доступно подключение через облачный сервер, что дает преимущество перед другими приложениями.

Рейтинг на 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.

Запрограммируйте Arduino с помощью Andro >

В данном проекте я хочу показать, как залить скетч в Arduino с помощью обычного устройства на базе операционной системы Android. Это устройство может быть полезно для стационарно установленных плат Arduino, например, таких, как контроллеры освещения.

Шаг 1: Материалы и инструменты

Кабель USB-A – USB-B
Кабель USB-Host (OTG-кабель)
Arduino
1 светодиод (для тестирования)
Android устройство, версия ОС Android 4.0.0+ (или c поддержкой режима host)

ArduinoDroid или ArduinoCommander, которые можно загрузить из магазина Google Play

Шаг 2: Кабель USB-Host

Кабель USB-Host в основном аналогичен кабелю USB, но в разъеме micro USB установлены другие резисторы. Внутренние резисторы позволяют Android устройству активировать режим USB-Host. В этом режиме вы также можете использовать USB-флешки или другие устройства с поддержкой usb интерфейса. Это очень полезная функция, и теперь можно подключать даже usb-принтер.

Проблема состоит в том, что после подключения USB устройства, оно будет получать питание от ведущего (host) устройства, тем самым разряжая его аккумуляторную батарею.

Шаг 3: Соединения

Этот очень простой шаг и не требует особого внимания. Просто вставьте кабель USB-A – USB-B в USB разъем типа мама Host кабеля. Затем вставьте USB-B разъем в Arduino, а Micro USB в Android устройство.

Шаг 4: Включение Arduino

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

Читайте также:  Как рассчитать сопротивление заземления?

Шаг 5: Приложения

Теперь Arduino уже готов к загрузке кода, но ваше Android устройство пока нет.

Давайте изменим эту ситуацию!

На данный момент существует два приложения, которые позволяют работать с нашим Arduino через режим Host.

Для их загрузки перейдите на сайт Play Store, затем в строке поиска введите “Arduino”. Далее щелкните на “Apps”, после этого будут отображаться только приложения. Нам нужно два приложения: “ArduinoDroid” и “ArduinoCommander”. Установите их, затем запустите “ArduinoDroid”. Это приложение должно обновить IDE, на что понадобится некоторое время. Приложение “ArduinoCommander” потребуется далее.

Примечание: Оба приложения использовать одновременно необязательно, просто я хочу показать работу обеих!

Шаг 6: ArduinoCommander, автор программы Антон Смирнов

Ну, что ж, начнем с приложения “ArduinoCommander”. Его разработал Антон Смирнов для версии Andorid 2.2 или выше.

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

С данным приложением легко разобраться, даже если управление нестандартное. Оно автоматически определяет Arduino и функционирует очень стабильно.

Однако некоторые функции не работают. Надеюсь, в дальнейших версиях приложения эти баги будут исправлены. Загрузка скетча прошла успешно!

Ставлю данному приложению 4.0 из 5 звездочек.

Теперь давайте кратко рассмотрим подключение к Arduino.

Шаг 7: Часть 1

Сначала запустим приложение. Далее появится синее окно с 4 опциями. Поскольку нам необходимо подсоединиться через USB интерфейс, щелкните на “USB-Device” (на изображении на немецком языке).

Другие опции включают:
Ethernet
Bluetooth
USB-extras

Шаг 8: Часть 2

Теперь щелкните на “Autodetect”. Android устройство начнет автоматический поиск Arduino, затем покажет его на экране. А сейчас выберем наш Arduino (просто щелкнем на нем).

Шаг 9: Часть 3

После выполнения предыдущего шага на экране будет показан наш Arduino. Обычно он отображается в цвете, и вы можете щелкать на выводы, чтобы изменить их режим. Однако у меня выбор режимов не работал, и эту проблему у меня не получилось устранить; возможно, у вас все будет работать без сбоев. Когда вы щелкните в нижнем правом углу, то перейдете в меню, с помощью которого сможете загрузить ваши скетчи с SD-карты. Эта функция работает очень хорошо.

Шаг 10: ArduinoDroid

Теперь перейдем к рассмотрению другого приложения, которое позволяет загружать скетчи в ваш Arduino. Это приложение называется “ArduinoDroid” и работает для версии Android 4.2.2 или выше. Автор этого приложения также Антон Смирнов!

Данное приложение представляет собой среду разработки IDE, компилятор и загрузчик для Arduino. Это приложение также использует режим host для загрузки скетчей, которые можно писать прямо в приложении.

После написания кода, его можно скомпилировать, нажав кнопку “Lightning-Button”. Для компиляции потребуется некоторое время, но функция работает без сбоев.

После завершения компиляции, нажмите кнопку для загрузки (справа).

Загрузка будет длиться всего несколько секунд.

После этого мой Arduino запустит на выполнение новый код –> Он работает прекрасно!

Для тестирования я использовал “Blink” скетч.

Ниже вы можете посмотреть короткое видео компиляции в приложении и загрузки скетча

Шаг 11: Окончание!

Теперь вы сами убедились, как легко писать, компилировать и загружать скетч в Arduino с помощью Android устройств.

А теперь я хочу выразить особую БЛАГОДАРНОСТЬ Антону Смирнову, который создает такие полезные приложения для ОС Android!

Обзор приложений для удаленного управления Arduino

В данном обзоре указаны 10 распространенных приложений в управлении Ардуино с компьютера или телефона, которые легки в изучении и использовании. Arduino – это платформа, разработанная ввиду технологий современного программирования. Плата с USB разъемами для блока питания. При подключении к ПК, заряжается. Во внутренней системе есть кнопка для форматирования данных.

Главные составляющие:

  • Бредбоард – соединяет платформу с устройством.
  • Светодиод – индикатор, сигнализирует об управлении.
  • Резистор — контролирует подачу электрического тока внутри платформы.
  • Фоторезистор – реагирует на тип освещения.
  • Транзистор – усиливает электрические сигналы и используется в сложных цепях.

Это было внутреннее описание. Далее переходим к обзору самого приложения. Компанией Google был создан новый интерфейс прикладного программирования под названием Arduino. Предназначается для связи Android устройства с USB. Открывает большие возможности в создании проектов и упрощает программирование и управление с экрана мобильного телефона. Помогает управлять синхронизацией данных.

Обзор возможностей Arduino:

  • создание скетчей;
  • их редактирование, компилирование и загрузка в плате;
  • программирование и разработка кодов.

Работа производится со смартфона из любой части земного шара. В данном обзоре будут описаны программы, разработанные для удаленного пользования Ардуино, а именно Bluetooth и Wi-fi — контроллерами. Они просты в использовании и позволяют работать с любого гаджета. Проект Ардуино состоит из 3 этапов:

  • написание кода;
  • макетирование;
  • прошивка.

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

Arduino Bluetooth Controller

Эта программа работает в 3 основных положениях:

Контроллер. Приложение демонстрируется в облике play идентификатора и управляется кнопками переключения. Работает одной клавишей, основная функция которой – дистанционное управление.

Диммер. На расстоянии регулирует настройки яркости и скорости.

Терминал. Осуществление отправления директива для дешифрирования.

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

ArduinoDroid — Arduino IDE

Используется программистами как средство редактирования кодов и создания программ. Особенность – написанный скетч превращается в СС+, компилируется и грузится в Arduino. Отлично подходит для работы новичков в этой области. Приложением можно пользоваться бесплатно и в открытом доступе.

Первым шагом в использовании будет заливка скетча на микроконтроллер. Далее нажав кнопку «Загрузить» необходимо дождаться окончания загрузки. Мигающий светодиод означает, что все было сделано правильно. Все готово к написанию и использованию прошивок.

ArduinoDroid – легкий в использовании софт. Проводит редактирование, компилирование и загрузку кодов в плату с мобильного устройства или планшета. Так же рекомендуется проводить редактирование шифра или заливать готовый, если программа забанена..

RemoteXY: Arduino Control

Данная программа управления Ардуино, позволяет создать персональную панель. Дистанционное управление происходит через:

  • Инет;
  • Вай-Фай;
  • Ик-порт;
  • Блютуз.

На странице http://remotexy.com можно найти и скачать много интересных инструкций. К примеру, как создавать оригинальные клавиши и переключатели. Функционал адаптирован под новичка и не создаст проблем в использовании.

Управление ардуино с компьютера, а именно RemoteXY, возможно через облако. Это превозносит его перед аналогичными русскими софтами Arduino.

Приложение Blynk

Этакий разработчик идей, имеющий открытый вход к запуску на платформе Ардуино. Главное требование в использовании – наличие интернета: Wi-Fi или мобильный трафик. Только в этом случае Blynk будет готов к выполнению. Начать использование можно спустя несколько минут, после окончания настроек. Программой поддерживается АО по выбору пользователя.

Основные функции приложения Blynk заключаются в управлении устройствами при помощи удаления и добавления протоколов HTTP, а также запросов GET и POST. Значения параметров можно обновлять и получать. Запросы обновляются в самом приложении.

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

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

Bluino Loader – Arduino IDE

ПО для компиляции кода в файл и загрузки его на платформу Ардуино через смартфон и USB OTG. Громоздкие кнопки и запутанные провода значительно усложняют работу над проектами. Для упрощенного контроля удаленным администрированием предоставляется графический идентификатор Bluino Loader IDE. Разрабатывает проекты, доступные триггеру. Подключается к всемирной паутине с помощью: Wi-Fi, Ethernet или через накопитель ESP8266. Когда необходимые процедуры будут выполнены и произойдет начало работы, приложение даст сигнал.

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

Arduino Bluetooth Control

Сокращенное название — ABC. Управляет и контролирует основные возможности API. Используется в мониторинге контактов через Bluetooth. Работает в автономном режиме. Приобщение к работе производит строго из Ардуино.

Инструменты, используемые в процессе:

  • Metrics – передает показатели о сбоях и изменениях. Те, свою очередь, приходят на телефон в виде сообщения об остановке работы. Это подобие функции, где встряхнув гаджет можно отправить данные.
  • Клавиши с указателями – служат для отправки информации.
  • Терминал – варьирует информацией с временными показателями по назначению.
  • Accelerometer – управление жестами. Смартфон превращается в механизм для регулирования машины.
  • Голос – создает речевые команды. Доступно голосовое общение с роботом.
  • Кнопки – функционируют 6 штук в горизонтальном положении. Используются для доставки информации на Arduino.

Управление проектами в дистанционном и удаленном виде стало частой необходимостью. ABC подходит для этих целей на 100%. UART (Serial) предназначается для беспроводного соединения Ардуино и PC. Данное подключение не нуждается в библиотеках и схемах.

BT Voice Control for Arduino

Главное предназначение данного софта – передача ультразвуковых сигналов сквозь преобразователи. Они соединены с платформой Arduino андроид благодаря Bluetooth порту. Главный модуль в работе — HC-05. Он передает интервал между объектами. Данные отображаются в смартфоне и на Hub диске портала, через это приложение.

BT Voice Control – это голосовое управление Ардуино. Владеет функцией распознавания команд: forward, back, left, right. Чувствительные датчики переадресовывают расстояние в объект Arduino. Далее при помощи модуля Bluetooth HC-05 направляет его в приложение. Программа сэкономит время, тратящееся на набор команд вручную.

Virtuino

Программа для Андроид, предназначенная для мониторинга сенсора. Управляет электро устройствами через Bluetooth, Wi-Fi или Интернет.

Читайте также:  Соединение интернет кабеля со штекером по цветам

При помощи Виртуино создаются:

Приложение способно совмещать несколько проектов в один. Управляет отличными платформами единовременно через Bluetooth и Wi-fi. Бесплатно в использовании. Относится к подкатегории System Maintenance. Есть возможность проектировать внутреннее оформление с разной визуализацией.

К ним относятся:

  • светодиоды;
  • переключатели;
  • диаграммы;
  • счетчики;
  • аналоговые приборы.

Обучаться Virtuino можно по учебным пособиям и видео урокам с библиотечной поддержкой. Пока приложение работает в режиме английского языка.

Bluetooth Controller 8 Lamp

Платформа Arduino была создана в 2003 году. Всеобщего внимания она достигла, благодаря низкой цене, а также многомилионному сообществу, направленного на углубленное изучение программирования. Микропроцессоры и микроконтроллеры поставляются с платами. Самыми популярными считаются Arduino. Итальянские модели имеет много функций по расширению и исследованию встроенных Pro систем.

Bluetooth Controller 8 Lamp создан для регулировки функций Ардуино 8 канальным контроллером. Работает при помощи модулей Bluetooth HC-05, HC-06 и HC-07. 8 кнопочный интерфейс соответствует каждой лампочке.

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

IoT Wi-Fi контроллер

Интерфейс этого приложения показывает все операции ввода и вывода на Ардуино. Переключение GPIO и показания АЦП управляют гаджетом в реальном времени.

Добавить WI-Fi к устройствам возможно с помощью IoT контроллера. Он имеет 8-битный микроконтроллер и IMU (Inertial Measurement Unit). Соединение защищено однокристальным крипто-ускорителем ECC 608.

Уникальный интерфейс IoT Wifi Controller отображает контакты в реальном времени с подробной информацией, благодаря уровню GPIO. Показатели ADC также можно подключать к плате с помощью телефона (Айфона) или маршрутизатора.

Не реализованные функции:

  • расширенная подсветка анаграмм;
  • автозаполнение;
  • руководства для объединения других приложений.

Базы Uno R3 и FTDI в данное время поддерживают рабочее состояние платы Arduino. В процессе находится разработка Mega, Due и Nano. Используемые в обучении платы Arduino — USB кабель OTG не влетит в копеечку. Стоимость до 2 долларов.

Программа «умный дом» работает при помощи платформы Arduino. В данном случае используется данный андроид и сама платформа. Для работы совместили домашние и веб серверы. Результат превзошел ожидания. Теперь при помощи мобильного устройства можно управлять системой целого дома: включать и выключать свет, электрические приборы, закрывать двери, окна и другое.

В статье рассмотрены 10 обзорных приложений — для платы «Ардуино». В процессе работы и изучения не возникнет проблем с программированием Windows и в других. Затруднения решаются подключением к пинам. Те в свою очередь аппаратно запрограммированы UART. Далее используются традиционные библиотеки.

Регулирование платформы Ардуино и ее «помощников», увеличивают программирование и соприкосновение с другими устройствами. Регулировка показателей, изменение настроек, создание роботов и машин – это теперь делается, при помощи удаленного контроля и управлению. Эта самая популярная плата, используемая в программировании. Необходимые запчасти и аксессуары для работы и учебы, продаются по доступной цене в соответствующем магазине компьютерной техники.

Взаимодействие с Arduino через Andro > Добавлено 28 ноября 2016 в 02:00

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

Я использовал здесь RelativeLayout , а это означает, что каждый виджет расположен относительно виджетов вокруг него. Макет может быть легко воссоздан на вкладке Design Tab , где вы можете перетащить виджеты туда, куда хотите. Нам необходимо описать, что будет происходить при нажатии на кнопку. Для этого используется метод onClick . Укажите имя метода в XML коде для кнопки. Для этого добавьте строку:

Теперь наведите курсор мыши на эту строку, слева должно будет появиться предупреждение, похожее на это:

Предупреждение в Android Studio

Нажмите на варианте «Создать onClick. ». Это автоматически добавит код метода onClick в MainActivity.java . Вам необходимо выполнить это для каждой кнопки.

Библиотека USB Serial

Настройка последовательного соединения в Android довольно трудоемка, так как требует от вас ручной настройки множества вещей, поэтому я нашел несколько библиотек, которые делают всё это автоматически. Я протестировал несколько из них и, наконец, остановился на библиотеке UsbSerial от Github пользователя felHR85. Среди подобных библиотек, что я нашел, она единственная до сих пор обновляется. Ее довольно легко настроить и использовать. Чтобы добавить библиотеку в свой проект, скачайте последнюю версию JAR файла на Github. Поместите его в подкаталог libs в каталоге вашего проекта. Затем в файловом проводнике в Android Studio кликните правой кнопкой мыши на JAR файле и выберите « Добавить как библиотеку » ( Add as Library ). Вот и всё!

Алгоритм выполнения программы

Это краткий план того, как мы будем действовать. Каждая активность имеет метод onCreate() , который запускается при создании активности. Какой бы код вы ни хотели запустить в начале, он должен быть помещен внутрь этого метода. Обратите внимание, что чтение из устройства является асинхронным, то есть оно будет работать в фоновом режиме. Это делается для того, чтобы данные были получены как можно скорее.

Открытие соединения

Во-первых, давайте определим метод onClick для кнопки Begin . При нажатии необходимо выполнить поиск всех подключенных устройств, а затем проверить, совпадает ли VendorID подключенного устройства (ID поставщика) с VendorID Arduino. Если совпадение найдено, то у пользователя должно быть запрошено разрешение. Каждое ведомое USB устройство имеет ID поставщика (Vendor ID) и ID продукта (Product ID), которые могут быть использованы для определения того, какие драйвера должны использоваться для этого устройства. Vendor ID для любой платы Arduino равен 0x2341 или 9025.

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

Если первое условие IF выполняется, и если пользователь дал разрешение, то начать соединение с устройством, у которого Vendor ID совпадает с необходимым нам Vendor ID. Кроме того, если принято широковещательное сообщение о подключении или отключении устройства, вручную вызывать методы onClick для кнопок Start и Stop . SerialPort определяется с использованием устройства и соединения в качестве аргументов. В случае успеха открыть SerialPort и установить соответствующие параметры. Значения параметров для Arduino Uno равны: 8 бит данных, 1 стоповый бит, бита четности нет, управление потоком выключено. Скорость передачи данных может быть 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200 бит/с, но мы будем использовать стандартные 9600 бит/с.

Прием данных от устройства

Во фрагменте кода выше обратите внимание на строку, содержащую serialPort.read(mCallback) . Здесь функции read передается ссылка на объект Callback , который будет автоматически срабатывать при обнаружении входящих данных.

Полученные данные будут в форме необработанных байтов. Нам придется перекодировать их в читаемый формат, например, UTF-8. Затем они добавляются в TextView с помощью специального метода tvAppend() . Это делается так потому, что любые изменения в пользовательском интерфейсе могут выполняться только в потоке пользовательского интерфейса. Так как данный Callback будет запущен, как фоновый поток, то он не может напрямую повлиять на пользовательский интерфейс.

Передача данных на устройство

Передача данных относительно проста по сравнению с чтением данных с устройства. Это простой вызов функции с байтами данных, которые необходимо передать, в качестве аргумента. Это будет реализовано в методе onClick кнопки Send .

Закрытие соединения

Чтобы закрыть соединение, просто закройте последовательный порт.

Манифест приложения

Манифест объявляет, какие дополнительные разрешения могут потребоваться приложению. Единственное необходимое нам разрешение – это разрешение сделать телефон USB хостом. Добавьте следующую строку в манифест:

Приложение можно заставить запускаться автоматически, добавив фильтр интентов в главную активность MainActivity . Этот фильтр интентов будет срабатывать при подключении любого нового устройства. Вид устройства может быть указан явно с помощью ID поставщика (Vendor ID) и/или ID продукта (Product ID) в XML файле.

Читайте также:  Как рассчитать мощность вводного автомата?

Обратите внимание на строку ” andro >”. Она говорит компилятору, что он может найти свойства устройства в файле с именем device_filter в каталоге src/main/res/xml , поэтому создайте подкаталог ” xml ” в каталоге src/main/res и поместите в него файл со следующим содержанием:

Тестирование приложения

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

Теперь подключите Arduino к microUSB порту телефона, используя OTG кабель. Приложение должно запуститься автоматически. Попробуйте послать какой-нибудь текст, и те же данные будут возвращены обратно!

Тестирование Android приложения для взаимодействия с Arduino

Заключение

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

DIY: Робоавтомобиль под Arduino с управлением с помощью Andro >

Это простой проект робо-автомобиля, который управляется через Bluetooth. Здесь используется контроллер Arduino.

Для управления автомобилем используется Androidный гаджет со встроенным акселерометром. Наклон акселерометра вперед продвигает машину ехать вперед, наклон влево – машина поворачивает налево, наклон назад – машина едет назад. Всё предельно просто. Скорость движения или вращения зависит от того, насколько круто вы наклоните устройство. Чувствительность и значение наклона устанавливается в настройках приложения Android. Также предоставляется обычный способ управления – кнопки на экране. В дополнение ко всему можно реализовать сенсорное управление.

Шаг 1. Устройство с системой Android:

Самая важная часть проекта – Androidный гаджет с акселерометром и поддержкой Bluetooth. Это может быть планшет, смартфон и др. В качестве примера используется дешевый китайский планшет “Ainol Aurora” с внешним USB-Bluetooth модулем, потому что здесь нет собственного, подключенным через USB-хост.

Шаг 2. Самодельное автомобильное шасси:

Нам понадобится любое шасси с 2 или 4 двигателями постоянного тока. Вы можете использовать старую игрушечную машинку на пульте управления. В качестве платформы используется небольшая дистанционно управляемая база для самодельных устройств, которую можно приобрести на eBay за $ 25. Для лучшей работы устройства рекомендуется использовать колесное шасси.

1 – светодиодный Bluetooth маркер
2 – контроллер движок L289N
3 – двигатель переменного тока
4 – модуль Bluetooth
5 – литиево-полимерный аккумулятор
6 – контроллер Arduino
7 – выключатель для контроллера
8 – выключатель для двигателя.

Шаг 3. Контроллер (блок микропрограммного управления):

Для этого проекта нужен Arduino-совместимый контроллер. Контроллер должен поддерживать 2 PWM и UART.

Шаг 4. Модуль Bluetooth:

В качестве модуля Bluetooth используется дешевый китайский модуль HC-06 (6-8 $ на eBay). Инструкцию по подключению модуля Bluetooth для Arduino можно посмотреть здесь.
Вы можете использовать HC-05, HC-07 и другие серийные модули Bluetooth.

Шаг 5. Контроллер двигателя:

В данном примере используется L298N Dual Bridge, контроллер для двигателя постоянного тока. На eBay эта штука стоит всего 4-5 долларов.

Шаг 6. Остальные детали:

1 – термоусадочные трубки
2 – переключатель
3 – проводки
4 – держатель для батарей

Шаг 7. Теоретическая часть:

Все расчеты производятся в Android-приложении, и сразу же вычисляют значения 2‹2‹ PWM (широтно-импульсная модуляция) для левого и правого двигателя. Приложение имеет гибкие настройки, такие как диапазон PWM, чувствительность наклона, минимальный порог для PWM и другие.
Примеры команд, передаваемых через Bluetooth, следующие:
L-255rR-120r
L – команда для левого двигателя
R – для правого
Прочерк означает вращения двигателя
255 – PWM значение (для Arduino это максимальная скорость вращения)
r – конец команды.
Заданная команда будет двигать автомобиль вперед и слегка наклонять вправо, а правый двигатель будет медленно поворачиваться влево.

L255rR-255r
С этой командой левый двигатель будет вращаться вперед и назад вправо, заставляя машинку вращаться вокруг своей оси против часовой стрелки.

H1r
Эта команда требует дополнительный канал, к которому можно подключить, например, свет, звук и т.д.
Символы команды L, R и H можно определить в настройках Android-приложения.

В программе управления микроблок обеспечивает таймер, который выключает двигатель, если последняя команда продлилась больше нескольких секунд. Данные хранятся в памяти контроллера EEPROM и могут быть изменены с устройством Android. Диапазон этого параметра составляет от 0,1 секунд до 99,9 секунд. Эта установка может быть отключена. Для работы с EEPROM предоставляются команды: Fr – чтение значений 2‹2‹ и Fw – рекордные значения.

На картинке представлена блок-схема устройства:

Шаг 8. Приложение Android:

Согласно данной картинке мы видим, что Arduino подключается к модулю Bluetooth и контроллеру двигателя с двумя или четырьмя подключенными двигателями.

Приложение для Android было написано в Eclipse IDE. Все источники и сам проект Eclipse вы можете скачать ниже. Android версия на устройстве должна быть продвинутей, чем 3.0.
Приложение содержит несколько особенностей. Основной особенностью является начальный экран с кнопками запуска различных режимов работы и параметров.
Есть 3 режима управления Bluetooth-машинкой: от акселерометра, экранных кнопок и сенсорного управления.

Настройки приложения Android:
Настройки приложения CxemCar Android версии 1.0 изображены на рисунке.
МАС-адрес
Чтобы установить соединение с Bluetooth-модулем автомобиля, вы должны установить MAC-адрес в настройках приложения. Но для этого, во-первых, необходимо настроить пару устройств на Androidном гаджете: откройте Настройки -> Bluetooth и нажмите “Search for devices (поиск устройств)”. Когда гаджет находит ваш Bluetooth-модуль, нажмите на него и введите пароль для подключения (как правило, “1234”).
Узнать MAC-адрес модуля Bluetooth можно из любого приложения, такого как Bluetooth Terminal. Для этого нажмите “Подключить устройство – Безопасность” и в появившемся окне нажмите кнопку “Поиск устройств”. Программное обеспечение будет сканировать Bluetooth устройства и выводить их MAC-адреса.

Шаг 9. Соединения проводками машинки и Arduino контроллера:

В схеме используются перемычки (на рисунке Jmp1), потому что с подключенным модулем Bluetooth невозможно загрузить схему Arduino.

Припаяйте Bluetooth-модуль к контроллеру Arduino и проведите индикатор состояния. Модуль HC-06 должен быть помещен в термоусадочную трубку 10 мм. Светодиодный маркер Bluetooth с ограничительным резистором также нужно поместить в термоусадочную трубку.

В макетной платформе просверлите отверстия и поместите L298N двигатель. Arduino плата крепится с помощью двухсторонней липкой ленты.

Между платформой автомобиля и макетом поместите 3 Li-Po батарейки по 3,7 В емкостью 1100 мАч. Подключите контроллер и двигатели по отдельности: Arduino питается от одной батареи 3,7 В, а двигатели и контролеры двигателей L298N – от двух батарей 3,7 В, соединенных последовательно. Есть две позиции переключателя питания – первая позиция обеспечивает питание от батарей для потребителей, а другая – заряжает терминалы.

Между контактами BT RX (2) и Arduino TX может потребоваться сдвиг уровней. Для этого вы можете использовать делитель напряжения: расчет 5V до 3,3.

1 – светодиод и резистор
2 – Arduino Nano v3
3 – модуль Bluetooth НС-06

Шаг 10. Исходный код:

Для Arduino IDE 1.01 была написанная следующая программа, включая EEPROM:

#define D1 2 // direction of motor rotation 1
#define M1 3 // PWM left motor
#define D2 4 // direction of motor rotation 2
#define M2 5 // PWM right motor
#define HORN 13 // additional channel 1
//#define autoOFF 2500 // milliseconds after which the robot stops when the connection

#define cmdL ‘L’ // UART-command for left motor
#define cmdR ‘R’ // UART-command for right motor
#define cmdH ‘H’ // UART-command for additional channel (for example Horn)
#define cmdF ‘F’ // UART-command for EEPROM operation
#define cmdr ‘r’ // UART-command for EEPROM operation (read)
#define cmdw ‘w’ // UART-command for EEPROM operation (write)

char incomingByte; // incoming data

char L_Data[4]; // array data for left motor
byte L_index = 0; // index of array L
char R_Data[4]; // array data for right motor
byte R_index = 0; // index of array R
char H_Data[1]; // array data for additional channel
byte H_index = 0; // index of array H
char F_Data[8]; // array data for EEPROM
byte F_index = 0; // index of array F
char command; // command

unsigned long currentTime, lastTimeCommand, autoOFF;

void setup() <
Serial.begin(9600); // initialization UART
pinMode(HORN, OUTPUT); // additional channel
pinMode(D1, OUTPUT); // output for motor rotation
pinMode(D2, OUTPUT); // output for motor rotation
/*EEPROM.write(0,255);
EEPROM.write(1,255);
EEPROM.write(2,255);
EEPROM.write(3,255);*/
timer_init(); // initialization software timer
>

void timer_init() <
uint8_t sw_autoOFF = EEPROM.read(0); // read EEPROM “is activated or not stopping the car when losing connection”
if(sw_autoOFF == ‘1’) < // if activated
char var_Data[3];
var_Data[0] = EEPROM.read(1);
var_Data[1] = EEPROM.read(2);
var_Data[2] = EEPROM.read(3);
autoOFF = atoi(var_Data)*100; // variable autoOFF ms
>
else if(sw_autoOFF == ‘0’) <
autoOFF = 999999;
>
else if(sw_autoOFF == 255) <
autoOFF = 2500; // if the EEPROM is blank, dafault value is 2.5 sec
>
currentTime = millis(); // read the time elapsed since application start
>

void loop() <
if (Serial.available() > 0) < // if received UART data
incomingByte = Serial.read(); // raed byte
if(incomingByte == cmdL) < // if received data for left motor L
command = cmdL; // current command
memset(L_Data,0,sizeof(L_Data)); // clear array
L_index = 0; // resetting array index
>
else if(incomingByte == cmdR) < // if received data for left motor R
command = cmdR;
memset(R_Data,0,sizeof(R_Data));
R_index = 0;
>
else if(incomingByte == cmdH) < // if received data for additional channel
command = cmdH;
memset(H_Data,0,sizeof(H_Data));
H_index = 0;
>
else if(incomingByte == cmdF) < // if received data for EEPROM op
command = cmdF;
memset(F_Data,0,sizeof(F_Data));
F_index = 0;
>
else if(incomingByte == ‘r’) command = ‘e’; // end of line
else if(incomingByte == ‘t’) command = ‘t’; // end of line for EEPROM op

void Control4WD(int mLeft, int mRight, uint8_t Horn)<

bool directionL, directionR; // direction of motor rotation L298N
byte valueL, valueR; // PWM M1, M2 (0-255)

if(mLeft > 0) <
valueL = mLeft;
directionL = 0;
>
else if(mLeft 0) <
valueR = mRight;
directionR = 0;
>
else if(mRight

Данная программа использует библиотеку для работы с EEPROM AVR-памятью. Arduino плата USART с Bluetooth модулем получает готовые данные для левого и правого двигателя. Все основные расчеты производятся в приложении Android.

Структуру проекта Eclipse вы можете увидеть на снимке.

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector