This is a project for a small low power device to act as a shutter controller for Canon EOS cameras. One of the objectives of this project is for me to learn how to use the internal timers and interrupts of the Attiny45.
It was the time to test with the camera. I connected the camera to the SHTTTRRR, programmed it and waited.... and the LED flashed but the camera didn't shot. I tried to make adjusts to the code, but the camera continued in silence. Time to look to the board. I noticed that the camera stayed with the screen dark, like it was taking a photo. This made me think if the transistor was well wired. I checked and all was OK. Then I thought, that maybe I had an undefined state on the transistor pin. To debug I soldered a 1K resistor between the base of the transistor and the ground. Back to test and.... still nothing. I desoldered it, and whit the help of a multimeter measured the voltage on the output pin of the MC to to transistor, and I read a value between 0 and 120 mV. This made me suspect of the resistor between the transistor and the MC. I removed it and... presto! It works.
As stated before, i didn't want to use long delays to separate between photos. What I wanted was for the MC to wake up, check if it timed out and if so take a pic. To do so I altered the ISR code relative to the watchdog timer, to this:
I love photography! In particular I love the way photography enables one to play with time, space and light. One of the things I love in photography is time lapse photo. I have a capable reflex machine (Canon 1000D) but it lacks time lapse capability. Fortunately it has an external trigger port (1,6 mm stereo jack also called LANC) for use with an electric shutter trigger. This port is very simple, as you can see the pinout here. I macgyvered a simple shutter with an Arduino Mega. a resistor and a transistor. You can see that early attempt here.
Obviously this was overkill. What I needed was a small box with a simple control for variable shutter times.