Development, debug and deploy hardware/software solutions based on Android and Arduino
-
Upload
- -
Category
Technology
-
view
496 -
download
1
Transcript of Development, debug and deploy hardware/software solutions based on Android and Arduino
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!