High Speed Fotografie mit einfachen Mitteln!

MG20131130_0703_v01Als Nachtrag zum Fotografie Extrem Kurs am 30.11.2013 möchte ich hier die verwendete Schaltung zur Blitzauslösung vorstellen. Diese stellt sozusagen die einfachste Möglichkeit mit Mikrocontroller dar. Man könnte aber auch gleich die Kamera und ein Hilfslicht damit steuern, das System ist flexibel erweiterbar. Verwendet worden sind ein Arduino Uno, ein kleine Platine mit Mikrofon vom Seeedstudio Grove System, sowie ein Steckboard, um die restlichen Komponenten ohne Löten anzuschließen. Links zu Bezugsquellen gibt es am Ende des Artikels.

Triggerschaltung
Die Funktionsweise sieht wie folgt aus: mit dem Taster wird die Schaltung „scharf“ geschaltet, zur Kontrolle leuchtet die LED zusätzlich auf. Wenn jetzt das Mikrofon ein relativ lautes Geräusch detektiert, wird der Blitz ausgelöst und der „scharf“-Zustand beendet. Der Blitz ist über einen Optokoppler mit Triac-Ausgang (MOC 3020) angeschlossen, damit die Schaltung vom Blitz galvanisch getrennt ist. Das dient v.a. dem Schutz des teueren Blitzgeräts, falls die Schaltung fehlerhaft ist. Der Optokoppler ist so angeschlossen:Flash Trigger_Steckplatine

Ein Pin kommt an Masse, der andere über einen 100 Ohm Widerstand an den gewünschten Pin des Arduino, hier Nr. 6. Näheres zur Beschaltung des Optokopplers findet sich im Datenblatt, diese lassen sich z.B. bei Reichelt direkt im Shop herunterlafen. Wichtig ist hier v.a. die Pinbelegung. Der Blitz wird an die unteren zwei Kabel angeschlossen.

Quellcode:

/*
Arduino-based simple flash trigger for high speed photography
Optocoupler used: MOC 3020 with Triac outpout
Created 09 August 2012
by Manuel Gauda
http://www.fotografiekreativ.de
*/
int buttonPin = 4; // Pin for arming-button
int LedPin = 11; // Pin for Status-LED
int sensorPin = A0; // input pin for the sound sensor
int flashPin = 6; // pin for the flash
int sensorValue = 0; // variable to store the value coming from the sensor (0-1023)
int flash_wait_time = 4; // time for flash in ms to wait to compensate runtime
int mode = LOW; // status of system: LOW = normal HIGH = ready and armed
void setup() {
 pinMode(buttonPin, INPUT); // define button pin as input
 pinMode(flashPin, OUTPUT); // define flash pin as output
 pinMode(LedPin, OUTPUT); // define LED pin as input

 digitalWrite(flashPin, LOW); // sets flash pin to LOW (inactive)
 digitalWrite(LedPin, LOW); // sets LED pin to LOW (inactive)
}
void loop() { 
 if (digitalRead(buttonPin) == HIGH) // if button is pressed
 {
 mode = HIGH; // system armed
 digitalWrite(LedPin, HIGH);
 delay(500); // secure delay, for not activating by button clicking sound
 } 
 sensorValue = analogRead(sensorPin); // reading sensor 
 if ((mode == HIGH) && sensorValue > 600) // if sound is detecded
 {
 delay(flash_wait_time); // wait some ms
 digitalWrite(flashPin, HIGH); // turn flash on
 delay(50); // wait 50 ms
 digitalWrite(flashPin, LOW); // turn flash off
 digitalWrite(LedPin, LOW); // turn LED off
 mode = LOW; // going to normal mode
 } 
}

Bezugsquellen:

einzelne Bauteile, Werkzeug usw.:
www.reichelt.de

Arduino, Soundmodul, Steckboard:
www.exp-tech.de

Generelle Informationen zur Arduino-Welt inkl. Programmierbeispielen und Software:
www.arduino.cc

Viel Spass beim Nachbauen!