Trigger Camera

Da ich mich aufgrund eines recht aufwändigen Projektes schon länger nicht mehr gemeldet habe wollte ich diesen Eintrag als Überbrückung der Wartezeit nutzen. Inhaltlich handelt es sich um das Auslösen einer Digitalkamera mit dem Arduino via Stereo-Klinkenkabel.

Für alle, die meine beiden Einträge über Water Drop (Simple) und Water Drop (Advanced) gelesen habe ist das zwar bereits ein alter Hut, doch ich werde in Zukunft noch mehrere Blogeinträge zum Thema DSLR & Co posten, in welchen ich auf diesen hier verweisen werde.

Genug geredet, jetzt folgt der Inhalt.

Der elektrische Aufbau

Die nötigen Komponenten sind überschaubar:

  • 1 Pushbutton
  • 1 Pull-Down Widerstand (10 kΩ)
  • 2 Optokoppler (LTV 817, TLP 621)
  • 2 Vorwiderstände (220 Ω)
  • Klinkenbuchse (3.5 mm)
  • Arduino Nano / UNO (Pinbelegung ist ident)
Trigger_Camera_Steckplatine
.
Und natürlich gibt’s noch den Schaltplan, um gänzlich alle Fragen auszuräumen.
.
.
Trigger_Camera_Schaltplan
.
Wie der Optokoppler anzuschließen ist entnehmt ihr am besten aus dessen Datenblatt. Bei den meisten ist jedoch ein heller Punkt am Gehäuse, welcher über dem Pin der Anode (+) sitzt.
Der Optokoppler ist deswegen wichtig, damit ihr eure Kamera nicht zerstört. Das Arduino gibt beim logisch 1 Setzen des Pins +5V aus. Dies könnte der Kamera schaden. Der Optokoppler dient hier also als Schalter.
.
Bei Canon und Nikon Kameras mit Klinkenbuchse sieht die Beschaltung der Buchse so aus:
  • Rechter Pin: Fokus.
  • Linker Pin: Auslösen.
  • Gehäuse: Ground.
Um das Ganze mit der Kamera auch verbinden zu können nutze ich neben der 3.5mm Klinkenbuchse ein 3.5mm Stereokabel (Male-Male) und einen 3.5mm zu 2.5mm Adapter, da meine Kamera (wie die meisten) eine 2.5mm Buchse hat.
.
Audio_Jack_Real_Image

.

Der Programmcode

Ich traue mich zu behaupten, dass dieses Programm das kürzeste ist, das ich je für diesen Blog geschrieben habe. Deshalb ist es diesmal auch nicht auf Github zu finden, sondern wird direkt hier präsentiert.

Noch ein kurzer Einschub zum verwendeten Board; Wer kein Arduino Nano hat oder nutzen will, der kann auch das Arduino UNO verwenden. Es ist der gleiche Chip verbaut (nur in anderem Gehäuse). Daher ist auch die Pinbelegung ident und muss nicht verändert werden. Lediglich in der Arduino IDE muss das verwendete Board angegeben werden.

#define ButtonPin 2
#define FocusPin 11
#define TriggerPin 12
void setup()
{
    pinMode(ButtonPin, INPUT);
    pinMode(FocusPin, OUTPUT);
    pinMode(TriggerPin, OUTPUT);
}
void loop()
{
    if (digitalRead(ButtonPin))
    {
        digitalWrite(FocusPin, HIGH);
        digitalWrite(TriggerPin, HIGH);
        delay(250);
        digitalWrite(FocusPin, LOW);
        digitalWrite(TriggerPin, LOW);
    }
}

Wie man erkennen kann macht das Arduino hier nicht anderes als auf das Signal vom Taster zu warten, und danach die Kamera auszulösen.

Ist die Kamera selbst auf manuellen Fokus eingestellt, so muss der Fokus-Pin nicht logisch 1 gesetzt werden, so könnte diese Zeile hier entfallen.

Zusätzlich benötigt die Kamera ein Delay zwischen dem Aktivieren und Deaktivieren des Auslöse-Pins, da sie ansonsten nicht auslösen würde. Dieses liegt im Bereich um 50 ms. Um wirklich auf der sicheren Seite zu sein gebe ich immer 100 ms, wenn die Kamera zusätzlich fokussieren soll lasse ich bis zu einer Sekunde zu. Das Delay selbst kann mit der Arduino-Funktion delay(ms); oder via Timer realisiert werden:

int Timer = 0;
boolean Active = false;
...
if (digitalRead(ButtonPin) && !Active)
{
    digitalWrite(TriggerPin, HIGH);
    Timer = millis() + 100;
    Active = true;
}
if (Active && millis() >= Timer)
{
    digitalWrite(TriggerPin, LOW);
    Active = false;
}

Ist die Kamera auf Bulb gestellt, so bleibt ihr Verschluss so lange offen, wie man es mit dem Arduino vorgibt. Standardmäßig sind die meisten Kameras auf 30 Sekunden Verschlusszeit begrenzt, mit dem Arduino kann man weit darüber hinaus gehen.

Das war’s auch schon. Der Eintrag ist zwar kurz, dafür für den einen oder anderen hilfreich.

.

Advertisements

3 Gedanken zu “Trigger Camera

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s