Your SlideShare is downloading. ×
  • Like
Physical Computing with Android and IOIO
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Physical Computing with Android and IOIO

  • 2,899 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,899
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
33
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Physical Computing with Android Arjan Scherpenisse MiracleThings http://miraclethings.nl/ 10 september 2011
  • 2. Overview
    • Physical computing
    • 3. Android
    • 4. The IOIO board
  • 5. About me
    • Mixed background
      • Computer science (AI, UvA class of 2005)
      • 6. Unstable Media Art (Rietveld, class of 2009)
    • Have worked for Mediamatic for 3+ years
    • 7. Now: independent software developer
  • 8. Physical Computing
    • Definition: “building interactive physical systems by the use of software and hardware that can sense and respond to the analog world.” (wikipedia)
  • 9. Physical Computing (2) Sensor (input) Actuator (output) World Device
  • 10. Physcomp = popular
    • Many different platforms out there
    • Arduino makes it easy
      • Plug&play, accessible software, many examples
    • Need some electronics knowledge
  • 15. hacking a knitting machine... http://miraclethings.nl/id/852
  • 16. ...to knit the score board of a game
  • 17. Playing ping-pong over the internet
  • 18. ...using a DIY pingpong-ball canon
  • 19. Physcomp roundup
    • Lots of possibilities!
    • 20. Mediamatic Atelier has sensors, motors, etc, etc, etc
  • 21. Android
    • Popular mobile phone OS by Google
  • 22. Personal Android experience
    • IkPod 2.0 app
      • Nexus S-based RFID multimedia guide
    1.0 2.0
  • 23. Personal Android experience
    • IkCam app
      • mobile IkTag photo booth
  • 24. Android ♥ physcomp
    • Google's OpenAccessory protocol
      • With reference implementation (ADK)
    • IOIO board
      • Released earlier than OA
      • 25. 3rd-party board; needs USB debugging on
      • 26. Might work with OA (beta; ymmv)
  • 27. IOIO vs. OpenAccessory
    • IOIO's pro's:
      • Android >= 1.6 (vs. OpenAccessory >= 2.3.x)
      • 28. Filesystem access to host board
      • 29. More mature (apparently)
      • 30. Simpler interface on android side
    • OpenAccessory's pro's:
      • Better performance (thruput/latency)
      • 31. Does not require USB debugging hack
      • 32. Allow apps to be notified on gadget connect
  • 33. IOIO
    • Provides 48 input/output pins
    • 34. Software runs on your phone – not on the board
    • 35. Many pins have extra functions
    • 36. Needs external powering (Can charge the phone)
  • 37. IOIO (2)
    • Board needs DC adapter/battery between 5-15V on VIN or directly connected to stable 5V source
    • 38. Pins only supply 3.3V output
    • 39. Enable USB debugging on your phone
  • 40. Made With IOIO
    • “ soccer” playing robot
      • http://www.youtube.com/watch?v=qY4b5sIrGKw
    • LED wekker
      • http://www.youtube.com/watch?v=8sAvXCfEj3s
    • Autonomous RC car
      • http://www.youtube.com/watch?v=-H6MtevUjBg
    • Search “IOIO android” on Youtube
  • 41. Digital Output
    • Simple 3.3V digital output:
      • Pin -> LED -> 220Ω -> GND
    • 5V digital output:
      • Needs 5V-tolerant pin!
  • 42. Digital Input
    • Input pins can be in 3 modes:
      • Pull-up
      • 43. Pull-down
      • 44. Floating (need to pull up/down yourself, like Arduino)
    • Only put 5V input on 5V-tolerant pins!
  • 45. Advanced IOIO
    • Analog inputs
      • Like http://www.arduino.cc/en/Tutorial/AnalogInput
    • UART
      • Communicate w/ other devices (e.g. arduino!) over serial port
    • PWM
      • “ analog output”, e.g. LED brightness
  • 46. Demonstrate IOIO example project
    • Fixme.
  • 47. IOIO Getting started
      • http://www.sparkfun.com/tutorials/280 , or in a nutshell:
      • 48. Install Android Development Environment
      • 49. Download IOIOLib from https://github.com/ytai/ioio
      • 50. Create new Android project w/ imported IOIOLib on build path
      • 51. Write your app – or modify existing example
  • 52. IOIO go go go
    • Good Luck & Have Fun!