Arduino Uno、Harpy 用の DemoKit
DemoKit は Google がADK の発表の際に公開した、サンプルプログラムです。
オフィシャルサイトよりダウンロードできます。
app: Android 用コード
firmware: Arduino 用コード
hardware: ボードの設計ファイル が入っています。
残念なことに、リリース後1年が経過しましたが、その間1度もバージョンアップがありませんでした。
Android 用のコードは現在の開発環境(Eclipse) でも問題なくビルドできます。
Arduino 用のコードは、現在のバージョン(Arduino IDE 1.0)では問題があるため、ライブラリを yaoadk で置き換えます。
Google のDemoKit ボード (およびRT-ADK/RT-ADS) は多数のセンサーを搭載しています。
Android 用のプログラムは、それに対応して、センサーの値を表示したり、リレーやサーボを動かすといった機能をもっています。Google のリファレンスボードは Arduino MEGA 2560 (ATmega2560) をベースにしているため、ピンの割り当てが Arduino Uno やHarpy (ATmega328p) と異なります。(ピン数がまったく違うので完全互換にはなりません)
ここではセンサー類を省略し、Arduino Uno または Harpyで使える簡易版のDemoKit を紹介します。
Android 用のプログラムは、Google が公開しているものを、そのままを使うことができます。
(こちらのサイトでコンパイル手順とコンパイル済みのDemoKit.apk が公開されています。)
1) それぞれの手順を参照して、yaoadk ライブラリの導入、ボードの選択を行ないます
2) Arduino IDE で新しいウィンドウを開き、リンク先のコードをコピー&ペーストで貼付けます
DemoKit_for_Uno.txt
3) プログラムをコンパイルして、ボードに転送します
左上のチェックマークが「ベリファイ(ビルド)」、その隣の左矢印が「アップロード(ビルドと実行)」になります。アップロードの際に、毎回ビルドされます。
Arduino IDE 0023 以前は左端の再生ボタンが「ベリファイ(ビルド)」、左から6個目の左矢印が「アップロード(ビルドはしない)」になります。アップロード前にかならずベリファイ(ビルド)が必要です。
下の黒い部分に赤字のエラーが出ず、その上の部分に「Done Uploading」がでれば書き込み完了です。
これでAndroid、Arduino ともに準備ができました。
それぞれをUSB ケーブルで接続し、Arduino ボードの電源を入れます。(Android から給電することはできません。外部電源が必要です。)
DemoKit を起動するダイアログがでれば成功です。
Demokit_for_Uno を使った場合は、ディジタル入力 4つ*1、アナログ入力 2つ*2、ディジタル出力 2つ、アナログ出力(PWM) 3つが有効になっています。
Android 用のDemoKit との対応は図のようになります。
たとえば、Arduino のD2 にLED をつけ、Relay1 のボタンでOn/Off する、といった使い方ができます。
*1 ディジタル入力は内蔵プルアップ抵抗が有効になっています。プッシュスイッチなどをGND につなぐだけで使えます。
*2 アナログ入力は、温度センサー、明るさセンサーとして表示されますが、校正されたセンサーを繋いないので、表示はでたらめです。