Building robots using android and arduino google devfest

Post on 28-Jan-2015

112 views 0 download

Tags:

description

http://sudarmuthu.com/blog/building-robots-using-android-and-arduino-in-google-devfestx Slides from my talk about Arduino and Android which I gave at Google DevfestX

transcript

Building Robots using Android and

Arduino

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

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

Let’s start with the demo

Demohttp://sudarmuthu.com/arduino/asimi

MotorsSensors

Processor

Anatomy of a Robot

Android can act as a ..

Sensor

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

Processor

– Native Java App– Android Scripting Environment (ASE)

Missing part is..

Missing part is..

Motor(and that’s where Arduino can help)

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

Photo credit Arduino team

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

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

Let’s make them talk

Making them talk• Over Bluetooth

– Serial Socket• Over WIFI• Over USB

– ADK– Normal Way

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

Over BluetoothYou need• Bluetooth Shield (or just a Bluetooth Dongle)• Library – Amarino - http://amarino-toolkit.net• Or create a Bluetooth Socket

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

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

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

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• The bandwidth is slower

Over Audio Jacket

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

://sudarmuthu.com/blog/transferring-data-from-android-using-audio

Advantages• Very compact• Less power consumption

Disadvantages• Slightly difficult to get it to work• Baud rate is slow

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

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

Over NFC

You need• NFC Shield• Phone which has NFC

Advantages• Very easy to setup• No connection needs to be setup

Disadvantages• Works only from v2.2+• Very short range

Other Options

Some notable alternate options

• Using Computer as a intermediate transmitter• USB Host support (in case of tablet or rooted phones)• Serial VGA (You can project from an Android phone)

Don’t throw away your old phones ;)

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

Questions

Thank You

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

http://twitter.com/sudarmuthu