This instructible will show you how I built (and you can also build) an Arduino Timelapse Panning controller for GoPro cameras. There are obviously some refinements that can be made to the design, but in general I am very happy with the results that I've captured with it. Check out the video below for a quick overview of the device.
Step 1: Everything You Need
What you will need:
1x Arduino Uno Board R3
1x SainSmart LCD Keypad Shield
1x 28BYJ-48 Stepper motor
5x Female-Male Solderless Jumper Cables
1x 7-pin male header pins
1x 6x3x2" Radio Shack project Enclosure
1x 12 tooth drive gear
1x 36 tooth driven gear
2x 3x3 plate from Hillman Hobby parts
2x 1x3 bracket from Hillman Hobby parts
2x 2x3 right angle bracket from Hillman Hobby Parts
8x short screws and nuts
6x long, slender screws and nuts
4x nylon spacers
1x 5mm drive shaft
Dremel or similar Rotary Tool
Picture hanging putty
2-part metal epoxy
Step 2: Circuit Design
There's nothing much to the circuit design. The Keypad Shield plugs straight onto the Arduino. You will need to solder a seven pin male header onto the keypad shield to get access to the pins which will power and control the motor.
Step 3: Building the Chassis for He Output Shaft.
Begin by drilling out the center holes of the 1x3 brackets so they can accommodate the output shaft. Once they're wide enough to accommodate the shaft without any binding, begin assembling the output shaft by mounting your driven gear and slide it throught he bottom bracket. I've added a nylon foot to the bottom of the shaft to keep it from binding on the baseplate.
Next, begin assembling the Chassis by attaching the top bracket to the two side panels. Notice that I arranged the bolts for the top bracket with the nuts facing outward - I'd had clearance issues with the driven gear. Then, attach the bottom bracket, the side panels and the L-brackets together to form the structure.
Step 4: Machining the Baseplate
Use the completed chassis to mark out where you'll need to drill the baseplate for mounting holes. Once you have the chassis mounted, line up the motor ensuring that the gears have a good interface. I find that placing a wad of picture putty under the motor helps with this. Then, drill the mounting holes for the motor and mount it into place using two of the longer, slender bolts.
Step 5: Machining the Enclosure
Next we'll machine the enclosure. Place small dabs of putty on the four corners of the screen, and place the keypad shield into the inside of the enclosure. The putty will keep the screen in place when marking the mounting holes for the screen, and will help mark the location of the screen - excellent for marking the for corners of the screen for the hole you'll need to cut out of the top.
Use the dremel to cut the hole for the screen, and then drill out the additional holes you need, for the brightness control and the three holes you'll need for the buttons.
Finally, cut a hole in the side of the enclosure for the USB cable. Neatness counts.
Step 6: Wire Up the Motor, Upload the Sketch, and Test.
Using the five jumper cables, wire up the motor to the board as shown. When you're ready, upload the following sketch to the uno board, mount it to the shield and test to make sure everything works.
The sketch for this project can be fount at the following link. I'll apologize in advance, I'm rubbish with commenting code, so there really aren't any comments. Sorry.
Step 7: Mounting Boards Into the Enclosure
Place the long screws through the mounting holes of the enclosure and then flip the enclosure upside down. Place the spacers and buttons and then drop the keypad shield onto the screws. Loosely fit the nuts onto the screws, making sure that everything fits where it needs to and the buttons function properly. Next, place the Arduino board into place, ensuing that you can plug a USB-B cable through the hole in the side.
Now is a very good time to double check that everything works before buttoning up the enclosure.
Step 8: Finishing Touches
Spread a wad of picture putty on the inside of the enclosure and begin to fit the baseplate into the top of the enclosure. The output shaft should leave a mark in the putty and indicate where you'll need to drill the hole for the output shaft.
You can add a tripod mount to the plastic base of the enclosure by drilling a hole in the plastic base and using 2-part epoxy to weld a 1/4" nut to the base. Make sure you roughen up all mating surfaces to ensure a good bond.
Finally, you can modify a GoPro flat mount plate to accommodate the output shaft by using the picture putty to bond a plastic plate to the bottom of the mounting plate. In this case I used a spare gear. Drill a hole for the output shaft, ensuring a snug fit. You can also use 2-part epoxy in place of the putty for a more permanent bond.