ADK (Android Open Accessory Development Kit) คือ เครื่องมือที่ใช้ในการเชื่อมต่อระหว่าง Arduino และ Android (รุ่น 2.3.4+) ทาง Google ได้เลือก Arduino ให้เป็นอุปกรณ์ที่ใช้เชื่อมต่อกับอุปกรณ์ Android ผ่านทาง USB Host เพื่อใช้ในการสั่งงานหรืออ่านค่าจาก Android ได้ ซึ่งเป็นเพิ่มขยายขีดความสามารถให้กับอุปกรณ์ทั้ง 2 ชนิดคือไมโครคอนโทรลเลอร์และมือถือหรือ Tablet ที่มี Android เป็น OS นั่นเอง
ติดตั้ง ADK Demo Kit บน Android
ใช้อุปกรณ์มือถือหรือ Tablet เพื่อเข้าไปยัง Android Market แล้วค้นหาด้วยคำว่า "ADK" จากนั้นให้ติดตั้งโปรแกรมที่ชื่อ Standard Android ADK Demo Kit หาถ้าไม่เจอแสดงว่าอุปกรณ์ของเราไม่สนับสนุนโปรแกรมที่มีอยู่ใน Market เช่นใช้ Android รุ่นที่ต่ำกว่า 2.3.4 หรืออาจเป็นรุ่น 4.0 ซึ่งปัจจุบันยังไม่มีคนทำออกมาให้ดาวโหลดใน Market
โปรแกรมบน Arduino ADK
ขอให้เปิดโปรแกรม Arduino (ขอให้ใช้ รุ่น 0023 นะครับ อย่าใช้รุ่น 1.0 เพราะอาจใช้งานไม่ได้) ขึ้นมาแล้วเขียนโค๊ดดังนี้
#include <Max3421e.h>
#include <Usb.h>
#include <AndroidAccessory.h>
#define LED1_RED 13 // use pin 13 to display analog value
AndroidAccessory acc("Google, Inc.",
"DemoKit",
"DemoKit Arduino Board",
"1.0",
"http://www.android.com",
"0000000012345678");
boolean flagval = true;
void setup()
{
Serial.begin(115200);
pinMode(LED1_RED, OUTPUT);
Serial.print("\r\nStart");
acc.powerOn();
}
void loop()
{
byte msg[3];
if (acc.isConnected()) {
if (flagval) {
Serial.println("Accessory connected. ");
int len = acc.read(msg, sizeof(msg), 1);
Serial.print("Message length: ");
Serial.println(len, DEC);
flagval = false;
}
int len = acc.read(msg, sizeof(msg), 1);
if (msg[0] == 0x2) {
if (msg[1] == 0x0)
analogWrite(LED1_RED, msg[2]);
}
}
delay(400);
/*
Delay time shall be long enough to make sure Android can detect USB Host.
For my HTC Desire, this value shall not less than 400 ms.
*/
}
จากนั้น Upload ไปที่บอร์ด(บอร์ดจะต้องรองรับ ADK) แล้วจะได้ผลดังวิดิโอ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น