Instructables

How to Do Arduino-Controlled Intelligent Time-Lapse Photography

Featured
Picture of How to Do Arduino-Controlled Intelligent Time-Lapse Photography
Project: Light-Sensitive and Adjustable Dynamic Time-Lapse Photography

By Holden Leslie-Bole

Approximate cost: $70 without the camera

I've been doing some time-lapse photography with my GoPro HERO3 for a while now, and I've gotten some great footage.  There have been times, however, when I've wanted to be able to use my DSLR to have more control over the shots that I'm getting.  I had the idea to use an infrared shutter controlled by an Arduino to be able to operate the camera remotely—I could put the circuit in a weatherproof box so that I wouldn't have to mount it directly on the camera either.

I got to thinking that if I were using an Arduino, I could add some other cool features to my time-lapse photography rig.  One problem that I've encountered when doing GoPro time-lapse is that when I set it up for a sunset shoot, if I don't time it exactly right, I may end up with a few hundred dark and uninteresting pictures.  I decided to add a photoresistor to act as a sensor of ambient light levels.  Depending on what threshold the user programs, the camera will start taking pictures when it gets light enough in a morning shot, or stop taking pictures after the sun goes down and it gets dark.  Feel free to play around with the values on this to get a light response level that suits your needs!

I also added a potentiometer to allow the user to control the interval between pictures on the fly without having to reprogram the Arduino.  This way, you could make the time lapse to speed up or slow down over the course of a shot for dramatic effect.  There is a multi-digit seven-segment display that shows whatever delay (in seconds) that the user sets.

Since many time-lapse enthusiasts are interested in adding a dynamic element to their shots, I included functionality for a servo-controlled rig that could allow the camera to rotate or pan across a scene.

This circuit is designed to be used with an infrared remote shutter. I designed this for a Nikon D3100, but any other DSLR with a remote should work just as well. In this circuit, an LED currently acts as a stand-in for the remote shutter, but adapting it for the shutter is only a matter of bypassing the button in the remote and controlling it with the Arduino. Since it is difficult to tell when an infrared transmitter is activated, the seven-segment display flashes each time a picture is taken to inform the user of its progress.

Overall, this project was designed mostly as an exercise in becoming more proficient with Arduino.  For that reason, I haven't included any instructions for mechanical dynamic rigs, but if you come up with one, please link the design in the comments!  I'd love to see it.

 
Remove these adsRemove these ads by Signing Up
jritchey10 months ago
Hello, I've made a couple varieties of these for my Nikon D5100. I use a continuous rotation servo for my linear motion, swapped the little dc motor for one with a 100:1 gear box, and a stepper for my rotational axis. Thought you might like it.
13, 9:49 PM.jpg13, 9:49 PM.jpg

awesome!!!

One if mine uses a geared DC motor to wind up a string in variable increments. The shutter release is transistor driven (camera is a Canon 1000D) and it has 2 pots to vary the interval and motor "on" time. The sled has delrin slides on aluminium rails mounted on a plywood frame. The other has no slide, but does have a LCD readout for time interval and counts the number of shots.  first ex here: https://www.youtube.com/watch?v=kFEZL44xTpE&feature=c4-overview&list=UUivJid6dvtQ9REao8Th2asg

second here: http://www.flickr.com/photos/30508648@N02/11820138615/
jj.inc9 months ago
So do 7 segments rely on the persistence of vision? It seems like it would have to if you could only illuminate one digit at a time. Also, you are probably already aware of this but you could always use a shift register like the sn74hc595n to turn 3 pins into 8. And using 4 pins I think you can squeeze in 2 shift registers and run the entire 7-segment with just those four pins, or I think there is a way to pass information through a shift register and use just the same three to control multiple ICs, but I haven't gotten that far yet.