Building robots-using-android-and-arduino

22
Building Robots using Android and Arduino Sudar Muthu Research Engineer, Yahoo! Labs http://sudarmuthu.com http://github.com/sudar http://twitter.com/sudarmuthu

description

Talk about building robots using Android and Arduino which I gave at DroidCon India. More details and video of the talk at http://sudarmuthu.com/blog/building-robots-using-arduino-and-android-at-droidcon

Transcript of Building robots-using-android-and-arduino

Page 1: Building robots-using-android-and-arduino

Building Robots using Android and

Arduino

Sudar MuthuResearch Engineer, Yahoo! Labshttp://sudarmuthu.comhttp://github.com/sudarhttp://twitter.com/sudarmuthu

Page 2: Building robots-using-android-and-arduino

Agenda• Let’s start with a demo• Anatomy of a robot• Android• Arduino• Making them talk

– Over Bluetooth– Over WIFI– Over USB wire– Over Audio Jacket– Over GSM

• Summary• Questions

Page 3: Building robots-using-android-and-arduino

Let’s start with the demo

Demohttp://sudarmuthu.com/arduino/asimi

Page 4: Building robots-using-android-and-arduino

MotorsSensors

Processor

Anatomy of a Robot

Page 5: Building robots-using-android-and-arduino

Android can act as a ..

Sensor

– Accelerometer– Camera– Magnetic Compass– GPS– etc.

Processor

– Native Java App– Android Scripting Environment (ASE)

Page 6: Building robots-using-android-and-arduino

Missing part is..

Page 7: Building robots-using-android-and-arduino

Missing part is..

Motor(and that’s where Arduino can help)

Page 8: Building robots-using-android-and-arduino

Arduino• Visual Basic for hardware• Includes both Hardware and software

Photo credit Arduino team

Page 9: Building robots-using-android-and-arduino

We have Android (Sensors & processor) and Arduino (Motor)

Page 10: Building robots-using-android-and-arduino

We have Android (Sensors & processor) and Arduino (Motor)

Let’s make them talk

Page 11: Building robots-using-android-and-arduino

Making them talk• Over Bluetooth• Over WIFI• Over USB

– ADK– Normal Way

• Over Audio Jacket• Over GSM• Over C2DM• Others (NFC, Intermediate computer etc)

Page 12: Building robots-using-android-and-arduino

Over Bluetooth

You need• Bluetooth Shield• Library – Amarino - http://amarino-toolkit.net

Advantages• Wired connection is not needed• Can work from Android 1.5• Two way communication

Disadvantages• Power consumption is high• Slightly slower when compared with others• Range is limited

Page 13: Building robots-using-android-and-arduino

Over WIFI

You need• Wifi Shield• Wifi Connection

Advantages• Wired connection is not needed• Two way communication• Can work from Android 1.5

Disadvantages• Both should be present in the same network• Power consumption is slightly high

Page 14: Building robots-using-android-and-arduino

Over USB Cable - ADK

You need• ADK Board or USB Host Shield• ADK SDK

Advantages• Native support from Android• Two way communication

Disadvantages• Will work only in 2.3.4 +• Wired Connection is needed

Page 15: Building robots-using-android-and-arduino

Over USB Cable – Socket & Logcat

You need• USB Host Shield• Library – Microbridge - http://code.google.com/p/microbridge/

Advantages• Works in older versions as well• Two way communication (Socket & Logcat)

Disadvantages• Wired connection is needed

Page 16: Building robots-using-android-and-arduino

Over Audio Jacket

You need• Male Audio Pin• Pre-encoded Wave/MP3 files

Advantages• Very compact• Less power consumption

Disadvantages• Only one way communication is possible• Slightly difficult to get it to work

Page 17: Building robots-using-android-and-arduino

Over GSM

You need• GSM Arduino Shiled• Two sim cards

Advantages• Range is unlimited• Very simple to setup• Two way communication is possible

Disadvantages• Operating cost (SMS)• Potential to abuse

Page 18: Building robots-using-android-and-arduino

Over C2DM

You need• Ethernet or Wifi Arduino Shield• C2DM account

Advantages• Good for notifications• Very easy to setup in Android side

Disadvantages• Only one way communication is possible• Works only from v2.2+• Need Wifi connectivity

Page 19: Building robots-using-android-and-arduino

Other Options

Some notable alternate options

• NFC (Near Field Communication)• Using Computer as a intermediate transmitter• USB Host support (in case of tablet or rooted phones)

Page 20: Building robots-using-android-and-arduino

Don’t throw away your old phones ;)

Page 21: Building robots-using-android-and-arduino

Links• Arduino – http://arduino.cc• Microbridge – http://code.google.com/p/microbridge/• Amarino – http://amarino-toolkit.net• USB Host Shield –

http://circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino/

• Using Arduino as ADK – http://sudarmuthu.com/blog/using-standard-arduino-board-as-googles-adk-kit

• My articles about Arudino – http://sudarmuthu.com/blog/category/ardino• Demo source code – http://github.com/sudar/Asimi• Demo Project page – http://sudarmuthu.com/arduino/asimi• Cellbots – http://cellbots.com

Page 22: Building robots-using-android-and-arduino

Questions

Thank You

Sudar Muthuhttp://sudarmuthu.comhttp://gitbub.com/sudar

http://twitter.com/sudarmuthu