Hi guys:
Just thought I'd weigh in with my 2 cents worth. Rotary encoders can be a bit tricky to interface if you're writing the microcontroller code yourself. Check out Mike Powell's book or website for some tips about them.
With rotary encoders there are two types that I call dynamic and static. The dynamic types give multiple waveform edges per detent and the static ones give one waveform step per detent. Your interfacing code will need to be written a to suit the type you have.
Nigel: Here's a tip that may help you with your soldering. Put a bit of wet (very wet) sponge in a tray near where you keep your soldering iron. Then just before you do a joint, give the iron tip a wipe on the sponge and you should see the tip become bright and shiny. This will help transfer the heat from the iron tip to the solder. Then, when you're soldering the joint make sure you have the iron in contact with both items being soldered. Wait a second or so for the heat to transfer and then apply the solder where all three things (Iron, board and component lead) meet. The main thing is speed. Get in get the solder flowing on the joint and get out. Most things that are solderable will tolerate some heat, but not forever.
If you clean the tip of the iron before every joint, you'll probably get a lot better results and more quickly.
Great work with the rotary encoders.