Help us understand the problem. What is going on with this article?

1行もコード書かずにAndroidとArduinoでADKを試す

More than 5 years have passed since last update.

USBホストシールドがAmazonから届いたので,AndroidとArduinoを繋いでADK(Accessory Development Kit)を試してみました.

最近のAndroid端末はUSB Hostを持っていてADK無しでもArduinoとシリアル通信できたりするので,あまり必要ないかも.ただ,Androidに電源を供給しつつ使えるので長時間動かせる利点はあります.(あとから気づきましたが,ドックやqiで電源供給できる端末ならUSBふさがってても大丈夫ですね...)

Arduino

USBホストシールド 2.0 for Arduino (Amazon)

ホストシールドは,2世代目の2.0のものを使います.

Arduino Leonardo (Amazon)

Unoや他のArduinoでも良いと思います.

あと,Android端末とHost Shiel間用のものと,ArduinoとPCの接続用にマイクロUSBケーブルが二本必要です.

開発環境・ライブラリ

http://www.arduino.cc/

普段はArduinoの開発環境は使わずavr-gccでやってるのですが,慣れるためにIDE使います.IDEのバージョンは1.0.6をインストール.

https://github.com/felis/USB_Host_Shield_2.0

git cloneするなり,zipをダウンロードするなりして,説明通りにArduinoのlibrariesディレクトリにUSB_Host_Shield_2.0という名前で配置.

アプリ

サンプルコードは色々公開されているので,参考にしつつ.

サンプルコードを探していると「android.hardware.usb」パッケージを使ったものと,「com.android.future.usb」パッケージを使ったものが存在しますが, com.android.future.usb の方は Android 2.3 でのAPIなので,今から使うなら android.hardware.usb の方を使うのが良いです.

とりあえず,ここではADKのデモアプリがPlayストアにあるのでAndroid端末にインストールします.

https://play.google.com/store/apps/details?id=com.diyphonegadgets.DemoKit

動かしてみる

ArduinoにUSB Host Shieldシールドをつなぎます.

IDEで「ツール」→「マイコンボード」でArduino Leonardoを選択.USB_Host_Shield_2.0のサンプルに, adk/demokit_20/demokit_20.ino があるので,とりあえずこれを書き込みます.

書き込んだあと,Android端末にUSBケーブルで接続すると,アプリからUSBアクセサリに接続を確認するダイアログが出るので「OK」を押すと,DemoKitのアプリが立ち上がるはずです.

demokit_20.ino のサンプルは,DemoKitのアプリから送られてくるデータのうちLED1のREDの値をpin3に出力しているようなので,適当なLEDをつなげば,アプリ上でバーを動かすとLEDの明るさが変わると思います.

LEDを繋ぐのすら面倒だという場合は,

#define  LED1_RED       13

として,Arduino Leonardoの基板上に載っているLEDにするのが良いです.(1行書いてしまった…)

Android と Arduino,構成文字が似ていて何度も書いていると???ってなります.

binzume
Androidアプリを開発したり,Erlangで動画配信システムを開発したりする仕事をしていました.今はUnityでゲームを作る仕事をしています.
http://www.binzume.net/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした