Project Salamarduino, Part 1: The Start

This is the start of a camera trigger project that uses different inputs (mainly IR-transistor to detect lightning), and it’s intended to work with a Canon DSLR but should work with almost any camera.
The idea is to build a box that has some different inputs, like light and vibration sensing, and a couple of outputs, like one for camera, flash and possibly a radio trigger.
It will also have a LCD and a keypad, so that it can be configured and fine-tuned on the field.

In this post I will be explaining some steps and decisions of the project so far. But remember, at the moment it’s far from a final device so keep coming back for updates ;)
Also, if you have any ideas and want to contribute, leave a comment!

 

Salamarduino Sketch

Hardware

Choosing The Microcontroller

Really Bare Bones Board

ATmega328 Chip

While there are tons of options regarding what kind of microcontroller and development board you want to use, we ended up on the almost clichéd Arduino or in this case a cheaper clone, RBBB, but still with the Arduino bootloader.
Please don’t start a comment flame war because you think there’s some better option.
The main reasons for using an Arduino “compatible” board are the vast amount of tutorials, libraries, code samples and examples, the fact that Processing is stupid easy  fast to use, and did I mention it’s cheap.


After choosing the (lets call it) platform, there were some questions: How to safely lock and trigger a camera? How to detect lightning fast enough? How to power it? How to encase it? How to configure it?

 

Light Detection

One way to detect changes in light is to use a photoresistor, but are these fast enough to detect lighting?
Again, research. Obviously this project is not the first of it’s kind, so what solutions are out there.
Most photoresistors take too much time and they’ll miss the whole flash, so they are ruled out.

I stumbled upon just the thing, as well as some other really great ideas.

3.., 2.., 1.., SMILE!

With most DSLRs it’s really easy to control them with a wire. It usually just requires connecting ground either to focus or shutter.

The immediate thought was to use a transistor. Problem is, nobody wants to connect a +800€ camera to a ~10€ piece of DIY mayhem.
There are other ways of separating two circuits, like relays. But since relays are really, really slow when it comes to photographing lighting, it had to be ruled out.
After some more research, I found out a great alternative, opto-isolators (or optocouplers). They use a LED and photosensor (phototransistor for the really fast ones) to separate two circuits. Oh, and they are cheap, like really cheap.

Power!

The first idea was to use some kind of rechargeable batteries, like AA-sized NiMHs. But that wouldn’t be the most practical solution.
After thinking about the requirements, like that it needs to be rechargeable, relatively small, safe, provide 5 volts. Using a cheap emergency USB charger just seemed obvious. It has a built-in regulator that provides a clean 5 volts, it can be charged via USB, and has some nice battery status LEDs.
But would this cheap “2000 mAh” battery be enough to power a backlight LCD and the chip?
Only one way to find out! I knew that these ATMegas don’t really consume that much, but I wasn’t sure about the LCD and leaving it constantly refreshing.
I thought the battery would be enough to be used for about a day, but oh, was I wrong. Turns out, it lasts almost 30 hours.

User Interface

LCD117

LCD117 Serial Board

16 x 2 Blue LCD and LCD117

Is the LCD really necessary or can it be configured some other way to configure it?
The first idea was to use potentiometers for thresholds, buttons for selection, but since the LCD with a controller isn’t that expensive, why not? And it only uses one pin on the microcontroller as it comes with the LCD117 serial board.


Buttons

D-Pad

Looks like a mess, but saved me a lot of soldering and space

A 5 button d-pad seems like enough. Up and down to control the menu, left and right for configuring settings and one button to select.

The common thing would be to use digital inputs for each button and de-bounce them. Pins are expensive so instead, I’m using one analog input and have a different resistor for each button. This way, I can read in the loop the current value of the input and see what button is being pressed.


The Mess

This is what the mess looks like at the moment


This entry was posted on Monday, June 20th, 2011 at 13:44 and is filed under Arduino, Hardware, Photography. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply



XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>