The World Most Simple Homemade Intervalometer Project and a Sample First Project.
A while back I stumbled across the incredibly cool Arduino project. After some thinking and research, I decided on a modest first project: an intervalometer for my Canon 350D. Timm Suess’s Intervaluino blog post was a big inspiration and a great starting point.
First Step: Buy some parts! A Bern company, dshop.ch had Arduino Duemilanove (USB) boards in stock for SFr49 each. And a local shop Pusterla had the other little bits (power switch, battery connection, solid wires, wiring board, male 3.5mm jack) required. The remaining bits were items I had about the house, namely an old business card box as a housing and an old hairband donated by my wife to hold everything together
Second Step: Assembly. I had three goals in mind with the construction step:
- The intervalometer must be small. It should fit readily into my camera bag
- The intervalometer should be somewhat robust. It needs to take a licking and keep on clicking.
- The intervalometer must be easy to create and modify. Me being me, it is going to be modified at some point.
My initial attempt at wiring everything up relied upon a schematic from Timm Suess, and annotated by a friend, Lincoln Stoll. The problem was the relay was just not relaying for me. So I ripped it out and wired up the trigger directly to the Duemilanove. Reckless, maybe. But it worked.
// Stu's Magic Intervalometer code int shutter_on = 300; //time to press shutter, set between 100 and 300 int shutter_wait = 2500; //interval between button up & button down int outpin = 12; //output for shutter relay from pin 11 int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(outpin, OUTPUT); //outpin gives output } void loop(){ digitalWrite(outpin, HIGH); //press the shutter digitalWrite(ledPin, HIGH); //turn ON orange LED delay(shutter_on); //wait the shutter release time digitalWrite(outpin, LOW); //release shutter digitalWrite(ledPin, LOW); //turn OFF orange LED delay(shutter_wait); //wait for next round }
Once this is written, and after saving, it is quick and easy to connected the Arduino to my Mac with a USB cable and upload the program.
Fourth Step: Capture the stuff that will be used as individual frames in a movie. Our flat overlooks a park with a playground which seemed like a good subject.
- Set up the Canon EOS 350D with f1.8 lens on a tripod looking out the window
- Set image quality to low (1728 × 1152)
- Manual focus lens, turn of auto-focus
- Turn off post-shoot image view
- Connect Intervalometer
- Flip the switch!
After about an hour there were ~1000 shots.
Fifth Step: Process the stuff into a movie. This is not as hard as it sounds, but the approach I took does require some familiarity with the command line.
- Import photos from camera to MacBook Pro
- Resize stuff to 1920×1080 (native wide screen HD video)
- Rename stuff into a sequentially numbered series of files
- Compile stuff into movie
Moving photos from a camera to computer is trivial. Resizing 1000+ stuff is a bit trickier, as is renaming the files. The original names are from the camera. E.g.: IMG_9350.JPG. To convert into a movie, we need them to start at 0. E.g.: 0000.jpg. To do this I wrote a small bash script for the task:
#!/bin/bash
set -x
id=0
for photo in ./orig/*
do
id=$(($id+1))
newPhoto="$(printf "%04d" $id)"
sips -z 1080 1920 $photo
--out "$
newPhoto
.jpg"
done
Once the above script has run, the last thing to do is turn all the stuff into a video with FFmpeg. FFmpeg is a big, complicated program with a zillion options and features. Basically, the command below instructions FFmpeg to compile the stuff into a video at 25 frames per second with bit rate of 1024kbps using the h264 codec.
ffmpeg -i %04d.jpg -vcodec libx264 -f mp4 -b 1024k -r 25 -y playground.mp4
What’s next? I’ve been thinking about this a while and plan the following:
- Securing the wiring to the Arduino board. At the moment, when changing the battery or reprogramming the device, the wires can come out of the circuit board.
- Add some big flashing lights. I like teh blinky lights!
- Find a more interesting subject to photograph
- Use a shallow depth of field for interesting effects. “The Sandpit”, also known as “A Day in the Life of New York City in Miniature”, by Sam O’Hare is kind of in the direction I’d like to go.
- Add some sound or music