CHDK/uBASIC/Scripts: A fast "intervalometer"

A fast "intervalometer"

 * Written for/on: S3, using CHDK v148
 * Also works on: unknown (probably all)

by Divalent. 9/30/2007

SCRIPT DESCRIPTION:

This "intervalometer" is not really an intervalometer per se, it's just a program that will allow you to execute the continual mode for acquiring images as fast as possible when your purpose is to generate a time lapse sequence to create a movie. For that purpose, you typically want the camera mounted on a tripod, and don't want to have to have your finger on the shutter button. Thus, you minimize movement of the camera.

This script allows you to start image acquisition with the touch of one button (specifically, one of the 4 directional buttons on the camera), and it will end either when a specified time expires, or if you hit another button on the camera.

The continual mode allows you collect images at the fastest possible rate, typically 2.4 fps (0.42 sec per image) under optimal conditions, whereas with an intervalometer script the best you can do is about 1.5 sec per image.

NOTE: when using this Script, you must first place the camera in continual mode (on an S3, you do that by hitting the timer button once, if it wasn't in that mode to begin with).

One tradeoff to note is that the continual mode does not re-adjust the exposure (or focus, if not using MF) prior to each shot. Instead, (and unlike the true intervalometer scripts) each image is acquired using whatever was determined to be appropriate for the first shot.

Documentation/Help There is none: if you want, cut and paste the above text and save it as a small "fast_intv.txt" file to your /CHDK/SCRIPTS/ folder.

Script Code (save as "fast_intv.bas" to your /CHDK/SCRIPTS/ folder)

rem author Divalent rem camera: S3, CHDK v148, Operating in P mode rem rem Save this file as "fast_intv.bas" in the SCRIPTS directory rem rem This version uses the continuous mode in an S3 for taking consecutive rem images rem  as fast as the camera can shoot them (on my camera, rem  about 2.4 FPS, or ~420 msecs apart). rem rem NOTE: unlike a slower intervalometer script, there is NO refocussing rem  nor any exposure readjustment between images. What you get is what you rem  start with. 2 secs is allowed before the start to focus and set rem  the exposure. rem rem To use, you must set the camera into continuous mode. This script will rem then just keep it shooting until any button is pressed on the camera or rem  until the user specifed duration is up. rem @title Fast Intervalometer @param m duration of sequence (Min) @default m 0 @param d duration of sequence (sec) @default d 10 rem rem validate duration value d=m*60+d if d<2 then d=2 rem now convert to msec (for waitclick timeout) d=d*1000
 * loopa

rem clear key queue wait_click 100 print "     " print "     " print "     " print "Fast Intervalometer" print "R U in Continual Mode?" print "any ARROW key -> start" print "     SET key -> ABORT" rem wait_click is_key k "left" if k=1 then goto "start_shooting" is_key k "right" if k=1 then goto "start_shooting" is_key k "up" if k=1 then goto "start_shooting" is_key k "down" if k=1 then goto "start_shooting" is_key k "set" if k=1 then goto "abort_script" rem goto "loopa" rem
 * start_shooting

rem first get camera to lock in focus and exposure press "shoot_half" sleep 500 print "     " print "Shooting continually!!" print "   ****    " print "Hit ANY key to END" rem sleep 1500 press "shoot_full" sleep 1000 wait_click d  release "shoot_full" sleep 100 release "shoot_half" rem is above needed? print "     " print "     " print "**** FINISHED ****" print "     " goto "prog_end"
 * abort_script

print "     " print "**** ABORTED ****"
 * prog_end

end

--72.145.117.83