The purpose of this project is create an timelapse/panorama photo machine with Phidgets.
Before attempting this project, I had worked through the following projects:
- The Getting Started Kit.
- The Rover Kit
For more information, check out the Student Page
The parts I used from Phidgets are listed below. I also 3D Printed a majority of the pan/tilt assembly. The rest of the parts (assortment of other nuts, bolts, dowels, etc.) can be found at a local hardware store.
The VINT Hub Phidget is connected to the computer. From the VINT Hub, the servo and stepper drivers are connected to control the motors, and receive power from an external source.
- Stepper Motor: This controls the rotation of the platform.
- Big Servo: This controls the tilt angle of the camera.
- Small Servo: This servo is paired with some wire and a 3D printed part to trigger the shutter.
The 16x RC Servo Phidget controls both servos while the 4A Stepper Phidget controls the stepper. The benefit of using Phidgets in this situation is so that I could focus on my software instead of spending hours and hours on the hardware!
Camera Mount Setup
The camera mount consisted of a rotating platform (stepper motor) and a camera holder that tilts with the help of a servo. There is a smaller blue servo in the image that is used to trigger the camera. The constuction of the camera mount required the creation and assembly of a number of parts. Here is a download containing more details and drawings of the mount.
In order to precisely control the camera mount, some user-friendly software was required. I created a Graphical User Interface (GUI) in NetBeans to organize and aid the photo taking process. You can download my files here.
Panoramas were the main motivation behind this project. With a proper setup, high-quality panoramas can be shot in minutes by stitching together multiple smaller segments of the landscape. Prior to starting to take the panorama, the GUI will display the grid and coordinate elements necessary to complete the panorama. A stitching software, such as Microsoft ICE, can then be used to stitch the images together. With this feature, you can also take a high-quality image that does not stretch the full 360 degrees by limiting the desired angles in the panorama set up.
Camera Field of View
In order to determine how much your camera can see, you have to determine the camera's field of view found in the Panorama Help section of the GUI. First, you align a static object in the landscape to the edge of its screen. Press “Reset to 0” to start the counter from that position, then move the camera until the same static object makes contact with the opposite edge. Repeat this process for the other axis as well. The angle given will be the camera’s horizontal and vertical fields of view.
This feature allows you to use your camera to shoot time lapse videos or to take photolapses. It gives you the option to activate the shutter or not depending on whether you wish to take a series of pictures or a single video. Once you press start, the tilt will move to the initial angle, and it will slowly move to the desired angles over the amount of time specified. I put the pictures together into a video file using Time Lapse Creator.
Sometimes, freely moving the Pan/Tilt assembly with accuracy is required. Manual Move allows you to move the assembly by inputting the desired coordinates or by using the sliders. This can also be used to determine the idling and active positions of the shutter servo - the position needed to make the camera snap a picture.
In this video, you can see the trigger system in action. The small servo rotates pulling in a 3D printed part with actuates the camera.
In this video, the machine working and taking the pictures that the photo at the top of this project is comprised of.
- To improve the tilting ability, you must lower the centre of gravity. Keep this in mind if you wish to use a higher quality camera like a DSLR instead of a small compact camera.
- For higher accuracy, another stepper could be used for the tilting axis as well instead of a servo.
- Lastly, my next step would be to develop other features such as the ability to input formulas to make non-linear trajectories, or the ability to use a series of coordinates that the assembly will follow in the same way 3D printers or CNC machines use .gcode to operate.
- The setup could be used as a security camera, if connected to a monitor to display a live feed.
- The manual move functions could be used to look around from a remote location.
Have a cool project or suggestions for future education projects? Let us know at firstname.lastname@example.org