Seit längerer Zeit habe ich einen Raspberry Pi und ich hatte schon immer den Plan gehabt, mit diesem Dingelchen die DSLR auszulösen. Ein paar Sachen für ein Prototyping der elektronischen Peripherie und Sensoren für Schall, Licht, Entfernung, etc. sind dazu gekommen, außerdem noch ein ESP8266 dazu, ein Arduino-Ableger.
Ein Rasberry Pi ist ein Kleinstrechner im Scheckkartenformat, der mit einem Linux Betriebssystem läuft. Strom bekommt er von einem USB-Stecker. Standard-Rechner Anschlüsse sind USB2 & 3, Audio-Klinke, HDMI und Netzwerk. Was ein normaler Rechner nicht hat, aber der Pi, sind die 40 Pins auf der Platine oben links. Diese GPIOs kann man nutzen, um low level Hardware als Eingabe oder Ausgabe anzuschließen. Diese will ich nutzen um über ein Relais gesichert ein Auslösekabel für die Kamera zu triggern.
Ein Arduino oder ESP8266 hat auch solche Pins, aber dort ist es in Sachen Rechner einfacher gehalten. Kein Betriebssystem, sondern ein Steuerchip, in den man ein Programm hochladen kann.
Warum mache ich das? Getriggerte Aufnahmen. Es passiert etwas und die Cam macht automatisch Klick. Z.B. es gewitterblitztdingst und die Cam macht im richtigen Augenblick die Auslösung. Es knallt, weil die Pfeilspitze den Luftballon trifft und es macht Klick. Und vieles mehr.
Es gibt dafür Lösungen, die man kaufen kann, oftmals mit Technik aus China. Die Werbefotos sehen großartig aus, aber bei den Rezensionen sieht es nicht mehr so schön aus. Es gibt auch Lösungen, wo ein Schwerpunkt bei der Software und Sensorik des Mobiltelefons liegen.
Ich habe nun den Ansatz die Hardware und die Software selbst zu gestalten. Wenn es dann fehlschlägt, kann man an seiner Technik weiter feilen. Dann braucht man nicht über das überteuerte Kaufprodukt schimpfen oder den Billigmüll.
Erster geplanter Anwendungsfall ohne Sensorik: Druck aufs Knöpfchen an der Platine, ein Servo bewegt sich, etwas fällt runter und nach einer einstellbaren Wartezeit macht die Kamera die Aufnahme. Ohne Sensorik, dafür aber mit mehr Aufwand in der Steuerung.
Die Software kommt in C oder C++. Das ist zwar alte Technik, hat aber den Vorteil, dass es schnell ist, was eventuell bei manchen Aufnahmen der Knackpunkt sein kann. Die Arbeitsumgebung zum Programmieren ist NetBeans für den Rasperry Pi und Arduino IDE für den ESP8266. Drehknopf und LCD-Display sind geplant, weil ich beim Fotografieren die Möglichkeit haben möchte, den zeitlichen Ablauf verändern zu können.
Letztes Erfolgserlebnis: Das Auslesen des Dreh- & Druck-Knopfs habe ich auf beiden Plattformen hinbekommen. Als nächstes kommt ein wenig Software zur Steuerung. Die Einzelkomponenten sind da nun alle erforscht.
Der C++ Code hat etwa 800 Zeilen in Summe. Sechs Menüpunkte habe ich über den Drehknopf: Verzögerung, Servoposition offen, Servoposition halten, Inkrement setzen, Fotografieren und Programm beenden. Einen Druck auf den Drehknopf und man kann den jeweiligen Wert durch Drehung ändern. Zwei zusätzliche Taster machen es mit dem Auslösen einfacher. Taster 1: Servo öffnen, Servo halb schliessen, festhalten und Foto auslösen. Taster 2: Servo halb öffnen, wenn die Halteposition aktuell ist.
Erster Versuch …
Was als nächstes? Portierung der Lösung zu ESP8266 oder fester Zusammenbau der Komponenten?
… m.t.c.
Aus der Anleitung des verwendeten Kabels Nikon MC-22:
Das Meßsystem der F6, F5, F100, F9OX, F90, D2, D1 oder D100* ist aktiviert, wenn der Hauptschalter der Kamera auf ON (oder *)) steht und der blaue Stecker des MC-22 mit dem schwarzen Stecker kurzgeschlossen ist. Die Verschlußauslösung erfolgt bei eingeschaltetem Meßsystem der Kamera, wenn der gelbe Stecker des MC-22 mit dem schwarzen Stecker kurzgeschlossen ist. An die Anschlußstecker des MC-22 darf keine Fremdspannung angelegt werden!