A very good platform for physical computing is Arduino
. It is a controller board built around the Atmel ATmega microcontroller and an accompanying development environment (Java/avr-gcc). Various version of the controller board exist and it is also possible to build your own version by just connecting a FT232 USB to RS232 adapter to a ATmega168 CPU. Lots of libraries are provided by the Arduino community, that help with interfacing to various hardware devices like sensors and displays.I also advocate to take a look at Processing
. This Java based development environment provides many library functions making it very simple to create programs with which you can conroll your Arduino appliance from your workstation.If you're interested in the field of physical computing and want to learn the basics, you should consider reading the book Making Things Talk
. By presenting a series of simple projects, this book provides an introduction to Arduino and Processing.On the following pages I will present my own Arduino/Processing projects and will provide my own extensions for these frameworks.
Arduino LibrariesIn addition to the vast amount of already provided libraries, i have written some libraries during my projects. I am publishing the library code under the LGPL. Click on the following links for further information and downloads.
Arduino and Eclipse IDEIf you want to use a more sophisticated environment to develop yout Arduino programs, you can use the Eclipe IDE
. In this article I give you a short introduction on how this is done. I've also compiled an Eclipse project, that contains the core Ardino framework together with other Arduino libraries. You can link against this project, so there is no code duplication in your own projects.Custom Arduino Breadboard VersionIn this picture you can see that it's very easy to build a custom Arduino board, even with a simple breadboard design. Essentially you need only a USB to RS232 breakout bord, a ATmega168 CPU and a crystal oscillator (besides some passive components). I also added a 5V regulator, some LEDs, buttons and pin headers for all digital and analog pins to this board.
Arduino analog port testThe next image shows a simple setup to test the Arduino analog ports. The analog value of a potentiometer is converted to a PWM-signal driving a LED with the following code line:
analogWrite (LED_PIN, analogRead (POT_PIN)); |



