how to create a flash trigger sequencer ?

Posts: 4
Joined: Tue Jun 07, 2016 6:08 pm

how to create a flash trigger sequencer ?

Postby Redgreen » Thu Jun 16, 2016 8:34 pm

I'm newbie to this forum, I hope someone can help me out.


I have over 2 thousands picture to do (jewerlry) they have to be under several light options. I have a flash on right, one on left, one on the top and one on the back. So the camera must trigger with one flash, but a different flash each time. 4 single flash triggered that make 4 pictures to be clear. I can do this by hand with plug and unplug the flash or change channel over pocker wizard. I don't seem this idea being very productive at all.

:roll:

So I'm looking for something that can do a sequence of flash trigger with camera obviously. I've looked around to see if there was anything that can do this and I was totally desapoint to see there is none. If someone know a gear that can do this, let me know. I've also check with Maurice if the multiflash plus can do this and it can't.

I guess an arduino with opto-isolator is a good start but I can't find any schematic that would enable a camera and 4 flash to act as a flash trigger sequencer.

Any help would be deeply appriciate.
thank

User avatar
Posts: 757
Joined: Mon Jul 25, 2011 6:21 pm
Location: Area 51

Re: how to create a flash trigger sequencer ?

Postby Ric » Fri Jun 17, 2016 10:51 pm

If I understand your situation you want to place 4 flashes around a piece of jewelry, hit the shutter release 4 times and get 4 photos, each one having activated only one of the flashes.
This is within the hardware capability of the MultiFlash Plus. However, it is a control mode (software) that it is not programmed to handle.
If you had a MultiFlash Plus you could:
--1-- see if someone has already written or is willing to write the new software for this function
--2-- write the code yourself
--3-- pay someone to write the code for you
With the right software all you would need hardware-wise is the MultiFlash Plus
...Ric

Posts: 4
Joined: Tue Jun 07, 2016 6:08 pm

building from scratch

Postby Redgreen » Sun Jun 19, 2016 7:15 pm

Thanks Ric

I'm surprise you're saying multiflash plus can do this, Maurice said it don't. I guess, He understood I wasn't able to write new code so this wasn't for me. I have no problem to pay an expert to write code but the problem is to find the expert... there too lilttle time and I have move foward building something from scratch. So right now I'm looking to build something using an arduino, opto-isolator and maybe relay.

This is base on this older post by Maurice.
http://www.glacialwanderer.com/hobbyrobotics/?p=10

I've order parts they are on the way. I'm kinda desapoint knowing multiflash plus only need new code. :?

Do you think I can get this 'one channel' flash trigger up to 10 channels, since Arduino has 14 output pins (from what I read) ?

I appreciate any help what so ever. I know so much about photography and so little about electronics, this make me feel it's far from doing photography all alone but again photography is base on technology, they are the 2 sides of a same coin.

thanks

User avatar
Posts: 757
Joined: Mon Jul 25, 2011 6:21 pm
Location: Area 51

Re: building from scratch

Postby Ric » Sun Jun 19, 2016 8:20 pm

Redgreen wrote:Thanks Ric I'm surprise you're saying multiflash plus can do this, Maurice said it don't. I guess, He understood I wasn't able to write new code so this wasn't for me. I have no problem to pay an expert to write code but the problem is to find the expert... there too lilttle time and I have move foward building something from scratch. So right now I'm looking to build something using an arduino, opto-isolator and maybe relay.

Maurice is correct that as programmed the MF+ does not do what you want.
Arduino, opto-isolator, and maybe a relay.
Relay???? I don't what you have in mind but it is hard to imagine that a relay would be fast enough for what you are doing.

Redgreen wrote:...This is base on this older post by Maurice. http://www.glacialwanderer.com/hobbyrobotics/?p=10

You are going to also need a breadboard and a few resistors.
Redgreen wrote:I've order parts they are on the way. I'm kinda desapoint knowing multiflash plus only need new code. :?

You do realize that the Arduino you have ordered will have to be programmed too!
Redgreen wrote:...Do you think I can get this 'one channel' flash trigger up to 10 channels, since Arduino has 14 output pins (from what I read) ?

10 flashes? Maybe. Have you mapped out how many inputs are needed to setup and control this device that you are going to build and program? For pushbuttons etc.

...Ric

Posts: 4
Joined: Tue Jun 07, 2016 6:08 pm

flash sequencer almost working, need arduino expert for help

Postby Redgreen » Fri Jul 01, 2016 12:47 am

Thanks Rick for your expertise.

So far I've been able to have 6 opto isolator, 220k resistor solder to a 1/8 stereo Jack. This work very well, cuz I'm able to trigger flash and camera from a single button but once the button is push the code start it don't work at all for some reason I'm not able to find. (Many hours trying to debug..) My flash sequencer (let's call it that) don't trigger flash and camera at the exact moment, so all I got is five empty images... or black images and no it's not the hood on the lens trust me. ;)

So here the code I came up with.
This is my first attempt of coding arduino... :roll:

Let me know if something caught your eye in this code. Otherwise what is the cause of the camera not sync with flash ? Each optoisolator is connected to a pin on the arduino and ground, other wire goes to the audio jack, very simple, base on Maurice post. Each flash and the camera has this same resistor, opto isolator, etc..

So this must be the code... here it go:

//CAMERA........................................
int cameraPin = 9; // Camera 1

//FLASH........................................
int flashPin5 = 5; // no 5
int flashPin4 = 4; // no 4
int flashPin3 = 3; // no 3
int flashPin2 = 2; // no 2
int flashPin1 = 1; // no 1

//BUTTON.......................................
int inPin = 13; // input pin for a pushbutton
int val = 0;

//DELAY IN BETWEEN FLASH................
int inputVariableDelay = 250;


void setup() {

pinMode(cameraPin, OUTPUT);
pinMode(flashPin5, OUTPUT);
pinMode(flashPin4, OUTPUT);
pinMode(flashPin3, OUTPUT);
pinMode(flashPin2, OUTPUT);
pinMode(flashPin1, OUTPUT);
pinMode(inPin, INPUT); // declare pushbutton as input
}

void loop() {
val = digitalRead(inPin); // read input value
if (val == HIGH) { // check if the input is HIGH (button released)


//FLASH NO 1...............................................
digitalWrite(flashPin1, HIGH); // Trigger the flash
digitalWrite(cameraPin, HIGH); // Trigger the camera
delay(10); // Wait to end
digitalWrite(flashPin1, LOW); // Turn off the flash signal
digitalWrite(cameraPin, LOW); // stop the camera
delay(inputVariableDelay); // Wait start next flash
//...............................................................

//FLASH NO 2...............................................
digitalWrite(flashPin2, HIGH); // Trigger the flash
digitalWrite(cameraPin, HIGH); // Trigger the camera
delay(10); // Wait to end
digitalWrite(flashPin2, LOW); // Turn off the flash signal
digitalWrite(cameraPin, LOW); // stop the camera
delay(inputVariableDelay); // Wait start next flash
//...............................................................

//FLASH NO 3...............................................
digitalWrite(flashPin3, HIGH); // Trigger the flash
digitalWrite(cameraPin, HIGH); // Trigger the camera
delay(10); // Wait to end
digitalWrite(flashPin3, LOW); // Turn off the flash signal
digitalWrite(cameraPin, LOW); // stop the camera
delay(inputVariableDelay); // Wait start next flash
//...............................................................

//FLASH NO 4...............................................
digitalWrite(flashPin4, HIGH); // Trigger the flash
digitalWrite(cameraPin, HIGH); // Trigger the camera
delay(10); // Wait to end
digitalWrite(flashPin4, LOW); // Turn off the flash signal
digitalWrite(cameraPin, LOW); // stop the camera
delay(inputVariableDelay); // Wait start next flash
//...............................................................

//FLASH NO 5...............................................
digitalWrite(flashPin5, HIGH); // Trigger the flash
digitalWrite(cameraPin, HIGH); // Trigger the camera
delay(10); // Wait to end
digitalWrite(flashPin5, LOW); // Turn off the flash signal
digitalWrite(cameraPin, LOW); // stop the camera
delay(inputVariableDelay); // Wait start next flash
//...............................................................


}
}

User avatar
Posts: 757
Joined: Mon Jul 25, 2011 6:21 pm
Location: Area 51

Re: how to create a flash trigger sequencer ?

Postby Ric » Fri Jul 01, 2016 6:34 pm

Redgreen,
You need to take into account the signal delay, the time delay from when something is triggered and when it actually performs.
For a flash this delay is probably on the order of 0-5ms; for a camera it is on the order 50-150ms.
So the flash and camera are both triggered, within 5ms the flash has fired, and it is "dark" again, and then 45-145ms later the camera is triggered and tries to take a picture using ambient light.

...Ric

Posts: 4
Joined: Tue Jun 07, 2016 6:08 pm

Re: how to create a flash trigger sequencer ?

Postby Redgreen » Sat Jul 02, 2016 9:35 am

Hi,

thank for this acurate information, I had no clue flash and camera had different delay...

base on your information I simply add a delay before triggering the flash, and put the camera trigger BEFORE the flash. My tests let me find out that from 45 to 46 delay, there is a top black line curtain and from 50 to 52 there is a bottom black curtain line. This mean the best value are 47, 48 and 49. To be sure to have the best timming from theses values I figure the middle one is the safest one.

So here the code I have modified, if anyone need a flash sequence system using opto-isolator, this very efficient, quick and no need to be an expert to do it. The top code is the same, the part to modified is only for each flashs.

Thank Ric, I'm very happy with the result !


//FLASH NO 1...............................................
digitalWrite(cameraPin, HIGH); // Trigger the camera
delay(48); // Timming to get the flash in sync
digitalWrite(flashPin1, HIGH); // Trigger the flash
delay(100); // Timming needed for full exposure
digitalWrite(flashPin1, LOW); // Turn off the flash signal
digitalWrite(cameraPin, LOW); // stop the camera
delay(inputVariableDelay); // Wait start next flash
//...............................................................
Attachments
arduino-circuit.png
The opto isolator connection
button.png
The button used to start the sequence

Return to General

Who is online

Users browsing this forum: oscicromob and 1 guest