Development, debug and deploy hardware/software solutions based on Android and Arduino

Post on 25-Jun-2015

497 views 1 download

Tags:

transcript

Development, debug and

deploy hardware/software

solutions based on

Android and Arduino

Ilya Rodin

Senior Android Engineer

Lohika Systems

Arduino

Introduction into Arduino

3

Arduino is…

Open-source electronics prototyping platform

Open-source development environment

A lot of electronics circuit elements, Arduino-base schemes and kits

e.t.c

4

Microcontroller ATmega2560

Operating Voltage 5V

Input Voltage (recommended)

7-12V

Input Voltage (limits)

6-20V

Digital I/O Pins54 (of which 15 provide PWM output)

Analog Input Pins 16

DC Current per I/O Pin

40 mA

DC Current for 3.3V Pin

50 mA

Flash Memory256 KB of which 8 KB used by bootloader

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

Hardware

5

Development environment

Cross-platform Java-base IDE

Simple C++ base language

• Well known language constructions (class, variables, loops, operators, methods, etc…)

• You can use already created library (LiquidCrystal, EEPROM, Servo, TinyGPS, erc…)

• You can create new library, if it needed…

Simple application life circle

Port Monitor toolkit

etc…

•Begin

setup()

loop()

6

… and something more

Connection by Digital I/O

• PWD

• UART

• I2C/TWI

• SPI devices

• DC motors

• etc..

Connection by Analog port

• Microphone

• Sensors

• AC drive

• etc…

Hey, bro!

What about

Android?

8

Android Open Accessory

Implemented…

USB Host Mode

Accessory Mode

Support in…and higher

Android SDK 3.1 (API 12)

Google API add-on lib for Android 2.3.4 (API 10)

9

How it is work?

1. Wait for and detect connected devices

2. Determine the device's accessory mode support

• The attached device supports Android accessory mode and is already in accessory mode.

• The attached device supports Android accessory mode, but it is not in accessory mode.

• The attached device does not support Android accessory mode.

3. Attempt to start the device in accessory mode if needed

4. Establish communication with the device if it supports the Android accessory protocol

10

AOA 2.0

New features…

Audio output by USB (only for Android 4.1 (API 16) and higher)

Support multi-connection with HID devices

New products Ids…

AOA 1.0

• 0x2D00 – accessory

• 0x2D01 – accessory+ADB

AOA 2.0

• 0x2D02 – audio

• 0x2D03 – audio+ADB

• 0x2D02 – accessory+audio

• 0x2D03 – accessory+audio+ADB

11

Trouble…

Limitations…

High API level

Some Android devices do not support Accessory/Host Mode

Android Emulator do not support USB

Resolving…

Try use MicroBridge Mode

Try use MicroBridge Mode

×Actually not resolved

ok, it is clear…

ADK ?! O_o

13

Android Development Kit

ADK 2011 ADK 2012

14

IOIO

Spark Fun IOIO it is…

Low cost PIC24FJ256-DA206 base platform

Support connection by Digital Input/Output, PWM, Analog Input, I2C, SPI, and UART.

Support Android 1.5 and higer

Tools

16

Proteus Design Suit

17

LabVIEW 2012

Workshop

http://developer.android.com/tools/

adk/

http://www.arduino.cc/

https://github.com/ytai/ioio/

http://code.google.com/p/

microbridge/

Find out more…

Q&A

Thank you!