Summary: DC3400TimeLapse allows a user to take time lapse pictures with the Kodak DC3400 digital camera. The timing parameters are user settable, either through prompts or through command line parameters. If desired, the user can change the camera settings (like focus mode, zoom, flash, etc.) with the Camera Controls software before starting the time lapse sequence. The script will exit either after a specified number of pictures or when the mouse cursor is kept in the upper left corner of the screen.
Background: I recently purchased a Kodak DC3400 Digital Camera. While the pictures it takes are great, the Kodak supplied control software left a little to be desired. I was used to working with webcam and video capture card software, and had formed some expectations of computer controlled cameras. The Kodak software allows the user to set any camera settings easily, but it doesn't allow easy transfer of images from the camera to the hard disk. You can take a picture with the Kodak software. You can delete the picture with the Kodak software. But, to transfer images from the camera, you have to drag and drop the images in Windows Explorer. In addition, the Kodak software lacks any provision for automating picture taking with the camera. To me, one of the big benefits of having a camera connected to the computer is being able to program it to take time lapse photos. These photos can be used for home security, web cams, artistic stuff, whatever.
Kodak does have a Software Developers Kit that a programmer can use to write custom applications in visual basic ot C++. I downloaded this, but didn't fell like investing the time to learn C++. Soon after, I stumbled onto AutoIt, a freeware scripting program that can automate keystrokes and mouse commands in Windows. I used a freeware AutoIt Script Writer to create AutoIt scripts to control the camera and download pictures in my hard disk.
Preparation:
Install the Kodak DC3400 software that came with your camera.
Download AutoIt from the AutoIt
homepage and install it.
If you want to edit the AutoIt scripts, download and install the Script
Writer software.
There are two changes you have to make to your Windows configuration.
First you have to add the camera picture directory to the bottom of
the list of favorates in Windows Explorer.
DC3400TimeLapse can be run a couple different ways. The first is to simply doubleclick on the .aut script file. The program will start and prompt the user for the following parameters:
Card time: This is the time it takes the camera to take
a picture, save it to the memory card and tell the computer the camera
is done. This time will vary depending on the resolution and quality
of the pictures you take, as well as if you are using the regular serial
or USB port for camera communication. I use the larger picture size,
medium picture quality and USB port. A camera setting of 25 seconds
works for me. You will need to experiment to find how short this
time can be on your system and settings. Be sure to test this on
the first picture the camera takes after power-up so as to include the
lens extension time. Start high and shorten the time gradually.
If you pick a card time setting that is too short, the script may hang.
Time lapse: The time in seconds between the pictures in
your time lapse sequence. The script watches the computer's clock
and takes the picture when the proper number of seconds have passed since
the last picture was taken. The minimum time lapse between pictures
will depend on the Card time setting and how fast your computer transfers
the picture from the camera and deletes it from the camera. If the
Time lapse value is greater than the picture taking cycle, the software
will pause and give a countdown until the next picture. If the picture
taking cycle takes longer than the desired Time lapse value, there will
be no pause, and the next picture will be taken immediately.
Number of Pictures: When this number of pictures is reached,
the script will close the Camera Control and Explorer windows and exit.
If this parameter is set to zero, the software will loop infinitely.
In either case, if the mouse is moved so the cursor is in the upper left
corner of the screen either when the last picture is deleted, or during
the countdown between pictures, the software will exit.
Setup flag: If set to zero, the picture taking cycle begins
using the default camera settings. If set to one, the user can change
the camera settings (like focus mode, zoom, flash, etc.) with the Camera
Controls software before starting the time lapse sequence. When changing
settings, be sure to apply them to the camera before taking a test picture,
and be sure to delete the test picture after taking it.
The program can also get the parameter values by specifying them from a command line. One way to do this is by creating a shortcut to AutoIt. The shortcut line would have the format:
"<AutoIt directory>\AutoIt.exe" C:\<script directory>\DC3400TimeLapse.aut /C <CardTime> /L <Lapse> /P <Pictures> /S <SetupFlag>
The first part of the shortcut, the part that calls AutoIt, must be within double quotation marks. The parameters must be in alphabetical order and must all be present. Here is an example of my shortcut. It set the card time to 25 seconds, the time between pictures to 45 seconds, the number of pictures to 3 and lets me adjust the camera settings before starting to take pictures.
"C:\Program Files\AutoIt\AutoIt.exe" C:\todd\AutoItScripts\DC3400TimeLapse.aut
/C 25 /L 45 /P 3 /S 1