Introduction: A Makers Wedding - Photo Booth
building an automated photo booth. The total build cost was around $150 as I re-used a lot of the components and materials I already had in my garage - in addition to what I could salvage from scrap yards.
Why? - I decided to build my own photo booth after trying to rent one from local photography studios. The going rate for a rented photo booth is around $600 in addition to the hourly rate of the attendent to watch over the equipment. As this was not in my wedding budget, and I did not want to deal with an additional vendor, I decided to build my own for under $200.
My Goal - Build an automated photo booth for under $200 - that could be easily operated by anyone at a party - and is durable and compact enough to fit into a compact car.
(Note* this photo booth does not print pictures. I have been working on a script that automatically uploaded the photo to flickr, but I did not finish it in time for the wedding. I'll try and include that in a future post )
Step 1: How It Works
The mechanics of the photo booth are a little bit more complicated, but ideally, the user never has to know what is going on under the hood.
The guts behind this photo booth are based on OSX lion. With Lion, the photobooth application can be extended to full screen and it can be set to use an external camera. So I connect a logitech web cam and an external monitor to a laptop running OSX Lion. The only thing i needed to build in addition to this hardware setup was an array of lights and a button (mapped to the enter key) to trigger the photobooth application to take a picture.
The "business end" of the photo booth can be seen in this step.
Step 2: Software and Trigger Button
As previously mentioned, this photobooth uses the OSX Photobooth application. The OSX Photobooth application was chosen because it was the most stable software i could find - and it comes with every MAC computer. Like most applications, users can trigger features and functions with mouse clicks and keyboard commands.
Triggering the Photobooth Application
With OSX Photobooth, pressing the Enter Key triggers the program to take a photo. I didn't want to expose my computer to people hammering on the keyboard (espeically if they had been drinking). This is why i decided to use an external button, connected to an arduino microcontroller, to trigger the photobooth application.
This is how it works:
The button is pressed - A Staples Easy button was modified to act as a regular button. It's really durable, so people can beat on it without breaking it.
An Arduino registers the button press - When it registers a button press, it sends a serial command to the computer. In this case, it sends the [enter] serial command.
AAC Keys listens to the serial port for serial commands - AAC keys is a free application which litens for serial commands and emulates mouse and keboard events. You can download it here. In this case, when AAC keys receives the [enter] serial command, it tells the computer (and the photobooth application) that someone has just pressed the enter key on the keyboard.
When the photobooth application registers the enter key being pressed, it takes a photo.
Wiring the circuit - If you do not know how to make a button circuit for an arduino, read this tutorial - http://www.arduino.cc/en/Tutorial/button
Be sure to connect the button to pin 10 on your arduino. If you choose to wire your button to a different pin, be sure to change [int buttonPin = 10] in the arduino code to match the pin number you selected.
Writing the code - Here is the code i wrote to send an [enter] serial command to the AAC Keys. If you are not familiar with writing arduino code, use this tutorial here. It's pretty easy once you get the hang of it. http://arduino.cc/en/Guide/HomePage
const int buttonPin = 10; // the number of the pushbutton pin
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600); // open the serial port at 9600 bps:
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.println();
}
else {
// nothing
}
}
Installing AAC keys - As previously mentioned, AAC keys is a free program. "That receives commands through your computer's serial port and translates them into keystrokes and mouse movements, giving you full control of your computer from another device such as an [arduino]". You can download the program here: http://www.oatsoft.org/Software/aac-keys
Using AAC Keys is quite simple. Make sure you have an arduino plugged in via usb, running the code seen above. Open AAC keys application and access the applications preferences. When the dialogue appears, check to see that you have selected the serial port associated with the connected arduino (generally it's selected by default, but it is good practice to check), and that it is running at 9600 bps.
If you've done this, AAC keys should be interpreting the button press from the arduino as an [enter] command on the keyboard. open a text editor and give it a shot. Type a few lines of text and press the button attached to your arduino instead of using the enter key. You can also open photobooth at this time and see that pressing the button triggers the program to take a picture.
Step 3: Booth Design
The photo booth was modeled after an old school LOMO camera, instead of the traditional box with a curtain, for three reasons:
- Ease of construction - Its basically a box with a fake lens on it
- Recognition - People will be able to see a large camera from far away, and they might easily deduce that it must take photos in some form or fashion.
- Novelty - The accentuated size of the camera will create a conversation piece in addition to eliminating the fear of social contract (the users fear of approaching and using it without permission or instruction)
After settling on the design, I sketched it out in adobe illustrator (the .AI file is included on this page). Illustrator is a good tool to make quick "blueprints" which can be easily scaled and printed. if you don't already own adobe illustrator, you can get the demo right here http://www.adobe.com/cfusion/tdrc/index.cfm?product=illustrator
With this quick blueprint, I created a front and side view of the camera. The size of the camera is dictated by the size of the LCD monitor and a a varying height range of users - something that would be easily accessible for people who are 5'2" - 6'4".
After completing the design, I measured the size of the panels and started building.
The Adobe Illustrator file (.AI) is attached to this page.
Step 4: Cut the Panels
Step 5: Bottom Panel - Tripod Mount
I borrowed this tripod from a friend. it has a 1 1/4" Outer Diameter tube which i used to mount onto. Home Depot sells galvanized pipe with an Inner Diameter that is slightly larger than 1 1/4" in addition to the necessary surface mounting hardware.
The galvanized pipe has a hole drilled into it, allowing me to insert a pin (which intersects with holes in the tripod tube), creating a stable mount that can only be released from inside the camera box.
Step 6: Box Construction
Step 7: Adding Components
Step 8: Testing
Note to you - TEST OFTEN AND EARLY!!
Here is a video of my early test - this is what i learned
Heat is an issue - After watching the computer overheat with about 15 minutes of use, I realized that heat was a big issue. I installed some old PC fans to help get rid of the heat.
Mac computers heat up with the Lid closed - Even with installing the fans, the compute was getting too hot. My original mouting system secured the computer in a vibration proof rig - with the lid closed. It was only after opening the computer so that the processor fans could run unobstructed that the device no longer overheated. This discovery led to 1 more fan (in the base of the camera box) and a mount which held the computer open.
The button was in the wrong place - with the button on the edge of the camera box, pressing it too hard caused the box to rock back and forth. Potentially an issue with inebriated guests, I moved the button to the center of the camera box, so that the force is directly perpendicular to the tripod.
Step 9: Details and Finishing - Part 1
Step 10: Details and Finishing - Part 2
Attachments
Step 11: Usage
I hope you enjoyied this post. Please let me know if you make this yourself and especially if you make any big changes. I'm always excited to see how people make things their own.
Matt Franks
Mfranks at famunited dot com