Still suffering from insomnia, so some more random thoughts, this time on operating the camera. As usual, these are my opinions and are not guaranteed to be accurate or even thunk by a being from your own planet.
Once I had the mechanism pointing the camera in the right direction, I had to focus it and/ or take the shot. This is how I wasted a lot of time and effort to little avail.
I have to say at the outset that auto-focusing is best avoided if at all possible. Should the scene lack contrast or be particularly featureless, then focus may not be achieved within the time allowed by the program and shots may be blurred or even missed. Much safer to set the focus manually at the hyperfocal point unless you have some way of detecting when focus is achieved. I thought of fixing a LEGO sound sensor to detect the 'beep' but did not pursue this because I suspected it might not always be possible to distinguish it from ambient noise.
However, sometimes manual focus is not possible so provision should be made for focusing as well as shutter release.
There are two main methods, direct application of pressure to the shutter release and operation of a remote control.
Direct application can be made by an old fashioned 'cable release' since this does not require anything mounted on the camera or head, but few modern cameras have the necessary thread in the shutter release button.
If you are building a simple head which will always use the same camera and the same lens, then some form of structure can be built to hold a motor with a cam over the shutter release.
If different cameras will be used or the same camera but it has to slide back and forward to suit different lenses, then building a reliable framework is not so easy.
There is also the problem of building a device which can consistently move enough to always focus but not shoot, then shoot without overstressing the button. Not saying it can't be done because many people have achieved it, just that it's tricky. Especially if it has to accommodate different cameras or camera locations, as well as being mounted in either portrait or landscape orientations. And how do you ensure it is always zeroed before the sequence starts? I had to zero most of mine manually, and frequently forgot.
The first one I built was copied from a design I saw on the web and used a cable release on my Fuji S9500. It worked fairly well but the head of the cable tended to slide on the LEGO beams and I was always concerned that a programming error would exert too much force and push the top of the release button off the camera or damage the switches. It also tended to disintegrate until I reinforced the LEGO pins with 4mm bolts.http://www.flickr.com/photos/73571158@N00/6773901810/
I modified this by building what was, in effect, a 'linear actuator' which held the cable better and applied a straight force to it. This could have been self-limiting by placing a collar over the exposed plunger to limit cable movement and avoid damage to the camera. If only I could remember to zero it before I started.... So, my failing wits meant that other methods were required.http://www.flickr.com/photos/73571158@N00/4608466281/
A short lecture now from our sponsor on remote controls of which there are two basic types, infra red and 'plug-in'.
Most dSLRs have some form of port for a remote 'electronic' shutter release. This site has a list of the pinouts for major manufacturers.http://www.doc-diy.net/photo/remote_pinout/
With a few exceptions, these releases are simple switches which just complete a circuit the same as a light switch. Simply plugging into the port and shorting the wires has the same effect. This is the modern (and better) version of the old cable release, you have a flexible cable which can move with the camera.
Panasonic/Lumix have a slightly different system involving placing three different resistances over two of the wires. R1 lets the camera know a remote is attached, R2 that the focus button is pressed and R3 that the shutter release is pressed. R2 and R3 are connected by pressing microswitches.
Most of the rest consist of three long, flat springs which get pushed together when you apply pressure. Each is connected to the plug by a separate wire.
Normally the top spring is for the focus control and the middle is the earth (or common) lead. As the top spring descends, it touches the centre spring and completes the focus circuit. As pressure increases the centre spring touches the bottom one to fire the shutter. This sequence is exactly the same as pressing the camera shutter release.
My next attempt was to place the internals of such a device (Canon) into a LEGO framework and pressed down by a cam on a LEGO motor. This was much more controllable but had the same defect as before - it had to be zeroed before use.http://www.flickr.com/photos/73571158@N ... 635436569/
I then added a connector so that I could plug in different cables to suit different cameras. Canon (my 350D) used a standard stereo audio cable which also fitted a socket in the side of my S9500 remote.
This led me wonder why I needed the original remote; if all that was required was a couple of switches, why not use an electronic switch such as a transistor or IC? Well, mainly because I knew sod all about such things except that I would have to add an interface like a pcf8574 so that the NXT could communicate with them and a separate battery (or two). I resolved to research that line of enquiry but, in the meantime, read an article showing that the NXT could operate two relays from one motor port. (I also found a design running two transistors from one motor port, but that was much later).
This was a revelation - two low cost relays, four diodes and a stereo socket created a circuit which did not require to be reset or zeroed! All you had to do was send a 'motor forward' command and one relay would close, 'motor reverse' and it was the other relay. Batteries not required.http://www.flickr.com/photos/73571158@N00/5539642167/
Eventually I added a button cell, a switch and a couple of diodes so that I could check the operation of the relays.http://www.flickr.com/photos/73571158@N00/5597495491/
Since most remotes were operated by switches, it was a simple matter to add a socket in parallel with these switches so that the relays could operate them. Here is my radio controlled Canon model.http://www.flickr.com/photos/73571158@N00/5341622690/
Then, after all this work and development, Mindsensors created an brilliant electronic relay for LEGO which completely superseded it all! Just add a stereo socket and you are all set.http://www.flickr.com/photos/73571158@N00/5957821803/
I added a resistor because I didn't know if it was necessary to limit the current (presumably not, or standard releases would have them) and two tactile switches so that I could test the circuit or operate the focus/ shutter manually. (Woody can be used to shoot panos by turning the wheels, even if the NXT and motors are removed).http://www.flickr.com/photos/73571158@N00/5589231852/
Ah well, it wasn't a total waste of time because I learned a bit about how remotes worked and how the NXT can use I2C to communicate with other electronic devices such as I/O chips and stepping motors.