Weddings are fun, but weddings with photobooths are more fun. Read along as I document the design and build of a raspberry pi powered photobooth!
First, things first–I need a camera. I would like a camera that 1)produces adequate quality images, 2)relatively inexpensive, and 3)able to be manipulated (activate shutter) with a computer/simply electronics. After some searching around, I found a python USB API for Canon cameras (see here). I think if I ended up going this route, it wouldn’t be all that difficult of a build. However, I found a few sample images of photos that the raspberry pi’s camera shot and found it to be a nice alternative. It is guaranteed to work without too much trouble with the RPi, is quite inexpensive (~$25), and fits inside a few of the readily available pi plastic casings.
There are plenty of inexpensive RPi casings available ranging from $5 to over $50! They are almost all, however, somewhat boring–so I started a search for another casing I could use that would give my RPi setup some personality. I came across an old [broken] Sega Dreamcast console for about $5. The Dreamcast console has a pop-up disc drive opening controlled by a spring-loaded button, a simple on-off power button, as well as some built-in ports in its plastic casing in the back and front for power/AV cords and controller connections, respectively.
I figured this would be a good start for my project, so I picked it up and quickly began the disassembly process. I was surprised how easy the console came apart using a simple screwdriver. Within 15 minutes, I was able to separate the top and bottom halves of the casing, remove the disc drive reader, motherboard, and power supply. I came across a small fan that I chose to leave in place to allow some ventilation if I chose to at some point in the future.
You’re sitting in bed, drifting away to sleep, but your light is on. Who wants to get out from bed and switch the lights off? The year is 2014–why are we still carrying around keys for our homes? All of these issues can be addressed with the concept of home automation, that comes along with a variety of protocols (X10, insteon, z-wave, etc).
I wanted to get started on a project that was 1) low cost, 2) wireless, 3) relatively expandable, and 4) DIY. The raspberry pi seemed to be the obvious answer for me. There are countless others who have used the RPi for home automation such as controlling lamps, LEDs, integrating motion sensors, scheduling events–so I naturally turned to a few of these write-ups for guidance.
I started with an Etekcity RF remote control outlet controller. If I could automate the button signal on the remote’s circuit board using the Pi, I could simulate a button press for the on or off event and control electrical devices this way. I accomplished this using a relay. Applying 3.3V from the GPIO to a relay can activate a mechanical switch that closes the circuit for a designated button on the remote. A similar circuit could then be repeated for each respective button.
After getting accustomed to the workings and capabilities of a Raspberry Pi, I came up with an idea for my first project: An internet-controllable and/or schedule-automated pet dry food feeder. I did a quick google search and found a similar project with a great write-up by David Bryan, so I started here for reference.
First, I need a feeding apparatus. I went with a similar choice as chosen by David Bryan, just a different brand (link). I will be using a cereal (dry food) dispenser with a rotary knob for controlling the amount of food dispensed. I went with a similar servo as mentioned in the previous project as well. The servo will be attached to the knob and run for a designated and calibrated duration of time to dispense the exact amount of food desired.