Informing the camera of start of mission

Informing the camera of the exact moment of the launch is a tricky problem.

The fact is, you'll need to turn the camera on, start the script, put the camera in the container, seal the container  tie it to the balloon and then you'll finally be able to launch. A few minutes have elapsed, and the camera does not know when the launch has been done.

The first problem is that this delay causes an offset in all the mission timing.

Moreover, I think it's nice to start the mission with a video documenting take-off. This video cannot be too long as it fills the SD card rather fast and eats quite a bit of power.

But if you only make a video of 5 minutes and the first 4 minutes of video depict the packaging of the camera, that isn't going to be that fun!

The ideal solution involves turning on the camera, starting the script in a sort of "paused" mode and then having a simple but effective way to inform the camera when to actually start shooting.

More sophisticated approaches might work, but I went for the simple one: keep the camera's lense covered and uncover it just before the launch. When started, the script would meter luminosity and detect the moment of the dark-to-light transition.

It turned out a 35mm film canister is almost right for the size of the Ixus 80 lens. For the younger readers, this is a 35mm film canister:

You probably aren't buying 35mm film since a while, but you'll still find plenty of them in a photography stores. Run and grab a few before they become rare!

As I was saying, this turn out being a little bit too small to fit on the lens, just doing a few longitudinal cuts gives the plastic the right flexibility to fit perfectly. This is my camera with the cover on (a "handle" made of black tape can be useful to take the cover off when the camera is inside its container):

Finally, this is the function used by the script:

     function wait_for_light()
      repeat
       sleep(5000)
       print("Waiting for start...")
       t=read_bv96()
      until t>0
      print("Started!")
     end

Every 5 seconds, the camera reads the the scene luminosity, and only proceeds when it's large enough (0 turned out to be a reasonable trigger point)

This is the procedure I followed at launch:
- turn on the camera
- cover the lens
- run the script
- package the camera
- just before takeoff, remove the cover
- the camera starts filming
- launch!