Arduino UNO + USB Hostシールドの組み合わせでADK接続を行います。
LEDを4番ピンに接続して光らせてみたいと思います。
8. Arduinoスケッチの作成
8.1. Arduinoを起動させてください。メニューから「Sketch」ー「Import Library」を選び、「AndroidAccesory」と「USB_Host_Shield」があるかを確認します。
2つのライブラリが無い場合は、うまく「Verify」(コンパイル)ができません。
さらにArduino UNO + USB Hostシールドの場合、「USB_Host_Shield」ライブラリは以下のサイトから入手しておく必要があります。
github felis / USB_Host_Shield_2.0
8.2. Arduinoスケッチを作成します。以下のソースコードを貼付けてください。
#include <Max3421e.h>
#include <Usb.h>
#include <Wire.h>
#include <AndroidAccessory.h>
#define LED 4
AndroidAccessory acc("yokorobo",
"AdkLed",
"AdkLed - Arduino USB Host",
"1.0",
"http://www.android.com",
"0000000012345678");
void setup()
{
Serial.begin(115200);
Serial.print("\r\nStart");
// 4番ピン の DIGITAL を LED 用の出力にする
pinMode(LED, OUTPUT);
//Androidを起動/接続する命令を送る
acc.powerOn();
}
void loop()
{
byte msg[2];
byte led;
if (acc.isConnected()) {
int len = acc.read(msg, sizeof(msg), 1);
if (len > 0) {
if (msg[0] == 0x1) {
if(msg[1] == 0x1) {
digitalWrite(LED, HIGH);
msg[0] = 0x1;
msg[1] = 0x1;
acc.write(msg, 2);
}
else {
digitalWrite(LED, LOW);
msg[0] = 0x1;
msg[1] = 0x2;
acc.write(msg, 2);
}
}
}
}
else {
digitalWrite(LED, LOW);
}
delay(10);
}
上記スケッチを書き終えたら、Verifyを行います。Verifyする前に、ボードの確認を行います。
8.3.「Tools」ー「Board」を選んで、「Arduino Uno」にチェックが入っているか、確認します。
8.4. 「Verify」ボタンをクリックし、コンパイルします。
8.5. 「Compile compiling.」と出たら、「Upload」ボタンで繋いでおいたArduino Unoにスケッチをアップロードします。
「Done uploading.」が出たらアップロードが完了しました。
以上で、一通りArduino側のプログラムができました。
0 件のコメント:
コメントを投稿