I’m happy to announce that last week I’ve got degreed with a cum laude degree in a Master of Science in Computer Science. Great!
I can now share my thesis: Using Arduino for Tangible Human Computer Interaction.
The thesis is available in PDF as well as Latex project archive (~80MB) where you will find all the Latex sources, images sources (where available), bibliography, etc.. this could be pretty useful if you plan to produce documents regarding the topics I covered in my thesis. The thesis and the sources are released under CC-BY-SA.
Abstract
This thesis presents the results of a nine months internal stage at the Department of Computer Science, Università degli Studi di Torino.
During my stage, supervised by Prof. Luca Console, I experienced with electronics, Arduino, micro-electromechanical sensors (accelerometers, gyroscopes and magnetometers), orientation sensing algorithms and 3D computer graphics to develop prototypes of Human Computer Interaction devices, with a a particular interest on Tangible User Interfaces.
Table of Contents
- Introduction
- How everything got started
- Electronic Circuits in DC
- Basic concepts of electricity
- Schematic Diagrams
- Ohm’s law
- Capacitors
- Kirchoff’s circuit laws
- Series And Parallel Circuits
- Arduino
- Why Arduino?
- What can we do with Arduino?
- Arduino Hardware
- Arduino Shields
- Kirchoff’s circuit laws
- Series And Parallel Circuits
- Arduino Duemilanove
- Arduino Base Workshop KIT
- Arduino Software
- Arduino Community
- Critics to Arduino
- First steps with Arduino and electronic prototyping
- Hello World!
- digitalRead(): using pushbuttons and tilt sensors
- analogRead(): Reading analog values with Arduino
- Driving bigger loads: Transistors and Optocouplers
- Pulse Width Modulation (PWM): analog outputs with digital means
- Serial communication with Arduino
- A multisensors game controller with Arduino and Processing
- MEMS Sensors: accelerometers, gyroscopes and magnetometers
- The accelerometer
- The gyroscope
- The Magnetometer
- ADXL330: an analog 3-axis accelerometer
- Digital sensors
- Low cost, do-it-yourself method for making printed circuit boards
- ADXL345: a digital 3-axis accelerometer
- ITG3200: a digital 3-axis gyroscope
- HMC5843: a digital 3-axis magnetometer
- 9 degrees of measurement MARG sensor array on a breadboard
- Orientation Sensing
- Tilt sensing using an accelerometer
- Fusing accelerometer and gyroscope data for reliable tilt sensing
- Tilt compensated digital compass
- Accelerometer, gyroscope and magnetometer fusion for orientation sensing
- FreeIMU
- Dorkbot PDX group PCB buying service
- FreeIMU version 0.1
- FreeIMU version 0.2
- Making FreeIMU a libre hardware project
- Competing commercial products
- Palla
- Previous works
- Palla’s schematics
- Building Palla
- Palla capabilities and possible usages
- Femtoduino
- Schematics
- PCB desing
- A libre hardware: media coverage and commercial productions
- Conclusions
- Future Works
- PCB desing
- Acknowledgments