## Shutter Bracketing

**Written for/on:**Canon A640**Also works on:**Other Canon AXXX (Not tested), A620 (tested - works fine)

Shutter Bracketing by Johan Van Barel (http://www.vanbarel.com)

The purpose is to create a High Dynamic Range (HDR) image from a set of images taken at different exposures.

The script takes a number of images around the selected shutter speed. So if you take 3 pictures, with shutter speed set to 1/250" and Step Size=3 (=1EV), it will take the first picture at 1/500", the second at 1/250" and the third at 1/125". You can later stitch the images together with a program like Photomatix (http://www.hdrsoft.com/index.html)

ps. There seems to be a minor bug in the set_tv command. After the script has finished, the display does not show the actual shutter speed value. You can check this by half-pressing the shoot button. This will update the display to the correct internal shutter speed value.

**Documentation/Help** (save as a small ShutterBracket.txt" file to your /CHDK/SCRIPTS/ folder)

Select M mode on your Canon A640 and manually select your desired center shutter speed.

Parameters:

- Number of Pics (Default=3)
- Shutter Step Size (1/3 EV) (Default=3)
- Initial Delay (Sec) (Default=1)

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

rem Johan Van Barel 30-03-2008 rem Shutter-Bracketing for Canon A640 @title Shutter Bracket (Select M Mode) @param a Number of Pics @default a 3 @param b Shutter Step Size (1/3 EV) @default b 3 @param c Initial Delay (Sec) @default c 1 if a<2 then let a=2 if b<1 then let b=1 if c<0 then let c=0 print "Pics:"; a, "Step:"; b sleep c*1000 get_user_tv_id x set_tv_rel (a-1)*b/2 for s=1 to a get_user_tv_id t gosub "showshutter" shoot set_tv_rel -b next s set_tv x end :showshutter if t=-13 then print "Pic", s, "of", a, "T=15s" if t=-12 then print "Pic", s, "of", a, "T=13s" if t=-11 then print "Pic", s, "of", a, "T=10s" if t=-10 then print "Pic", s, "of", a, "T=..s" if t=-9 then print "Pic", s, "of", a, "T=8s" if t=-8 then print "Pic", s, "of", a, "T=6s" if t=-7 then print "Pic", s, "of", a, "T=5s" if t=-6 then print "Pic", s, "of", a, "T=4s" if t=-5 then print "Pic", s, "of", a, "T=3.2s" if t=-4 then print "Pic", s, "of", a, "T=2.5s" if t=-3 then print "Pic", s, "of", a, "T=2s" if t=-2 then print "Pic", s, "of", a, "T=1.6s" if t=-1 then print "Pic", s, "of", a, "T=1.3s" if t=0 then print "Pic", s, "of", a, "T=1s" if t=1 then print "Pic", s, "of", a, "T=0.8s" if t=2 then print "Pic", s, "of", a, "T=0.6s" if t=3 then print "Pic", s, "of", a, "T=0.5s" if t=4 then print "Pic", s, "of", a, "T=0.4s" if t=5 then print "Pic", s, "of", a, "T=0.3s" if t=6 then print "Pic", s, "of", a, "T=1/4s" if t=7 then print "Pic", s, "of", a, "T=1/5s" if t=8 then print "Pic", s, "of", a, "T=1/6s" if t=9 then print "Pic", s, "of", a, "T=1/8s" if t=10 then print "Pic", s, "of", a, "T=1/10s" if t=11 then print "Pic", s, "of", a, "T=1/13s" if t=12 then print "Pic", s, "of", a, "T=1/15s" if t=13 then print "Pic", s, "of", a, "T=1/20s" if t=14 then print "Pic", s, "of", a, "T=1/25s" if t=15 then print "Pic", s, "of", a, "T=1/30s" if t=16 then print "Pic", s, "of", a, "T=1/40s" if t=17 then print "Pic", s, "of", a, "T=1/50s" if t=18 then print "Pic", s, "of", a, "T=1/60s" if t=19 then print "Pic", s, "of", a, "T=1/80s" if t=20 then print "Pic", s, "of", a, "T=1/100s" if t=21 then print "Pic", s, "of", a, "T=1/125s" if t=22 then print "Pic", s, "of", a, "T=1/160s" if t=23 then print "Pic", s, "of", a, "T=1/200s" if t=24 then print "Pic", s, "of", a, "T=1/250s" if t=25 then print "Pic", s, "of", a, "T=1/320s" if t=26 then print "Pic", s, "of", a, "T=1/400s" if t=27 then print "Pic", s, "of", a, "T=1/500s" if t=28 then print "Pic", s, "of", a, "T=1/640s" if t=29 then print "Pic", s, "of", a, "T=..s" if t=30 then print "Pic", s, "of", a, "T=1/800s" if t=31 then print "Pic", s, "of", a, "T=1/1000s" if t=32 then print "Pic", s, "of", a, "T=1/1250s" if t=33 then print "Pic", s, "of", a, "T=1/1600s" if t=34 then print "Pic", s, "of", a, "T=1/2000s" if t=35 then print "Pic", s, "of", a, "T=1/2500s" return