Connecting One Component to Multiple Pins

I'm working on a project where I control 10 cameras via digital IO pins. This works fine when I control them individually or in a timed sequence. But I also want to be able to fire all the cameras truly simultaneously. Firing all cameras in a loop shows subtle lighting differences in the photos I'm taking and I want to eliminate that.

How can I connect all the cameras to a single pin for true simultaneous control while keeping each camera connected to its designated IO pin for individual control? Or is there a different approach that would be better? Thanks!

Connect each camera to a separate transistor driven by a separate pin.
Have one pin drive a transistor which is wire ORed to the transistors above.

However, using direct port manipulation, you should be able to get almost simultaneous operation of the pins using just software.

.

(deleted)

The standard digitalWrite function takes about 5 microseconds to execute. This IS slow in computer terms, but does it really make a visible difference in the photos taken? Are there other delays in your equipment? Many cameras have noticeable delay between pressing the shutter release and the actual "take"

Even if, the mechanical shutters (I assume you are using mechanical shutters) have an in built random error.

You want a shot at 1/200s....it will probably actually be between 1/190-1/210 ish for example. I assume you are trying to do some form of "bullet time".

Just use "de-flickering" when processing the video to smooth the minute exposure differences across frames.

LarryD:
Connect each camera to a separate transistor driven by a separate pin.
Have one pin drive a transistor which is wire ORed to the transistors above.

However, using direct port manipulation, you should be able to get almost simultaneous operation of the pins using just software.

.

Great! I had a hunch this would be the way to go. Currently I'm using optocouplers instead of transistors. Should this work with optocouplers as well?

Those should work.
But the proof is in the pudding.

.

"Firing all cameras in a loop shows subtle lighting differences in the photos I'm taking and I want to eliminate that. "

I am guessing you are using a flash and hoping to take multiple angled shots of a subject?

I still have a feeling that there may be some error/tolerance/bias in each camera due to manufacturing random error...but of course, fixing the 5ms bias would be a good start.

Johnny010:
I am guessing you are using a flash and hoping to take multiple angled shots of a subject?

I still have a feeling that there may be some error/tolerance/bias in each camera due to manufacturing random error...but of course, fixing the 5ms bias would be a good start.

Strobe lighting. And believe it or not the strobe is so fast that it only lights the scene for the first 7-8 images out of the 10 cameras fired in a regular ol' for loop. So 40ish microseconds before the scene is unlit again.

joshbg2k:
Strobe lighting. And believe it or not the strobe is so fast that it only lights the scene for the first 7-8 images out of the 10 cameras fired in a regular ol' for loop. So 40ish microseconds before the scene is unlit again.

The output of the strobe will not be a flat linear exposure.

This will also cause a potential issue.

HSS flash (high speed sync) may alleviate some of this, allowing a flatter exposure. There will be other errors like the tolerance of the mechanical shutters, but at least the issue with the flash could be alleviated somewhat as well?

joshbg2k:
Strobe lighting. And believe it or not the strobe is so fast that it only lights the scene for the first 7-8 images out of the 10 cameras fired in a regular ol' for loop. So 40ish microseconds before the scene is unlit again.

Get rid of the for-loop and use port manipulation (5x faster than Arduino pin IO commands in general) to write 5 cameras at a time. Set it up right, you can signal 10 cameras in 1 micro or less.

Johnny010:
The output of the strobe will not be a flat linear exposure.

This will also cause a potential issue.

HSS flash (high speed sync) may alleviate some of this, allowing a flatter exposure. There will be other errors like the tolerance of the mechanical shutters, but at least the issue with the flash could be alleviated somewhat as well?

Interesting, thanks for this. The tolerance of the shutters wasn't an issue in my first iteration, in which all 10 cameras were connected to the same pin. The iteration I'm working on now allows for individual control as well as simultaneous control. Today I'm going to try to wire it according to your suggestion earlier and see how far I get with it.