Here is a little project around an arduino mini pro that was pretty simple to do and which allows me to go back to electronics as I’ve neglected it these months.

So, what’s a timelapse ? A function you can find directly on some camera or as an external device that you can plug on you camera which allows you to take pictures at a regular pace in order to make a video out of it. One of the most common usage is to take pictures of clouds and replay that at high speed. Here are two examples I’ve made with my system (canon 550d/sigma 50mm 1.4 + arduino timelapse) :

To interface with the camera, I simply use a 2.5mm jack which is used to remote control the shutter and focus. Here is the schematic for canon camera:  

 

To isolate the camera control from the rest of the circuit, I’ve used two optocoupleurs 4n35. They are plugged to a digital I/O pin of the arduino with a 560Ohm resistor. 

Now I need a nice human interface here … I’ve chosed a small LCD 1 and half inches large (HMC16223SG)  that I’ve bought online at Pollin. It’s controlled by a HD44780 that I use in 4bits mode to reduce the number of wires (7 instead of 11). There is just one drawback with this LCD, there is no backlight, but this is not really an issue here.

I’ve found a nice enclosure at my local store, 5x2.3x1.2 inches large with a 9v battery place and a translucent plastic windows for the LCD. I’ve struggled a bit to pack everything in, but it fits.   

Here is the inside view :

  

I’ve put 3 push buttons to navigate in the menu. I’ve already use those ones in a previous project, nice feeling and small enough.

And the outside view :

The two buttons on the right are used to navigate up and down in the menu, the left button select the entry and once an entry is selected, the right buttons allows you to change the current value.

Here is what you can find in the menu :

  • GO - start shoot session. 
  • Automatic (shoot count/interval/total time) - This allows you to choose the parameter that will be automatically computed. e.g. : if shoot count is selected, it will be deduced from the total time and the interval between shoots.
  • Interval - time between each shoot.
  • Shoot count.
  • Total time.
  • Use focus - Do or don’t do a focus before every shoot.
  • Focus duration.
  • Delay before first shoot.
  • Test mode.

There are two leds on the front, the green one is used to see if it is powerd on, the yellow one is use to know if the current menu entry is selected and also to know if we are in a shoot session (blinking every seconds).

I’ve also used the eeprom to store all the parameters, so you don’t have to set all your parameters everytime.

The software is 650 lines long, it’s not really optimized (well, I’m a bit lazy) but it’s working well, that’s all I ask.

I’m already thinking about some extensions, like triggers from sound or light events. There is still some room in the enclosure, not that much, but it can probably fit in.

If you are intersted in the software, I can post it … as I’ve sayed, it’s not optimized, not really well written, but it works.