Android + Arduino - дружба не удалась. Помощь будет полезна

В догонку к этому посту: http://pikabu.ru/story/pomoshch_po_android_usb_otg_4992692


Сказано-сделано, купил Arduino Uno, USB Host Shield 2.0 и тут начались танцы с бубном.

Оказывается, даже в гуголском демо для ардуино ошибок дохрена и чуть больше.

Сперва начинает звать WProgram.h, который оказалось, что уже давно переименован на Arduino.h, потом еще 5-6 библиотек полетело, в конечном итоге я тупо забил на примере от гугла, нашел другой пример, скомпилировал, запустил свой апп на андроиде, поставил отправлять 3 при правильном результате в апп-е и о чудо, на принте ардуино пришла троечка. Все замечательно, настроили что троечка, подача напряжения 5В на 15 сек, все зашибись, радости полные штаны. Подключил электронику, пробую - все работает.

Даже не верилось, что все так легко. И конечно оно не так легко.


Выключил планшет, выключил ардуино, отсоединил ардуино от планшета. Включил планшет, включил ардуино, втыкаю провод в USB планшета и привет. Нет никого. Планшет и Ардино не видят друг друга. Опять выключаю все, подключил - глухо. Перезагрузил ардино с кнопки - нет. И так полтора часа, уже почти был уверен что USB Host Shield полетел и о чудо они подключились.


Опытным путем установил когда они подключаются:

Подключаем питание к Ардуино, подключаем ардуино к компьютеру, подключаем к планшету, перезагружаем ардуино кнопкой, вытаскиваем USB с планшета, перезагружаем кнопкой Ардуино, подключаем к планшету, видим Connected as media device на планшете, перезагружаем опять ардуино с кнопки и видим Connected as media device, Debugging mode, Connected as Accessories - ура, все работает. Если отсоединить провод от планшета - всю процедуру заново.


Все что вижу на Ардуино когда зависает: OSCOKIRQ failed to assert

Тоже самое происходит если пользовать другой Андроид дивайс, пробовал на Нексусе 4 и Леново К1

Андроид планшета - 4.2.1


Так вот вопрос - почему только после танцев с бубном ардуино и планшет(андроид) начинают видеть друг друга? Процедура которую описал выше срабатывает каждый раз, а связь между ними ломается при отключение ардуино/андроид или при отключении вместе. Связь пропадает, если их тупо отключить от питания, но не отсоединять.


Вариант в котором надо повторять такую процедуру каждый раз неприемлем.


Комментарии для минусов внутри.

Голова горит у меня, так что тек мое.

Arduino & Pi

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

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

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

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

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

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

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

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

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

Автор поста оценил этот комментарий

Скажите, а не подключали к Ардуино usb мышку с кнопкой для изменения разрешения, как работать с такой мышкой?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Никогда, только к рапсу и оранджу, но там все просто. Нет мануала нигде?

показать ответы
Автор поста оценил этот комментарий
так как там промежуточные итоги?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Решил не мучать себя, сделал в приложении на планшете, чтоб когда головоломка решена кидало звуковой сигнал и обрабатываю его на аналоговом входе ардуино. Вроде работает, но завтра буду тестить все и потом запилю отдельный пост про все. Много чего интересного и нового для меня открылось во время работы с этим проектом.
показать ответы
Автор поста оценил этот комментарий
Парерь хочет исходник в студию)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Залил сюда: http://стража.com/arduino/ - страница моя, не реклама, просто с телефона проще никак.

показать ответы
Автор поста оценил этот комментарий

А если не получится - то можно и не батарейку...


(сорян за оффтоп, я никогда надолго планшет в ардуино воткнутым не оставлял, поэтому и помочь особо ничем не могу)

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий

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

показать ответы
Автор поста оценил этот комментарий
скетч не?
раскрыть ветку (1)
Автор поста оценил этот комментарий

не понял. Прости, реально торможу сейчас, всю ночь танцевал вокруг них.

показать ответы
Автор поста оценил этот комментарий
питание попробуй поднять выше 7 вольт
раскрыть ветку (1)
Автор поста оценил этот комментарий

Ардуино и так на 9в адапторе висит, 1А, думаю для него более чем достаточно, да и вроде когда через OTG - дивай не долен уметь зарежаться. Типо нет варианта зарядки через OTG.

Автор поста оценил этот комментарий

вот здесь почитай. пишут, что напряжение питания нужно повышать. http://forum.arduino.cc/index.php?topic=107628.0

и с задержкой поиграй, может в настройках adk не хватает времени для инициализации (на другом форуме видел) http://mitchtech.net/android-arduino-usb-host-simple-digital...

раскрыть ветку (1)
Автор поста оценил этот комментарий

Вроде с питанием все окей, буду тестить и второй вариант.

показать ответы
Автор поста оценил этот комментарий
а попробуй выбрать в настройках подключения усб планшета - режим отладки.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Оно так и есть - debugging mode и есть режим отладки, когда идет правильное подключение, то на экране планшета идет - Connecting as media device, debugging mode, connected as accessories.

Автор поста оценил этот комментарий
Нексусе 4 и Леново К1 тоже планшеты?
раскрыть ветку (1)
Автор поста оценил этот комментарий

K1 планшет, а на нексусе 4-ке батарейка довольно сложно снимаеться, надо разбирать телефон, типо не галакси 5 - снял крышку и ура.

показать ответы
Автор поста оценил этот комментарий
я не телепат, но ....

кто знает, как реализована инициализация после перезагрузки? ;)

попробуйте передёрнуть батарейку - что б с гарантией (батарейка из телефона) ...

раскрыть ветку (1)
Автор поста оценил этот комментарий

Планшет без съемной батареи, а открывать пока что не сильно хочу.

показать ответы
1
Автор поста оценил этот комментарий
так а что мешает подавать сигнал через звуковой разъём?
раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

Не телепат, но вангую в планшете при таком "отключении" происходит зависание usb/otg стека.

проверьте подключением к планшету какой-нить флешки/мышки етц

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну после перезагрузки планшета по сути все должно быть окей. Понимаю, если в рабочем состоянии отключил, подключил и не работае - можно грешить на usb/otg, но я отсоединяю провод, перезагружаю планшет, вроде не должно продолжать виснуть.

показать ответы
Автор поста оценил этот комментарий
Может тогда не стоит мучаться, а общаться с ардуйной через последовательный порт?)
раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

У меня пару лет назад те же танцы с бубном были. Грешил на китайцев. Для себя решил вопрос подключением ардуины к otg. Она определилась как последовательный порт и на этом проблема была исчерпана.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

показать ответы
1
Автор поста оценил этот комментарий

Каменты для минусов оставляют для поднятия темы в топ в экстренных случаях.

Тут они не нужны

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Ну они так, для тех, кто хочет поставить больше чем один минус.

показать ответы
2
Автор поста оценил этот комментарий

Для минусов 1

показать ответы
1
Автор поста оценил этот комментарий

Два