Physical Computing Final: the Guts
The photobooth runs off of two cameras--one digital videocamera and one digital camera that takes still images--two computers, and one Arduino board.

The Arduino board continually reads the digital state of pin 4. If the button is pressed, sending a 5V voltage to pin 4, that triggers a cascade of events: the Arduino sends serial data to the Processing program connected to the videocamera to begin capturing the video image and perform its image processing. It also activates two relays (connected to digital output pins 2 and 3) in a timed sequence that function as triggers for the focusing and shutter functions of the digital camera (via a slightly hacked trigger that's sold for taking photos a few feet away from the camera). Using camera utilities software, the camera sends the images it took to a second computer; a Processing program on that computer continually runs a slide show display of the images in its sketch folder and regularly checks for new images to load into the program.
The photos that are taken with the digital camera and the events in the image processing program are synchronized through the timing of separate programs. The Arduino board triggers photos to be taken at set times based on delays, and the image processing controls the speed of events at times based on the millis() function.