Someday in February 2016 I was asked to watch a tutorial video of an automatic camera trigger by a friend of mine. He is actually a photographer and wanted me to reproduce the circuitry shown in this specific tutorial for him. Thus, I started to familiarize myself with all the components that were used.
The whole build shown in the video was actually very sophisticated — at least that is what I initially thought. The author used a 5 mW laser module that fires onto a light-dependend resistor (LDR), which in turn is read by an Arduino Uno that triggers the camera. Everything was packed into a custom Lego housing. Nothing extraordinary at first sight.
However, at a later point — when reviewing the details of the circuit — I recognized some major flaws within the schematic. Thus I will not even link the abovementioned video here; not because I don’t want to share credit, but due to those errors (I will mention them later) and because the video itself is not freely available anyway. It should be said that using a microcontroller is very easy with Arduino these days, but that does not make everyone an electrical engineer.
Step 1: The assignment
Deriving from the tutorial video I figured the major components of the project to be:
- the sensor that recognizes an object
- a microcontroller unit that reads the sensor and triggers the camera
- a method to control the delay between recognition and shot.
- an easy to use power supply
- a housing
Step 2: Analysing the existing solution
Let’s dive a bit deeper into each of these points. First of all the most important part, which is the sensor circuitry. The original build features a laser-module with 5 mW of power. The beam of this laser is directed to a light-dependend resistor. If an object blocks the beam between the source (laser) and the sink (LDR), the output of the LDR — which is actually part of a voltage divider — changes. This analog voltage can be captured by the Arduino Uno and is used to request the trigger impulse.
Although money wasn’t a limiting factor I found this solution to be kind of overpowered. The laser-module can actually cost about 20€ and the Arduino board is somewhere between 20€ and 30€. That is nearly 50€ for just these two components. It was only logical to search for a cheaper solution.
I had to get rid of the laser based solution, so instead I thought of using a bright LED. One notable thing though is, that LDRs are quite “slow” components. Their resistance changes according to light-input, but it can easily take a second to go from the so called “dark resistance” to the full light resistance value. Further, LDRs often recognize a broad spectrum of light, so the environment adds some noise to the measured voltage. With the laser-module these problems are more or less off the table because the powerful beam makes up for environmental light noise. Thus, I had to get rid of the LDR, too.
The ATMega328P microcontroller featured on the Arduino Uno board does a great job. However, the main issue is the size of the board itself. The chip manufacturer Atmel offers smaller, nearly compatible microcontrollers with their ATtiny series, so I chose one of them and created my own, specific board. Another option would be to buy a different Arduino-based board, but I had those chips lying around.
Next on the list was the camera trigger. The original solution used one of the controllers digital pins — which can output 0V or 5V — to trigger the camera with a 5V pulse(!). This solution works just fine for the video creator, but one has to ask himself how the mechanism within the camera works in the first place. A remote trigger switch consists of two wires coming from the camera and a switch that connects those two. One line/wire is fed with a voltage of about 1V to 3V by the camera (Note: I noticed a voltage fluctuation...Read more »