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


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 .


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)


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).


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


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.