Android + Arduino - любви быть

Продолжение постов:

http://pikabu.ru/story/pomoshch_po_android_usb_otg_4992692

http://pikabu.ru/story/android__arduino__druzhba_ne_udalas_p...


И так, после борьбы с USB Host Shield, и по вопросу одного пикабушника почему не по звуковому идет управление, я задался вопросом - А правда, почему нет?


Вот и решил опробовать получиться ли.


Данный пост будет скорее инструкцией по настройки Arduino для работы через аналоговый вход.


И так, прикинув, что горазда проще задать в приложении чтоб выплевывало звук когда головоломка решена правильно, чем отправлять какие либо команды через USB Host Shield или через Wi-Fi модуль и тд и тп. Сказано-сделано, переделал головоломки на андроиде и подключил к Arduino, запустил прослушку и запустил звук. Поймал сигнал на входе, сигнал если честно довольно слабый, если планшет не увеличен до конца, Arduino не ловит сигнал.

Написал код для Arduino, ссылку оставлю в конце.

Припаял диод 1N4007 и транзистор BC548 к реле, а так же и резистор на 9.1kОм.

Запустил приложение на андроиде, вроде все работает, Arduino ловит сигнал, открывает реле.

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

Взял зарядку USB с двумя выходами - подключил планшет и Arduino - все работает как часики. Заметил, что если вытащить жак из планшета и коснутся, то иногда срабатывает реле. Поставил еще один резистор 9.1кОм на вход. Все урегулировалось.


Если резюмировать - для моих целей, управление через аудио оказалось самым простым. Загон с USB Host Shield был просто моим личным идиотизмом и желанием чтоб все было на проводах. Как оказалось - не стоило. Вариант с Wi-Fi/Bluetooth - наверное работал бы хорошо, но для меня он бессмыслен. Спасибо пикабушнику за вопрос, даже в голову бы не пришло свести все на столь низкий уровень.


Мой совет - нет смысла лезть в USB Host Shield - это только усложняет всю конструкцию, если аналоговый вход для проекта не достаточен - wi-fi/bluetooth прекрасные варианты.


Но как всегда, не все может быть прекрасно и полностью работать. Как оказалось, после того как отключишь планшет и включишь появляется баг и баг в том, что запускаешь первое приложение - звук остаётся на максимуме, как до отключения планшета, решаешь головоломку, все окей, реле срабатывает. Запускаешь второе приложение, жмёшь на качели громкости, звук на максимуме, все в шоколаде, делаешь один клик по приложению, жмёшь на качели звука, выскакивает предупреждение, что от громкого звука оглохнешь, жмёшь окей и увеличиваешь звук, так как он оказался сбит до 2/3 силы. Данное появляется без значимости какое приложение запустишь первым, какое вторым.


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


Может кто-то знает как вылечить этот баг андроида? Андроид стоит 4.2.1

Код для Arduino: https://pastebin.com/embed_js/FerNXTfL


Две фото в состоянии паутина. Поставил Arduino питаться с планшета через USB OTG.

Android + Arduino - любви быть Arduino, Android, Длиннопост
Android + Arduino - любви быть Arduino, Android, Длиннопост
Android + Arduino - любви быть Arduino, Android, Длиннопост

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу