High Speed Photo Arduino : HighSpeeduino !
Intro: High Speed Photo Arduino : HighSpeeduino !
Today is High Speed Photography day !
The concept is to take a 'long' exposure photograph, 4 seconds say, in a (very) dark room (a bathroom in our case). You end up with a completely black picture, right ? If you burst a flash (about a millisecond for a standard flash) then you get a picture made of 4 seconds of 'dark' and one millisecond of 'light'. Are you still with me ?
The trick is to burst the flash at the right moment so that the millisecond of light you get illuminates an interesting scene. A popping balloon for example...
This project uses the sound an exploding balloon makes to trigger a flash.
I used:
- a DSLR camera (Canon 450D) + tripod.
- an arduino duelaminove + 9v battery.
- a sound sensor (from www.flamingoeda.com). Or better yet (if you don't read japanese): http://stores.ebay.com/FunRobo/_i.html?_nkw=Arduino+Sound+Sensor+Module&submit=Search
- a relay module (on ebay search for 'relay module arduino', sort by price, pay about 5$ for it).
- a cheap flash (paid 10$ for this one).
optional:
- a (convenient) sensor shield + cables.
Enjoy !
The concept is to take a 'long' exposure photograph, 4 seconds say, in a (very) dark room (a bathroom in our case). You end up with a completely black picture, right ? If you burst a flash (about a millisecond for a standard flash) then you get a picture made of 4 seconds of 'dark' and one millisecond of 'light'. Are you still with me ?
The trick is to burst the flash at the right moment so that the millisecond of light you get illuminates an interesting scene. A popping balloon for example...
This project uses the sound an exploding balloon makes to trigger a flash.
I used:
- a DSLR camera (Canon 450D) + tripod.
- an arduino duelaminove + 9v battery.
- a sound sensor (from www.flamingoeda.com). Or better yet (if you don't read japanese): http://stores.ebay.com/FunRobo/_i.html?_nkw=Arduino+Sound+Sensor+Module&submit=Search
- a relay module (on ebay search for 'relay module arduino', sort by price, pay about 5$ for it).
- a cheap flash (paid 10$ for this one).
optional:
- a (convenient) sensor shield + cables.
Enjoy !
STEP 1: Put It Together.
It is a very simple setup, yet pretty effective...
The sound sensor returns a 0-1024 value, the relay can be controlled by a digital pin.
I cracked open the flash, removed the shoe and soldered a couple of wires instead.
Some will probably argue that a relay is too slow. Well it turns out it isn't...
To be fair I, too, thought it would be too slow so I have tried and used an opto- isolator. It burned (as well as my atmega328, :-( ) during my first try. The voltage in the shoe of this *very* cheap flash is probably too high for my opto-isolators.
As I have no idea what kind of voltage I am dealing with here (I just know it hurts if I put my fingers !), I took the easy route and used a relay. It works, so... problem solved !
The sound sensor returns a 0-1024 value, the relay can be controlled by a digital pin.
I cracked open the flash, removed the shoe and soldered a couple of wires instead.
Some will probably argue that a relay is too slow. Well it turns out it isn't...
To be fair I, too, thought it would be too slow so I have tried and used an opto- isolator. It burned (as well as my atmega328, :-( ) during my first try. The voltage in the shoe of this *very* cheap flash is probably too high for my opto-isolators.
As I have no idea what kind of voltage I am dealing with here (I just know it hurts if I put my fingers !), I took the easy route and used a relay. It works, so... problem solved !
STEP 2: Arduino Code
The code could not be any simpler.
When the sound sensor gets above a certain threshold, send a 'high' signal on the relay pin.
A small trick is to then ignore the sound sensor entirely so that the flash will not be triggered again.
Press the 'reset' button to re-enable the system.
When the sound sensor gets above a certain threshold, send a 'high' signal on the relay pin.
A small trick is to then ignore the sound sensor entirely so that the flash will not be triggered again.
Press the 'reset' button to re-enable the system.
STEP 3: Set You Camera
You need to install a tripod in a dark room. The point is to be able to take a 4 second picture that comes back completely black.
Set your camera to 'manual focus', 'stabilizer off', 'priority to Time'.
You are all set. Press reset on the arduino board, switch off the light, take a picture and pop a balloon within the next 4 seconds....
STEP 4: Results !
Here are some examples of what we were able to do with this setup.
This was a project done with the kids so it had to be fast-paced. Hence the improvised background...
Voila...
This was a project done with the kids so it had to be fast-paced. Hence the improvised background...
Voila...
STEP 5: Some More...
...for your viewing pleasure.
24 Comments
sidharthk 8 years ago
HOW TO CONNECT THE FLASH WITH THE DSLR CAMERA? PLEASE EXPLAIN ....
Skyfinder 8 years ago
alcaf 11 years ago
Can it be used with infra-red sensor like Arduino Active Infrared sensor module V2, to make a barrier that triggers the camera instead of the flash?
Can you help me with the code?
Thank you.
nicoo 11 years ago
I have done a project with a laser and an infra-red module which I still use every now and again. I will try and make an instructable out of it if it helps...
In a nutshell though, a relay, which is handy to control high voltage devices like a low-tech flash, is too slow for your kind of application. For my project I used an infrared sensor connected to the arduino which in turn is connected to the camera through optocouplers.
I blind the sensor with a laser and when said laser is cut (sensor goes to 'LOW') I trigger the camera. The trick is to take the diffential of the sensor signal (through software) and simpy trigger when the differential is big (and negative).
As a bonus I used the very same project to take photographies of lightning bolts by simply pointing my sensor at the sky and triggering on a (big) positive differential.
Good luck with your project !
N.
diy_bloke 12 years ago
nicoo 12 years ago
FallenSub 12 years ago
$5 for a relay "module" is a bit too much. I made mine for $1 5v relay from eBay, a 10 cents diode (could be even cheaper if bought in bulk) and a cheap NPN transistor (100 pieces in a $2 bulk). You can also scrap these from some old PCB.
Here is the wiring diagram http://www.arduino.cc/playground/uploads/Learning/relays.pdf
Also, you can make your own sound sensor for a few bucks.
I made myself this one http://www.rev-ed.co.uk/docs/picaxe_sound.pdf
If you know some basic electronics, you can play a bit with it, like making a time delay, or controlling the sound buffer, which might be useful with some other projects.
Also this way you don't need the sensor shield.
Hope this helps :)
nicoo 12 years ago
I tend to value having to solder as little a possible so the project can be put together / prototyped quickly.
You have a point though that a 'production' version could be produced for a handful of dollars...
diy_bloke 12 years ago
With regard to rge relay, yeah I wld solder that up myself coz it is a lot easier than go to ebay, search, order and wait ;-)
I admire FallenSub's guts in considering the sound sensor himself ;-) One look at the schematics and I thought 'oops'
One look at flamingoeda.com however also made me think 'oops' as it is in Japanese ;-)
nicoo 12 years ago
http://stores.ebay.com/FunRobo/_i.html?_nkw=Arduino+Sound+Sensor+Module&submit=Search
I hope this helps,
Nico.
diy_bloke 12 years ago
FallenSub 12 years ago
Just go ahead and try to breadboard one, its not that hard.
Anyways, if you do make one, C4 is for buffering. That means that if you get, say a value of 500 on analogRead from a sound, it will not perish immediately, but decrease at some rate with discharging of C4. For my app, buffering lasted for too long, so I made it equal to C2 to get an almost instant discharge.
And seriously, try to make it. It's easyer than it looks and a really good sound sensor.
ramses 12 years ago
http://www.carlmcmillan.com/Optoisolated_Adapter.htm
Also, you could attempt break-beam laser triggers with a set-able delay.
delaymicroseconds(delay);
nicoo 12 years ago
Laser beam + delay is on my list of to-dos. I hope to take picture of drops of liquid this way. I am at the 'collect parts' stage of the project...
TechPaul 12 years ago
kgroce1 12 years ago
murrayatuptown 12 years ago
http://www.diyphotography.net/great-high-speed-photography-trigger-by-tom-barnett
I used to, but am reluctant to ask nowadays, photo labs for torn-down disposable cameras awaiting recycling. I had an idea to sequence several to mimic a stroboscopic sequence...an item falling off a table, for example...with a sequence of flashes between the item leaving the table and hitting the floor. example by Abelardo Morrell: http://www.abelardomorell.net/photography/lighttime_01/lighttime_08.html
The sequence could be linear (equally spaced), or increase/decrease to correspond with or compensate for gravitational acceleration.
Someone here will probably figure that out long before I even start :O)
nicoo 12 years ago
Strobe light, here I come !...
emagowan 12 years ago
http://www.pbase.com/emagowan/highspeed
nicoo 12 years ago
I am glad you point this 'modern' voltage issue out so that I am careful with the next cheap flash I buy.
Nice pictures btw !