Arduino for Photographers: Building a Universal Intervalometer




Practicing the art of time-lapse photography without an intervalometer is doable, but not particularly efficient. And while any decent photo equipment store will be happy to sell you one, you can go the DIY way and build your own intervalometer based on the excellent Arduino platform.

Theoretically, building an Arduino-based intervalometer is as easy as connecting an infrared (IR) LED to the GND and 13 pins and then feeding the Arduino a simple sketch with controls the IR LED. But by adding a few more components and tweaking the sketch, you can build something a little more advanced.

Arduino for Photographers Building a Universal Intervalometer




First of all, here is a list of parts you need for this project (besides Arduino, of course):

  • Infrared LED (940nm)
  • Green or red LED
  • 100 Ohm resistor
  • Breadboard
  • Handful of jumper M/M wires

You need the last two items only if you want to build a prototype first. Before you start, you should connect Arduino to your machine and install the Arduino IDE. The Arduino Getting Started guide can help you with this. Once Arduino is up and running, grab the latest version of the Multi Camera IR Control library, unzip the downloaded archive, and move the resulting folder into the ~/sketchbook/libraries directory (if the directory doesn’t exist, create it manually). The great thing about the Multi Camera IR Control library is that it supports a wide range of camera models of many popular brands, including Nikon, Canon, Pentax, Olympus, and Sony. So you can use your DIY intervalometer with virtually any DSLR with an IR receiver.

If you are using a breadboard for prototyping, here is the wiring diagram for your convenience:

(Both the schematics and the breadboard wiring are created using the excellent Fritzing software). As you can see, this is all pretty straightforward stuff. LED2 acts as a status indicator: it blinks just before the IR LED is activated, which signals to you that the camera is about to fire.

All you need to do now is to write a sketch that controls the LEDs. Here is what the sketch for controlling Nikon DSLRs looks like (tested with Nikon D5000 and Nikon D90):

#include <multiCameraIrControl.h>
int onValue = 10; // specify how long the status LED is turned on
int delayValue = 5000; // specify interval between shots in milliseconds
Nikon D90(9); // specifies the camera model
void setup(){
pinMode(13, OUTPUT); // initialize pin 13 as an output.
}
void loop(){
digitalWrite(13, HIGH); // set the LED on
delay(onValue); // wait
D90.shutterNow(); // trigger the shutter
digitalWrite(13, LOW); // set the LED off
delay(delayValue-onValue); // wait
}

Arduino for Photographers Building a Universal Intervalometer SchematicOf course, you can easily modify it for use with your particular camera model, and the sample code bundled with the Multi Camera IR Control contains a few examples that can help you to get started.

So how does this sketch works? The onValue variable specifies how long the LED2 stays on. Usually, you’d want it to blink briefly, so 10 milliseconds work just fine. The delayValue variable defines the interval between shots in milliseconds, while the Nikon D90(9); statement defines the camera model and the pin to which the IR LED is connected. In this case, the camera is Nikon D90 and the IR LED is connected to pin 9. The rest is easy. The digitalWrite command turns LED2 on and off, and the D90.shutterNow(); command activates the IR LED which, in turn, triggers the camera shutter.

 

For more detail: Arduino for Photographers: Building a Universal Intervalometer




Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:
Introducing RFToy, an Arduino-compatible gadget for radio frequency modules
Introducing RFToy, an Arduino-compatible gadget for radio frequency modules

Features ATmega328p @ 3.3V, 8MHz, with CH340G USB-serial converter and Arduino bootloader. Programming in Arduino using the on-board mini-USB port....

Close
Scroll to top