physical computing with android and ioio
TRANSCRIPT
Physical Computing with Android
Arjan Scherpenisse
MiracleThingshttp://miraclethings.nl/
10 september 2011
Overview
Physical computing
Android
The IOIO board
About me
Mixed backgroundComputer science (AI, UvA class of 2005)
Unstable Media Art (Rietveld, class of 2009)
Have worked for Mediamatic for 3+ years
Now: independent software developer
Physical Computing
Definition:
building interactive physical systems by the use of software and
hardware that can sense and respond to the analog world.
(wikipedia)
Physical Computing (2)
WorldDevice
Sensor (input)
Actuator (output)
Physcomp = popular
Many different platforms out thereArduino
Wiring
Fritzing
Phidgets
Arduino makes it easyPlug&play, accessible software, many examples
Need some electronics knowledge
hacking a knitting machine...
http://miraclethings.nl/id/852
...to knit the score board of a game
Playing ping-pong over the internet
...using a DIY pingpong-ball canon
Physcomp roundup
Lots of possibilities!
Mediamatic Atelier has sensors, motors, etc, etc, etc
Android
Popular mobile phone OS by Google
Personal Android experience
IkPod 2.0 appNexus S-based RFID multimedia guide
1.0
2.0
Personal Android experience
IkCam appmobile IkTag photo booth
Android physcomp
Google's OpenAccessory protocolWith reference implementation (ADK)
IOIO boardReleased earlier than OA
3rd-party board; needs USB debugging on
Might work with OA (beta; ymmv)
IOIO vs. OpenAccessory
IOIO's pro's:Android >= 1.6 (vs. OpenAccessory >= 2.3.x)
Filesystem access to host board
More mature (apparently)
Simpler interface on android side
OpenAccessory's pro's:Better performance (thruput/latency)
Does not require USB debugging hack
Allow apps to be notified on gadget connect
IOIO
Provides 48 input/output pins
Software runs on your phone not on the board
Many pins have extra functions
Needs external powering (Can charge the phone)
IOIO (2)
Board needs DC adapter/battery between 5-15V on VIN or directly connected to stable 5V source
Pins only supply 3.3V output
Enable USB debugging on your phone
Made With IOIO
soccer playing robothttp://www.youtube.com/watch?v=qY4b5sIrGKw
LED wekker http://www.youtube.com/watch?v=8sAvXCfEj3s
Autonomous RC carhttp://www.youtube.com/watch?v=-H6MtevUjBg
Search IOIO android on Youtube
Digital Output
Simple 3.3V digital output:Pin LED 220 GND
5V digital output:
Needs 5V-tolerant pin!
Digital Input
Input pins can be in 3 modes:Pull-up
Pull-down
Floating (need to pull up/down yourself, like Arduino)
Only put 5V input on 5V-tolerant pins!
Advanced IOIO
Analog inputsLike http://www.arduino.cc/en/Tutorial/AnalogInput
UARTCommunicate w/ other devices (e.g. arduino!) over serial port
PWManalog output, e.g. LED brightness
Demonstrate IOIO example project
Fixme.
IOIO Getting started
http://www.sparkfun.com/tutorials/280,
or in a nutshell:
Install Android Development Environment
Download IOIOLib from https://github.com/ytai/ioio
Create new Android project w/ imported IOIOLib on build path
Write your app or modify existing example
IOIO go go go
Good Luck & Have Fun!
Zotonic
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso