User Tools

Site Tools


photo_booth

Photo booth

As you're probably aware we have a long standing tradition of having a photo booth active during parties thrown by UID. It has befallen, for obvious reasons, IxD for creating, maintaining and decorating said photo booth. This wiki entry will detail on how to set up the technology side of the equation, and some thoughts on what else may be required.

We have used the school's Canon 7D camera for the photo booths, because it can be triggered from a computer, and you can see the live view from the camera on a computer screen. The problem is that you don't want the people in the photo booth to hit a mouse or a keyboard to trigger the camera, that's where the following system comes into play.

Aside from the camera you will need

External power supply for the camera, so you can power it from a wall socket, instead of battery.
Lens, for smaller spaces use the Samyang fisheye lens.
Arduino Leonardo, because the Leonardo can emulate a keyboard. An UNO will not work.
A tough button, we have one already made, a red arcade button in a white enclosure.
Computer, screen, keyboard, mouse, needless to say
External flash, from photo studio. It's optional, but can come in handy if space is dark.

Hardware

First set up the computer, you will need to get administrator privileges to the computer to do it. It will need to be a PC, as the software required does not run on a Mac. Install the Arduino IDE and the drivers for the Arduino Leonardo. Instructions on how to do this exist on the Arduino homepage.

Second install the Canon Utility software, available from the Canon download for drivers and software. It comes bundled as a package called EOS Digital Solution Disk Software, but you only need to install the Canon EOS Utility from the package.

Verify that the live preview works, and that hitting the space bar on the keyboard takes a photo.

Now it's time to program the Leonardo. There's a great example here for how to hook it up. If you're using the pre-made button the wires should already be labeled, connect them as instructed.

Using the following code the Leonardo will send a space-bar press back to the computer, so if the shooting window in the EOS Utility software is activated it should now work to take a photo.

const int buttonPin = 4;          // input pin for pushbutton
int previousButtonState = HIGH;   // for checking the state of a pushButton
int counter = 0;                  // button push counter

void setup() {
  // make the pushButton pin an input:
  pinMode(buttonPin, INPUT);
  // initialize control over the keyboard:
  Keyboard.begin();
}

void loop() {
  // read the pushbutton:
  int buttonState = digitalRead(buttonPin);
  // if the button state has changed, 
  if ((buttonState != previousButtonState) 
    // and it's currently pressed:
  && (buttonState == HIGH)) {
    // increment the button counter
    counter++;
    // type out a message
    Keyboard.print(" "); // send a space back to computer
  }
  // save the current button state for comparison next time:
  previousButtonState = buttonState; 
}


Further thoughts

This is but one way to skin a cat. Any way you can get the computer to do a space bar press will likely work. In the past we have successfully hacked keyboards, and computer mice, and also used the MaKey-MaKey to do it. The steps outlined in this wiki entry were intended to provide with one easy and easily replicatable solution.

What can be nice is if you hook up the live view on a monitor and then attach a projector as a second screen, and on that project you use XnView to look at the folder where the images are being stored and show them in a slide show on the projector. XnView is great as it has a setting to continuously check the folder if new images have come in, instead of running the slideshow with only the photos that existed when the slideshow was started.

It's worthwhile to check in on the photo booth now and then to make sure the camera is still running. If no photo is taken for 30 minutes the camera will shut off, so make sure you start the system just before people start arriving. Also, make sure that you build a very rugged construction for the camera to mount to so people don't accidentally damage the camera in any way, as it is a very expensive piece of equipment.

Good luck photo boothing!

photo_booth.txt · Last modified: 2014/10/31 10:16 by mrpumpernickel