A photobooth created using the UDOO development board.
When the Photobooth is connected to a power source, the UDOO automatically starts the Photobooth application.
The application tries to detect the camera, and if it is connected, a big red dome button starts blinking inviting people to start a photo session.
When the red button is pushed, the camera takes 4 images which are directly shown on screen.
These 4 images are combined into a black&white collage which is stored on disk and subsequently shown in the UI.
When the photosession is finished, blinking 1P & 2P buttons indicate that the photo collage can directly be printed (1 print or 2 prints).
The prints are created on a 10×15 photo using a Canon dyesub printer. While the Photobooth is printing another photosession can directly be started.
- The UDOO runs a debian wheezy linux ARMHF image.
- The photobooth application is written in C# and runs on MONO 3.2.8 with a UI created in GTKSharp.
- A Nikon DSLR camera is used to interface with the UDOO using a managed wrapper of the libgphoto2 library. (any camera which supports capturing via PTP will do)
- Printing is done using CUPS which uses the recent LIBGutenprint52 libraries with dyesub spooler to print.
- Button clicks and lighting of the buttons is handled by the Arduino
- Communication between the C# application and the Arduino is done via the CmdMessenger 3 library over serial. (http://playground.arduino.cc/Code/CmdMessenger)
- The arduino sketch uses the SoftTimer library to allow running multiple tasks which are executed in intervals (blinking lights, reading serial, handling button clicks) (https://code.google.com/p/arduino-softtimer/)
- The lighted buttons are powered using simple BD135 transistors and PWM from the digital pins of the arduino.