Como escrevo um esboço do Arduino e um aplicativo Android para conversar entre si através de um cabo USB padrão?

9

Como escrevo um esboço do Arduino e um aplicativo Android para conversar entre si através de um cabo USB padrão?

David Cary
fonte
Você pode usar uma das muitas interfaces USB
TheDoctor

Respostas:

6

Os dispositivos Android geralmente não têm um host USB: eles esperam estar conectados a algum dispositivo mais inteligente como o seu computador. O mesmo acontece com o Arduino. Por esse motivo, o Arduino criou o Mega ADK (que significa Kit de Desenvolvimento de Acessórios ).

Mega ADK e Due atuam como hosts USB e podem ser conectados diretamente ao seu telefone Android. Se você já possui uma placa, outra opção é obter um escudo de host USB para adicionar recursos de host USB.

Seu esboço informará ao telefone que tipo de aplicativo acessório é e seu telefone fará o download do aplicativo apropriado na loja.

Há um livro sobre como conectar o Arduino ao Android .

Federico Fissore
fonte
Existem conversores de mini USB para host USB-A.
apnorton
@ anorton Sim: esses são cabos OTG ... veja meu post.
Anonymous Penguin
A premissa dessa resposta estava desatualizada anos antes de ser publicada - a maioria dos dispositivos Android contemporâneos deveria ter suporte a host USB, embora existam casos em que algumas peculiaridades do design o deixam quebrado.
22430 Chris Stratton #
3

Você nunca mencionou o modelo do seu tablet ... ou o modelo do Arduino

Existem alguns tablets projetados para funcionar com unidades flash USB e impressoras. Isso é chamado OTG (em movimento.

Você precisa:

  • Um tablet compatível com OTG
  • Um adaptador OTG que se encaixa no slot USB do seu tablet e é compatível
  • O aplicativo Arduino Uno Communicator
  • Arduino Uno (ou clone) [Nota: Ele diz que funciona com o Atmega16U2 ou o Atmega8U2 programado como um conversor USB-para-serial, então eu suponho que isso cobriria algumas placas a mais do que o Uno.)

Outra alternativa é procurar o Bluetooth (Nota: escolhi um link aleatório, mas existem centenas de adaptadores BT semelhantes)

Pinguim anônimo
fonte
Observe que o modo host USB padrão do Android não oferece suporte a unidades flash com nenhuma funcionalidade do sistema operacional (embora algumas construtoras ofereçam) - em vez disso, expõe uma API de host USB bastante bruta ao código do aplicativo.
22830 Chris Stratton #
2

O protocolo USB exige que uma extremidade seja um "host" e a outra extremidade seja "periférica" ​​e não funcionará se os dispositivos nas duas extremidades do cabo forem "periféricos". Infelizmente, a maioria dos Arduinos e muitos dos primeiros dispositivos Android são "periféricos", portanto, a conexão desses dispositivos com um cabo USB padrão não funciona.

Alguns dispositivos Android modernos suportam "OTG", portanto, em teoria, é possível tornar o terminal Android do cabo o "host". Alguém conseguiu fazer isso funcionar?

Outra abordagem é tornar a extremidade do cabo do Arduino o "host" e a extremidade do cabo do Android o "periférico". Essa é a abordagem adotada por

  • Microbridge (a) (b)
  • A placa IOIO (a) (b)
  • O Kit de Desenvolvimento de Acessórios Android (ADK) (a) (b) (c)

(O Amarino (a) e o Cellbots (a) (b) adotam outra abordagem completamente diferente).

David Cary
fonte
1

O processamento é um ótimo local para começar a comunicação entre dispositivos.

A interface e o idioma são muito semelhantes ao Arduino e há muitos exemplos para você começar.

http://playground.arduino.cc/Interfacing/Processing

80HD
fonte
2
Isso funciona no Android?
Pinguim Anónimo
@AnnonomusPerson Sim, processando para android #
Faux_Clef
@Faux_Clef Hmm não sabia disso. Ainda não sei se é o melhor para Android, o link que você postou não parecia muito estável ... Sei que o processamento tem suporte a USB, mas não sei se você pode fazer isso no Android ...
Anonymous Penguin