I have an old camera flash that I want to trigger using my Arduino and an optoisolator. The flash has two wires. When they are connected, the flash is triggered

How can I connect it to the optoisolator?

  • \$\begingroup\$ @opc0de - I understand that English might not be your first language. I don't know Romanian, but one of the basic rules of English is that separate thoughts, known as clauses, are separated by punctuation and conjunction into sentences. Your first sentence continued into your second and third sentence. This is known as a 'run-on sentence', and it's difficult to read. I've corrected the problem. Also, please always capitalize the word "I": regardless of it's prevalence in online chats or SMS messages, it's wrong and unprofessional to write 'i'. I have fixed your question. \$\endgroup\$ – Kevin Vermeer Feb 6 '12 at 18:50
  • \$\begingroup\$ Related: Interfacing an optoisolator with an Arduino \$\endgroup\$ – Kevin Vermeer Feb 6 '12 at 18:58
  • \$\begingroup\$ I removed my downvote of this question now that @Kevin has fixed it. Non-native english speakers get a little slack, but your languages have sentences too, so there was no excuse for the runon "sentence". \$\endgroup\$ – Olin Lathrop Feb 7 '12 at 14:24

As Olin says, flashes can have very high voltages across the trigger contacts.

If you volate is less than about 300 CV (less than 350 if you are brave) then the MOC8204 SM 400V optocoupler may work OK.
This costs $1.25 in stock in 1's at Digikey.

It is rated at 100 mA max in the output circuit.
Measure the output voltage as Olin suggests.
Take a resistor R > Vmeasured x 20
eg if Vmeasure = 300V use a resistor of at least 300 x 2= = 6000 ohms. Connect this resistor across the flash contacts.
If this resistor reliably fires the flash then the optocoupler (probably) will too.

Collector, pin 5 to flash +ve.
Emitter, pin 4 to flsah -ve.
Cathode, pin 2 to Arduino ground. esistor to pin 1 from Arduino = on signal BUT Arduino will probably not have anough drive.

You will probably need a transistor to allow the Arduino to drive this opto - as you will also need if you use a relay.

More anon mayhaps.

Agh again: This is less suitable than it appeared but MAY work OK. You need to know what resistance will trigger the flash. The opto has a 100 mA max output current rating BUT the LED cannot support enoughdrive to provide 100 mA. Very strange specs.

| improve this answer | |

Camera flashes, especially old ones, may have significant voltage accross their switch terminals when the switch is open. Let it charge up and measure between the two lines with a voltmeter. It could be surprisingly high, easily higher than the average opto-isolator.

Next you have to consider the current requirements when the switch is closed. Again, that can vary considerably between flashes. Modern "electronic" flashes have a low open circuit voltage and require low current to close the connection. That is because this is a signal into other circuitry that actually initiates the flash. Old flashes were much simpler, and the camera was assumed to have a mechanical switch closure to trigger them. This switch more directly triggered the flash, so could be nearly 200V open and a sudden burst of current when closed. Both these specs would be well beyond most opto-isolators.

I recommend that instead of using a opto, have the microcontroller activate a relay. Wire the flash trigger leads to the normally open relay contacts and it should work fine for all types of flashes.

| improve this answer | |
  • \$\begingroup\$ +1 for the relay. Sometimes still just the best choice, especially when mimicking an existing switch. \$\endgroup\$ – tcrosley Feb 6 '12 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.