I'm teaching two classes live online in the next few weeks for O'Reilly Media via their partner CreativeLive. The first class focuses on video and goes through the process of working with video in Processing by showing how to build a video mixing app from scratch.
The app is also controlled with a projBox as an example of how to integrate custom hardware controls with such an application. The projBox is a generic project box for prototyping custom hardware controllers with an Arduino.
A demo of this video mixer application I wrote in Processing is here:
The class will be presented live, for free, on February 25th, 2011 at 10am PST, more here:
There are two main sections of this. One is the hardware, which is really just a box designed to hold a protoboard and an Arduino, with holes in the lid to add common analog components like potentiometers, switches and LEDs. Ports on the side of the box also provide access to the USB and power jacks.
The schematics for the box are here:
How to assemble a generic hardware controller using this box is here:
If you would like to just buy a projBox, instead of making your own, they are available here pre-made:
The other main section of all this is the software class called (capital "P") ProjBox. This uses the Arduino library for Processing (now included with the latest Processing IDE) and Standard Firmata loaded onto the Arduino. The software class provides a straight forward abstraction of the hardware for accessing the various components on the projBox. An example sketch is also provided that provides graphical feedback of the various switch and knob states for testing:
The overall philosophy of creating the projBox is that not too many Arduino specific project boxes exist (put those wires in a box!) and to provide an example of a generic hardware/software interface for custom coding and electronics. You can either use it as is, or use it as a jumping off point for some other, totally different, configuration.