วันจันทร์ที่ 20 สิงหาคม พ.ศ. 2555

Android Voltmeter Ampmeter


-->
Android Voltmeter Ampmeter
( เครื่องวัดแรงดัน และ กระแส ด้วย Android + ioio Board )

This project can measure Voltage and Current with Android Mobile phone and IOIO Board.

IOIO Board Support with Data link cable and Bluetooth dongle.

Feature

  • Voltmeter 0 - 30 V. DC
  • Ampmeter 0 - 3 A.


Hardware Interface
1.IOIO Board
2.Volt Amp meter circuit ( DIY )

IOIO Board

Volt Amp Meter Circuit

Circuit Component
C1,C2  C0.1uF ceramic or mira 
R1  47K 1/4W 1%
R2 33K 1/4W 1%
R3 VR50K
R4 0.47 Ohm 5W.
R5 1K 1/4W 1%
J1-J6 Connector
IOIO Board
Bluetooth Dongle ( Option for IOIO Board -Bluetooth connection )



Wiring Diagram


Connect to the IOIO Board
Voltmeter circuit connect to IOIO Board PIN 40 
Amp meter circuit connect to IOIO Board PIN 41



Android Volt Amp Meter Application






Application Feature
  • Display Voltage and Ampere in number and graph
  •  Save data ( volt and amp ) to Log file in SD Card ( file LogYY-MM-DD-hh-mm.txt )





Download Android Application on Google Play




More info
IOIO Board over Bluetooth
IOIO Bluetooth Control Devices
IOIO RC Control




สอนเขียน Android  สอนเขียนโปรแกรม Android แบบ Online

รับสอนเขียนโปรแกรม Android App สอนแบบ online สอนสด ตัวต่อตัว หรือ เป็นกลุ่ม ได้ทั่วประเทศ กำหนดเวลาเรียนได้
การเรียน Android App แบบ online สามารถกำหนดเวลาเรียน เองได้ ตามแต่ตกลงกัน
( รับสอน นอกสถานที่ แบบเป็น กลุ่ม ทั่วประเทศ )

แต่ละ Course ขึ้นอยู่กับพื้นฐานที่มี นะครับ

Course
1.JAVA Programming สำหรับผู้ที่ยังไม่มีพื้นฐานทางด้าน การเขียนโปรแกรม JAVA
เรียน 3-4 ครั้ง ครั้งละ 2 ชั่วโมง  

2.Beginning Android Development เริ่มต้นการพัฒนาด้วย Android ( ต้องมีพื้นฐาน JAVA แล้ว )
เรียน 5-6 ครั้ง ครั้งละ 2 ชั่วโมง 
เรียนจบคอร์สนี้ ก็สามารถทำ Application ได้แล้ว

3.Android Application สอนตามความต้องการในการเขียนโปรแกรม ใช้งานจริง เช่น โปรแกรมใช้งานด้านต่างๆ
ระยะเวลา และ ค่าเรียน ตามแต่ความยากง่ายของโปรแกรม ซึ่งอาจจะรวมสอน JAVA Programming ด้วยสำหรับผู้เริ่มต้นเลย
ดังนั้น ราคาสอน จะขึ้นอยู่กับ สเปคงาน

โปรแกรมที่ใช้ทำการเรียน Team Viewer  Version ล่าสุด Version 8
Meeting ID จะแจ้งให้ก่อนเรียน ผ่านทาง email sms Line หรือ อื่นๆ ตามสะดวก
ใช้ Tab Meeting ใส่ Meeting ID และใส่ชื่อ
แล้ว Join Meeting

ติดต่อ amphancm@gmail.com

วันอาทิตย์ที่ 8 กรกฎาคม พ.ศ. 2555

Android RC Control

--> Android RC control with IOIO Board
( ควบคุมรถบังคับ ด้วย Android )

Android RC App.
Android RC Application can control RC Car Toy with IOIO Board via Bluetooth connection.
It can control Forward,backward ,turn Right ,turn Left, and set control speed also. ( PWM output Control )




When open the app. if cannot connect to IOIO Board. All Button are disable.


Connect to IOIO Board already. All Button are enable to control.
When you press Forward Button Then it's change background color to Green. it's mean status direction to Forward.then press Left or Right your RC car move to forward left or forward right. In the backward ,when change to green then turn left backward or turn right backward.

RC Car Hardware and IOIO Board



Wiring Diagram
RC control circuit diagram from Pericom Technology  Part number 8A978BPE


Connect to the IOIO Board
R connect to IOIO Board PIN 34 ( with Resistor 1K ohm )
L connect to IOIO Board PIN 35 ( with Resistor 1K ohm )
FF connect to IOIO Board PIN 36 ( with Resistor 1K ohm )
BB connect to IOIO Board PIN 37 ( with Resistor 1K ohm )






Ready To Go !






Download App on Google Play Market.


More info
IOIO Board over Bluetooth
IOIO Bluetooth Control Devices

ติดต่อ amphancm@gmail.com

-->

วันเสาร์ที่ 9 มิถุนายน พ.ศ. 2555

IOIO Bluetooth Control Devices


-->

IOIO Bluetooth Control Device ( ภาษาไทย ด้านล่าง )

IOIO Bluetooth Control Device Application is to allow you to control various electrical devices up to eight devices and independently controlled.
Use Android Bluetooth mobile device to  remote control your devices with IOIO Board and Bluetooth USB Dongle.



The program features.
New Function for Version 1.5+
- Change your Button Name.


- Control up to  8 devices with Relay Board. ( and can test control LED on IOIO Board )

- Show Bluetooth Connecting status

- Run on Background Service so when goto other App,IOIO Control device App still running.


Run IOIO on Background Service ( Show Icon on Notification Bar ) . So, The App connect IOIO all the time until stop service ( Stop Function on Notification Bar  )


Freeware with AD. Design for Android version 2.3.X or more

New Function for Version 1.5+
Change your Button Name. You can edit your button name.












Hardware

1.       Bluetooth USB Dongle

2.       IOIO Board  ( new version support over Bluetooth )

3.       8 channel Output Relay Board



For the IOIO Board , you don’t need program hex code or flash code in to the IOIO Board.

It has firmware for ready to use. You are only wiring the cable to the relay board only.

Wiring Diagram
DC 5 Volt Power Supply to the IOIO Board.
PIN 1-8 on IOIO Board to 8 channel relay board.




Download App on Google Play Market




IOIO Bluetooth Control Device Application สามารถควบคุมอุปกรณ์ไฟฟ้าต่างๆได้ ถึง 8 อุปกรณ์โดย แยกควบคุมกันได้อย่างอิสระ ผ่านระบบ Bluetooth ของเครื่องโทรศัพท์มือถือ Android เป็นตัว Remote Control ไปยังอุปกรณ์ภาครับ ซึ่งใช้ IOIO Board  และ  ตัว Bluetooth


คุณสมบัติโปรแกรม

  • ควบคุมอุปกรณ์ได้ 8 อุปกรณ์ และสามารถควบคุม LED บน IOIO Board
  • แสดง สถานะการติดต่อกับ Bluetooth
  • ต้องใช้งานร่วมกับ IOIO Board


ออกแบบ ค่าเริ่มต้น สำหรับ Android version 2.3.X และ หน้าจอความละเอียด 480 x 800 ( WVGA )


อุปกรณ์ที่ใช้

1.       Bluetooth USB Dongle

2.       IOIO Board  ( new version support over bluetooth )

3.       8 channel Output Relay Board


Android Developer
 http://androiddevelopersthai.blogspot.com/

Android example code 
http://androidcodeexample.blogspot.com/




สอนเขียน Android  สอนเขียนโปรแกรม Android แบบ Online


รับสอนเขียนโปรแกรม Android App สอนแบบ online สอนสด ตัวต่อตัว หรือ เป็นกลุ่ม ได้ทั่วประเทศ กำหนดเวลาเรียนได้
การเรียน Android App แบบ online สามารถกำหนดเวลาเรียน เองได้ ตามแต่ตกลงกัน
( รับสอน นอกสถานที่ แบบเป็น กลุ่ม ทั่วประเทศ )

แต่ละ Course ขึ้นอยู่กับพื้นฐานที่มี นะครับ

Course
1.JAVA Programming สำหรับผู้ที่ยังไม่มีพื้นฐานทางด้าน การเขียนโปรแกรม JAVA
เรียน 3-4 ครั้ง ครั้งละ 2 ชั่วโมง  

2.Beginning Android Development เริ่มต้นการพัฒนาด้วย Android ( ต้องมีพื้นฐาน JAVA แล้ว )
เรียน 5-6 ครั้ง ครั้งละ 2 ชั่วโมง 
เรียนจบคอร์สนี้ ก็สามารถทำ Application ได้แล้ว

3.Android Application สอนตามความต้องการในการเขียนโปรแกรม ใช้งานจริง เช่น โปรแกรมใช้งานด้านต่างๆ
ระยะเวลา และ ค่าเรียน ตามแต่ความยากง่ายของโปรแกรม ซึ่งอาจจะรวมสอน JAVA Programming ด้วยสำหรับผู้เริ่มต้นเลย
ดังนั้น ราคาสอน จะขึ้นอยู่กับ สเปคงาน

โปรแกรมที่ใช้ทำการเรียน Team Viewer  Version ล่าสุด Version 8
Meeting ID จะแจ้งให้ก่อนเรียน ผ่านทาง email sms Line หรือ อื่นๆ ตามสะดวก
ใช้ Tab Meeting ใส่ Meeting ID และใส่ชื่อ
แล้ว Join Meeting

ติดต่อ amphancm@gmail.com

วันอังคารที่ 5 มิถุนายน พ.ศ. 2555

IOIO Board over Bluetooth

-->

IOIO Board over Bluetooth (ภาษาไทย ด้านล่าง )


IOIO Basic
With a firmware upgrade on the IOIO, it now supports connecting a standard Bluetooth dongle into its USB jack and is able to establish its connection to the Android phone wirelessly! This actually makes IOIO one of the cheapest, simplest and most powerful Bluetooth-enabled prototyping platforms out there. And some more good news: your application code stays exactly the same. That's the way it should be as far as I'm concerned. End-users should care about what they want to do with their hardware for their project, not about how the heck (or how the hack) to communicate with it. So you only need to write the application-specific code (the source code for the application demonstrated above takes less than 30 lines of Java for the IOIO-related stuff), and it seamlessly works on any kind of connection and can even switch from one to another while running. I don't know of any existing platforms that will let you do that so easily and cheaply. The closest one probably being Amarino. Keep in mind that IOIO is also capable of USB connectivity to Android of course (ADB or OpenAccessory), giving superior reliability latency and bandwidth compared to Bluetooth. You do the comparison. 

IOIO Bluetooth Development
Although I think there is some real kick-ass little revolution here, this post is going to be more of a story than my usual bunch of technical specs. I'm just in this kind of mood more than the check-out-this-awesome-stuff mood.
Back when I published my original announcement on IOIO, one of the commenters (Inopia, thanks, man!) cleverly noted that since IOIO is a USB host, using a standard Bluetooth dongle in order to make the connection wireless is just a matter of writing the right firmware. He was right! And I immediately fell in love with the idea and with the challenge it presented. I felt that from all the million features I could develop next, this one will be the real killer. Just imagine: a couple of bucks (cheapest dongle I found is $1.80 including shipping from DealExtreme) and you have yourself a whole new range of possibilities: home automation, R/C toys, and much more.

Slowly I began to realize some really cool side-effects that this will have. First, the current inability (or more precisely, complexity) to use IOIO and debug your Android at the same time would go away. Second, we're no longer limited to an Android - control IOIO from any Bluetooth-enabled device: IOIOLib is just a bunch of Java code that can easily be ported to other platforms (or rewritten if need be). Third, we're no longer limited to just one IOIO controlled by a single host application.
You get the point. I just had to do it. One problem: I don't know Jack about Bluetooth. Only know enough to know that it's definitely doable. That's where the second key actor in this story comes in. I'm digging the Web for open-source Bluetooth stack implementations. Pretty soon I come across btstack, developed by Matthias Ringwald. I also found other options, and at that point, I was not completely sure which one to choose. So I contact Matthias and I start checking out the code of several projects, and throw some of them away for lack of maintenance and others for having Spaghetti code. But btstack turns out to be just perfect. Easy to port, very clean code, doesn't use the memory heap (embedded heaven), active maintenance and great discussion and support forum. Matthias really got it right (at least my idea of getting this sort of things right). Two nights later (mostly struggling with implementing the USB driver for the dongle), and I'm able to open an end-to-end connection from my phone to the IOIO. Then a few weeks of finding these tiny, cruel bugs and getting everything nicely packaged and documented, etc.
And as I said, not a moment too soon! I got to Android Open two days after having a working demo. There I met Aaron Weiss from SparkFun face-to-face for the first time. Aaron is the engineer from SparkFun's side that worked on IOIO from day one. Meeting him and having him stand next to me while presenting was really great!
At the conference, I attended a keynote by Massimo Banzi, one of the two founders of Arduino. I really admire his work, especially after having taught a course on Arduino that enabled non-techie designers build the most awesome stuff. Quite a great keynote he gave, and a little later I've had the honor of presenting myself and inviting him to see my demo. And he came, and was so kind and positive and that really meant a lot to me.

The moment I came home after the conference I fell ill for a few days. Totally exhausted. Haven't had a decent sleep in a few weeks. I took a few days off, and then back to work: a demo is nice, but I gotta get this thing released. Fortunately, when preparing the demo I wasn't playing quick 'n' dirty. So I just needed some polish, but no throw-away code. And finally, I'm happy with it and feel confident enough releasing it. It's not perfect-perfect, as multi-device support still needs some care. But it's reliable and definitely useful as-is. I made a video explaining users how to upgrade their IOIO to the new feature, building on top of the firmware upgrade capabilities that I previously enabled. Some have already reported success.

Links
More information (and the instructional video) can be found here.
IOIO can be purchased from SparkFun (about $50) here.
The cheapest ($1.80 incl. shipping) Bluetooth dongle I found and tested is here.
Questions are happily answered on the ioio-users discussion group.

What's next?
There are several possible directions I'm considering (your comments welcome):
  • Supporting the multi-IOIO use-case properly.
  • Supporting WiFi dongle (imagine that!).
  • Releasing OpenAccessory support in non-Beta mode (now the ground is properly laid, with new bootloader and connection abstraction layers).
  • Adding long overdue features that users requested such as infrared remote control protocol, synchronous parallel I/O, quadrature encoder, PPM output, etc. 


-->
  

IOIO Board over Bluetooth (ภาษาไทย)

ด้วยอัพเกรดเฟิร์มแวร์ กับ IOIO แต่จะสนับสนุนการใช้งานผ่านบลูทูธดองเกิลมาตรฐานในช่องต่อ USB และสามารถที่จะสร้างการเชื่อมต่อกับโทรศัพท์ Android แบบไร้สาย! ที่ง่ายและมีประสิทธิภาพที่สุด ในราคาประหยัด การงานใช้ Bluetooth แพลตฟอร์มต้นแบบ ออกแบบให้ใช้ code โปรแกรมที่สามารถใช้ code เดิมได้ด้วย ส่วนมากผู้ใช้งานจะกังวลเรื่องการใช้ควบคุมและสื่อสารกับ Hardware ในงานที่ทำของเขา ส่วนการใช้งานกับ IOIO Board นั้นง่ายมากเพียงเขียนโค้ดโปรแกรมประยุกต์เฉพาะ (สำหรับแอพลิเคชันดังกล่าวในตัวอย่าง code ใช้ JAVA code น้อยกว่า 30 บรรทัดในการควบคุม IOIO ) และสามารถเลือกการเชื่อมต่ออัติโนมัติ ได้ทั้งแบบไร้สาย ( Bluetooth )และแบบใช้สาย (แบบเดิม) และยังสามารถเปลี่ยนจากแบบหนึ่งไปยังอีกแบบได้ ในขณะที่ทำงาน ผมไม่ทราบว่าของแพลตฟอร์มใดๆ ที่มีอยู่ขณะนี้ ที่จะช่วยให้คุณใช้งานได้อย่างง่ายดายและราคาประหยัดแบบนี้ ที่ใกล้เคียงอาจจะเป็น Amarino  ข้อสำคัญ IOIO ยังสามารถเชื่อมต่อ USB กับ Android ในรูปแบบ (ADB หรือ OpenAccessory) ให้ความน่าใช้งานมากขึ้นในการเชื่อมต่อกับ Bluetooth ได้ด้วย คุณลองเปรียบเทียบพิจารณาดู

ถึงแม้ว่าผมจะคิดว่า สิ่งนี้เป็นการพัฒนาเพียง เล็ก ๆ น้อย ๆ  ในข้อความตอนนี้เป็นเรื่องราวมากขึ้นเกี่ยวกับ รายละเอียดทางเทคนิคที่นอกเหนือจากข้อมูลทั่วไป  ผมชอบที่อธิบายแบบนี้มากกว่าใน แบบที่เป็นแง่เทคนิค ย้อนกลับไปในช่วงที่เผยแพร่ข้อมูล IOIO Board  ผู้แสดงความคิดเห็นคนหนึ่ง (ชื่อ Inopia ขอบคุณมาก) ได้ตั้งข้อสังเกตว่า IOIO เป็น USB Host ดังนั้นจะสามารถใช้ ใช้บลูทูธดองเกิลมาตรฐานเพื่อที่จะทำให้การเชื่อมต่อแบบไร้สายได้ เพียงแค่ทำ firmware เพิ่มขึ้นมา เขาพูดถูกต้อง! และผมก็ชอบจริงๆกับความคิดนี้และมีความท้าทายอย่างมาก ผมรู้สึกว่าเราสามารถจะพัฒนาได้เป็นล้านๆ คุณสมบัติแต่ ความคิด Bluetooth นี้ยอดเยี่ยมที่สุด  ลองจินตนาการดูว่า : อุปกรณ์ แค่ ตัว (Bluetooth dongle ที่ถูกที่สุด คือ $ 1.80 รวมค่าจัดส่งจาก DealExtreme) และ IOIO Board คุณสามารถสร้างการใช้งานได้หลากหลายที่เป็นไปได้ เช่น ควบคุมบ้าน ควบคุมของเล่น  R / C  และอื่น ๆ อีกมากมาย

ผมอยากจะได้เห็นถึงผลกระทบ ถ้างานนี้สำเร็จจริงๆ  อย่างแรกเพิ่มความสามารถ(หรือเพิ่มประสิทธิ หรือซับซ้อน) เพื่อใช้ IOIO และ ใช้งาน Debug โปรแกรม Android ได้ในเวลาเดียวกัน ประการที่สอง ไม่ข้อจำกัด ในการใช้ Android ในการควบคุม IOIO จากอุปกรณ์ใด ๆ ที่ใช้ Bluetooth: IOIOLib เป็น Library ที่สามารถจะนำไปใช้กับแพลตฟอร์มอื่น ๆ ได้(หรือเขียนใหม่เองก็ได้) ประการที่สาม เราไม่จำกัด เพียงหนึ่ง IOIO Board ควบคุมโดยใช้งาน เพียงแบบโฮสต์เดียว

Android Developer
 http://androiddevelopersthai.blogspot.com/

Android example code 
http://androidcodeexample.blogspot.com/

วันพุธที่ 30 พฤษภาคม พ.ศ. 2555

What Is the Android ADK?




-->


What Is the Android ADK? (ภาษาไทย ด้านล่าง )
In May 2011, Google held its annual developer conference, the Google IO, to present its newest technologies to approximately 5,000 attendees. In addition to improvements in its already well-known technologies such as the Google APIs or the core search technology, Google placed the focus on two major themes: Chrome and Android. As always, the newest advances in the Android Platform were presented and discussed, but what Google announced a bit later in the Android keynote was a bit of a surprise: Googles first standard for Android devices to communicate with external hardware. The Android Open Accessory Standard and the Accessory Development Kit (ADK) will be the key for communicating with hardware and building external accessories for Android devices. To encourage development, Google handed out ADK hardware packages to interested attendees and showed some examples of ADK projects, such as a treadmill which transmitted data to a connected Android device and a huge tilt labyrinth, which could be controlled with an Android device. Shortly after the event, the first DIY projects surfaced which already showed the great potential of the ADK.

Since I couldnt attend the event, I had no chance to get my hands on one of those kits; at the time, there was only one distributor for the Google ADK boards and this distributor wasnt prepared for such a big demand. That didnt stop me from building an alternative myself and from experiencing the joy of this new field in Android development. Over time, many more distributors have produced derivatives of the original Google ADK boards, which are, for the most part, cheaper and only provide the basics to get you started hacking your project together.
You probably just want to dive right in, but first you should learn about the specifics of the ADK and set up your development environment. You wouldnt build a house before you knew how to do it or without having the proper tools, would you?

The Accessory Development Kit (ADK) is basically a micro-controller development board that adheres to the simple Open Accessory Standard Protocol created by Google as a reference implementation. Although that could be any board fulfilling the specification to be ADK compatible, most boards are based on the Arduino design, which is an open hardware platform created in 2005. Those boards are USB-enabled micro-controller boards based on the Arduino Mega2560 and the implementation of the Circuits@Home USB Host Shield. However, there are other board designs known to be ADK compatible, such as PIC-based boards or even plain USB host chip boards such as the VNCII by FTDI. Google decided to build its reference kit upon the Arduino Mega2560 design and provided the software and hardware resources as open source. This was a clever move because the Arduino community has grown tremendously over the last years, enabling designers, hobbyists, and average Joes to easily make their ideas come to life. With the ever-growing communities of both factions of Android and Arduino enthusiasts, the ADK had a pretty good start.

To communicate with the hardware boards, an Android-enabled device needs to fulfill certain criteria. With Android Honeycomb version 3.1 and backported version 2.3.4, the necessary software APIs were introduced. However, the devices also have to ship with a suitable USB driver. This driver enables general USB functionality but, in particular, it enables the so-called accessory mode. The accessory mode allows an Android device that has no USB host capabilities to communicate with external hardware, which in turn acts as the USB host part.
 
The specification of the Open Accessory Standard stipulates that the USB host has to provide power for the USB bus and can enumerate connected devices. The external device has to provide 500mA at 5V for charging purposes of the Android device according to the USB 2.0 specification.

The ADK also provides firmware for the development board which comes in the form of a set of source code files, libraries, and a demokit sketch, which is the Arduino term for a project or source code file. The firmware cares about the enumeration of the USB bus and finding a connected device that is accessory modecompatible.
Google also provides an example app for the Android device that easily accesses and demonstrates the capabilities of the reference board and its sensors and actuators. If you are working with a derivative board that doesnt have the same variety of sensors, you still can work with the example app, but you might want to strip the code down to only the basic part of the communication.
When you set up an ADK hardware project you are building a so-called Android accessory. Your hardware project is an accessory for the Android device such as, for example, a keyboard would be for a PC, with the difference being that your accessory provides the power for the whole system. Accessories need to support the already mentioned power supply for the device and they must adhere to the Android accessory protocol. The protocol dictates that the accessory follows four basic steps to establish a communication to the Android device:

1. The accessory is in wait state and tries to detect any connected devices.
2. The accessory checks for accessory mode support of the device.
3. The accessory tries to set the device in accessory mode if it is necessary.
4. If the device supports the Android accessory protocol, the accessory establishes the communication.
If you want to learn more about the ADK and the Open Accessory Standard have a look at the Android developer pages at http://developer.android.com/guide/topics/usb/adk.html.

Google I/O 2011: Android Open Accessory API and Development Kit (ADK)

-->
Google I/O 2011: Android Open Accessory API and Development Kit (ADK)

Hardware Development Boards
This section will give you an overview of the variety of ADK-compatible development boards that are currently on the market. Note that I cant guarantee the completeness of this list because the community advances at such a pace that new boards could pop up at any time. I will concentrate on the most popular boards out there as of this writing.

The Google ADK Board
The Google ADK is the reference kit presented at the Google IO in May 2011 and it was the first board adhering to the Open Accessory Standard. The kit comes with the ADK base board and a demo shield, as shown in Picture.

Google ADK board and Demo Shield
The base board contains the DC power connector, the USB connector (A-type receptacle) to connect your phone or tablet to, and the micro USB connector (micro B-type receptacle) to connect to your computer for programming and debugging purposes. It has an ATmega2560 AVR chip from Atmel mounted on top, optimized for C-compiled code, which makes it pretty fast and easily programmable instead of comparable microcontrollers that have to be programmed in the assembler language. The ATmega2560 has an internal flash memory of 256 Kbytes and an 8-bit CPU and it operates at 16MHz. It provides 8KB of SRAM and 4KB of EEPROM. The IO ports of the ATmega chip control 16 analog pins that provide 10 bits of input resolution enabling analog-to-digital conversion of 1,024 different values. They measure from ground to 5V by default. The chip has 54 digital pins with 14 of them being PWM (pulse width modulation) enabled to allow, for example, dimming of LEDs or controlling servos. In the middle of the board is a reset button to reset the program execution on the board. The boards operating voltage is 5V. Although you can power the board via a USB cable, you should consider using a power adapter if you intend to control servos or drive motors.

The Demo Shield is an additional board containing a broad variety of different sensors and actuators. Shield is an Arduino term for an extension board that can be put on top of an Arduino base board. The connection is made via stackable pin headers. The IO pins of the base board are mostly delegated to the pins of the shield so they can be reused. However, certain shields might occupy pins to operate their sensors. The demo shield itself is presoldered with male pin headers so no additional shields can be stacked on top. This doesnt come as a surprise, since the shield uses most of the pins to let the base board communicate with all of its sensors. Since the shield hides the reset button of the base board, it contains one itself so that you can still make use of the reset functionality. The most important parts, however, are the sensors and actuators and there are a lot of them.
One analog joystick
Three buttons
Three RGB LEDs
A transistor functioning as a temperature sensor
An IC with an integrated photo diode for light sensing
A capacitive touch area in the form of the Android logo
Two relays with screw terminals which can switch external circuits with 24V up to 1A
Three servo connectors

The Google ADK was originally produced by a Japanese company for the Google IO. It can be ordered at www.rt-net.jp/shop/index.php?main_page=product_info&cPath=3_4&products_id=1. At a price of approximately $400 (not including sales tax), it is one of the priciest boards out there

The Arduino ADK Board
The Arduino ADK is an ADK-compatible base board from the makers of the Arduino series themselves. It is also based on the ATmega2560 and only differs slightly from the Google reference board.

 Arduino ADK board.

The Arduino ADK board also has a DC power connector and a USB connector (A-type receptacle) mounted to connect to an Android device. The programming and debugging connector, however, differs in being a standard USB connector (B-type receptacle). The reset button is situated at the far end of the board and the ATmega chip sits in the middle of the board. The IO pin layout is exactly the same as inthe Google board and it has the same analog and digital pin characteristics. The Arduino ADK, however, has two ICSP 6-pin headers for In-Circuit Serial Programming (ICSP) of microchips. Sharing the same pin layout and form factor, the Arduino ADK and the Google ADK are compatible with the Demo Shield and other Arduino based shields.

The Arduino ADK is made in Italy and can be ordered directly from the Arduino site at http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11_12&products_id=144 or from one of its numerous distributors worldwide found at http://arduino.cc/en/Main/Buy.
At a price of about $90 (not including possible shipping costs and taxes), it is way more affordable than the Google ADK for the average hobbyist and hardware hacker.

The IOIO Board
The IOIO (pronounced yo-yo) board is a PIC micro-controllerbased development board developed by Sparkfun Electronics before the announcement of the Open Accessory Standard.

 Sparkfun IOIO board.
The IOIO board was designed to work with all Android devices with version 1.5 and above. The original firmware design was targeted to work with the Android Debug Bridge (ADB), which is normally used within the development process of an Android application for debugging processes and for file system operations. After the announcement of the Open Accessory Standard the IOIO was updated with a new firmware to support both the Open Accessory Protocol and, as a fallback, the ADB protocol to still support older devices. The firmware is still in beta as of the time of writing this book. Since you need to update the firmware of the board through a PIC programmer in order to make the board ADK compatible, it might not be the perfect choice for an inexperienced tinkerer.
The hardware specifics of the board are as follows. The IOIO has a form factor of about a quarter of the size of a regular ADK-compatible board, which makes it one of the smallest boards available. Nevertheless, it nearly keeps up with the numerous IO pins of its big brothers. Many of the overall 48 IO pins have several operating modes, which can make the pin assignments a bit confusing.

From the 48 IO pins, all pins can be used as general purpose input output ports. Additionally, 16 of those pins can be used as analog inputs, 3 pairs of pins can be used for I²C communication, 1 pin can be used as a peripheral input, and 28 pins can be used for peripheral inputs and outputs. Normally, the pins are 3.3V tolerant only, but 22 pins are capable of tolerating 5V inputs and outputs. The I²C pins provide a fast and simple two-wire interface to communicate with external integrated circuits such as sensor boards.
Apart from the IO pins the board provides 3 Vin pins for power supply of the board. On the bottom side of the board you can solder an additional JST connector to connect a LiPo battery as the power supply. An operating voltage of 5V to 15V should be supplied. Additionally, it has 3 pins for 3.3V output, 3 pins for 5V output, and a 9 pin-area for ground.
The only connector on this board is the required USB (A-type receptacle) connector. That is because programming the hardware is not necessary, unlike for the other ADK-compatible boards, which need C-compiled code for the hardware part. The IOIO provides a firmware that implements all necessities.
You only need to write the Android part by using a high-level API for easy pin access. One interesting component of the board is a small trimmer potentiometer that can limit the charging current of the Android device so that it wont draw too much power when the board is in battery mode. The IOIO has a PIC micro-controller chip instead of the AVR chip most of the other boards use. The PIC24FJ256-DA206 chip operates at 32MHz, has 256KB of programmable memory and 96KB of RAM.

The IOIO was developed by Sparkfun Electronics and can be ordered via the Sparkfun web site at www.sparkfun.com/products/10748 or through one of its distributors. With a price of about $50 before shipping and taxes, it is one of the cheapest boards out there but not one of the friendliest to beginners.

The Seeeduino ADK Board
The Seeeduino ADK board , also derived from the ATmega board, looks quite similar to the standard Arduino ADK board but, at second glance, it has some nice extra features

 Seeeduino ADK board (image courtesy of Seeedstudio)

It has 56 digital IO pins with 14 of them being PWM capable, 16 analog input pins, and 1 ICSP header. The connectors on the board are of the same type as in the original Google design. It has a DC power connector, a USB connector (A-type receptacle), and a micro USB connector (micro B-type receptacle).
The biggest difference with most other Atmega-like boards is that the Seeeduino ADK board already ships with the MicroBridge firmware so that it works in ADK mode with Android devices with OS version 2.3.4 and above and in ADB mode with devices that have OS versions previous to version 2.3.4, much like the IOIO does.
The Seeeduino ADK board was developed by Seeedstudio and can be ordered at the companys web site at www.seeedstudio.com/depot/seeeduino-adk-main-board-p-846.html or from one of their distributors.
It is priced at $79 (before shipping and taxes), which makes it a very affordable but powerful board.

More ADK Possibilities
After you have seen the most common boards with ADK support out there, youll probably wonder if thats all there is. Although the Open Accessory Standard is only about a year old, the number of boards already available is incredible, with many still to come in this young but rapidly evolving field of open source hardware. There are still plenty of other possibilities for developing with the Open Accessory Standard. Some represent pure DIY (do-it-yourself) approaches, while others are extensions for boards that have been in use since before the ADK came out.
One early approach was to port the ADK to the common Arduino Uno or Duemilanove. The only thing you needed was an additional USB host shield to connect the Android device to. I was one of those early DIY hackers who went in that direction. At the time, it was the only affordable alternative to the original Google reference board. Nowadays, I wouldnt recommend it; there are already perfect all-inone boards that dont need additional shields, hacking, or stripping of code. If you still want to use your regular Arduino there are a lot of shops carrying USB host shields you can use:

www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0- for-arduino/
www.sparkfun.com/products/9947
www.dfrobot.com/index.php?route=product/product&filter_name=usb%20host&pro duct_id=498
http://emartee.com/product/42089/Arduino%20ADK%20Shield%20For%20Android

You may have read about the possibility of enabling communication with Android devices running an OS version lower than 2.3.4, which some boards provide. If also you want to support that in your projects you should have a look at the microbridge project that uses the ADB to establish the communication. Check the project page for further details, at http://code.google.com/p/microbridge/.

Some of the all-in-one boards also come bundled as a kit to let you tinker away with a bunch of sensors. Those kits usually provide some of the same sensors that the Google Demo Shield features.
The Arduino store sells an ADK Sensor Kit that consists of an Arduino ADK Mega board with a Mega Sensor Shield. The sensor shield has 22 3-pin connectors to easily connect sensor modules without having to worry about wiring and setup. For more information go to http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=2&products_id=140.

Seeedstudio also has a kit called Grove ADK Dash Kit. Like the Arduino kit, it also provides an easy plug-and-play mechanism to start right away and it features a broad set of sensors for all kinds of purposes. It is available at http://www.seeedstudio.com/depot/grove-adk-dash-kit-p-929.html.
If you still want a kit based on the original Google design but importing the Japanese original is not an option, you can also consider the following German clone, which is nearly an exact clone with the minor improvement of providing a gold-plated touch area that has better conductivity and hinders oxidation. It is also a bit more affordable than the original and, depending on where you live, the shipping costs may be lower. Check out www.troido.de/de/shoplsmallgbuy-androidstufflsmallg/ product/view/1/1 for more information.

Which Board Should You Use?
Now that you have read about the variety of boards supporting the Open Accessory Standard that are already out there you might wonder which board is the right one for your own project. This is always a hard question, for which there is no single answer. You should plan your project thoroughly ahead of time to analyze which board fits best.
If you are a beginner in the world of hardware development and ADK, you should stick to the boards that are most commonly used out in the wild. As of this writing, that would be the Google ADK board, which was given out to hundreds of developers attending the Google IO 2011. If you are not one of the lucky ones to have received one of these boards and your budget is pretty tightwhich is usually the caseconsider the standard Arduino ADK board. Both of these boards are used in most hacker and maker projects I have seen so far and they have a huge community built around them to help you if you are in need.

Table gives you an overview of the boards under discussion.

Comparison of the Most Common ADK-Enabled Boards

ADK Boards
Google ADK
Arduino ADK
Seeeduino ADK
Sparkfun IOIO

Processor
ATmega2560
ATmega2560
ATmega2560
PIC24FJ256

CPU clock speed
16 MHz
16 MHz
16 MHz
32 MHz
Flash memory
256 Kbytes
256 Kbytes
256 Kbytes
256 Kbytes
RAM
8 Kbytes
8 Kbytes
8 Kbytes
96 Kbytes
Digital IO pins
54 (14 PWM)
54 (14 PWM)
54 (14 PWM)
 48 (28 PWM)

Analog input pins
16
16
16
16
Input voltage
voltage 5.5V - 16V
voltage 5.5V - 16V
voltage 5.5V - 16V
5V - 15V
Connectors
DC power
USB A-type
USB micro B-type

DC power
USB A-type
USB B-type

DC power
USB A-type
USB micro B-type

USB A-type











In Thai Language 
ในเดือนพฤษภาคม 2011, Google จัดประชุมนักพัฒนาประจำปีของ Google IO, ที่จะนำเสนอเทคโนโลยีใหม่ล่าสุดที่จะเข้าร่วมประชุม ผู้ประชุมประมาณ 5,000 คน นอกจากการปรับปรุงในเทคโนโลยีของแล้วที่รู้จักกันดีเช่น Google APIs หรือเทคโนโลยีการค้นหาข้อมูล  Google ได้วางเนื้อหาเจาะจงไปที่สองประเด็นหลัก: Chrome และ Android และเช่นเทคโนโลยีใหม่ล่าสุดในแพลตฟอร์ม Android จะถูกนำเสนอและพูดคุยความคิดเห็น แต่สิ่งที่กูเกิลประกาศต่อไปในประเด็นสำคัญของ Android เป็นเรื่องใหม่คือ: มาตรฐานของ Google สำหรับอุปกรณ์ Android ในการสื่อสารกับฮาร์ดแวร์ภายนอก คือ  Android Open Accessory Standard และ Accessory Development Kit (ADK) จะเป็นกุญแจสำคัญสำหรับการสื่อสารกับฮาร์ดแวร์และสร้างอุปกรณ์ภายนอกกับอุปกรณ์ Android เพื่อเป็นการส่งเสริมให้การพัฒนาของ Google ได้ออกแบบแพคเกจฮาร์ดแวร์ ADK เพื่อที่ให้ผู้เข้าร่วมประชุมเป็นที่สนใจและแสดงให้เห็น Demo บางส่วนของโครงการ ADK เช่น ลู่วิ่งที่ส่งข้อมูลไปยังอุปกรณ์ของ Android และ
เขาเกมวงกตขนาดใหญ่ที่สามารถควบคุมด้วยอุปกรณ์ Android หลังจากนั้นไม่นานโครงการ DIY ก็เกิดขึ้นมาซึ่งแสดงให้เห็นถึงการมีศักยภาพที่ดีของ ADK

เนื่องจากผมไม่สามารถเข้าร่วมงาน จึงไม่ได้รับพัฒนาเหล่านั้น  มีเพียงผู้ผลิตเดียวเท่านั้นสำหรับ Google ADK Board  และผู้ผลิตก็ไม่ได้เตรียมไว้ สำหรับผู้ที่ต้องการจำนวนมากๆ แต่นั่นก็ไม่ได้หยุดผมจากการสนใจที่จะพัฒนาสร้างทางเลือกใหม่ให้ตัวเองและพัฒนาในระบบนี้ให้ได้ในรูปแบบใหม่ๆ เมื่อเวลาผ่านไปผลิตรายอื่น ๆ ก็เกิดขึ้นอีกมากมายได้มีการพัฒนาจาก Google ADK Board ให้มีราคาถูกและใช้งานได้ในการเริ่มพัฒนาโครงการของคุณ
การเริ่มพัฒนาให้ถูกทาง แต่แรกที่คุณควรเรียนรู้เกี่ยวกับข้อมูลเฉพาะของ ADK และติดตั้งส่วนการพัฒนาต่างๆของคุณ คุณคงจะไม่สร้างบ้านก่อนที่คุณจะรู้วิธีสร้าง และมีเครื่องไม้เครื่องมือที่เหมาะสมใช่ไหม?

Accessory Development Kit (ADK) เป็นระบบไมโครคอนโทรลเลอร์ที่ใช้ Open Accessory Standard Protocol ที่สร้างขึ้นโดย Google ไม่ว่าบอร์ดของผู้ผลิตอื่นๆ ก็เป็นไปตามข้อกำหนดของ ADK   แต่ ADK Board ส่วนใหญ่จะออกแบบด้วย Arduino ซึ่งเป็นแพลตฟอร์มฮาร์ดแวร์ที่ถูกสร้างขึ้นในปี 2005  บอร์ดที่มีระบบ USB ก็จะใช้เป็นรุ่น Arduino Mega2560 และใช้ Circuits@Home USB Host Shield แต่ก็มี ADK Board ที่ออกแบบด้วย micro controller ตระกูลอื่น เช่น  PIC-based ADK Board หรือแม้แต่ USB Host Chip  เช่น VNCII โดย FTDI 

Google ตัดสินใจที่จะสร้างชุดพัฒนาต้นแบบ โดยใช้ Arduino Mega2560 และให้ข้อมูลซอฟต์แวร์และฮาร์ดแวร์ที่เป็นแบบโอเพนซอร์ส เป็นกลยุทธที่ชาญฉลาดเพราะทำให้ การใช้งาน Arduino มีการเติบโตอย่างมากในช่วงหลายปีที่ผ่านมาทำให้นักออกแบบ, ผู้เล่นเป็นงานอดิเรก hobbyists ใช้ได้อย่างง่ายดาย ทำให้ความคิดที่จะนำมาใช้งานในชีวิตประจำวันมากมาย  เป็นการเพิ่มผู้ใช้งาน ทั้งสองฝ่าย  Android และ Arduino
ADK จึงมีจุดเริ่มต้นด้วยดี 


Android Developer
 http://androiddevelopersthai.blogspot.com/

Android example code 
http://androidcodeexample.blogspot.com/