Water Drop (Simple)

English version.

Wer mit wenig Aufwand einen Wassertropfen fotografieren will, der ist hier genau richtig! Ich habe ein kleines Arduino Projekt gestartet, um euch zu zeigen, wie einfach und verblüffend leicht dies möglich ist. Man benötigt nur sehr wenige Komponenten und wenig Zeit, um alles selbst herzustellen. Die Schaltung selbst habe ich mit dem Arduino Uno realisiert, jedoch finde ich das Arduino Nano hierfür passender, der Programmcode kann direkt übernommen werden, jedoch muss die Schaltung angepasst werden. Wer dies so machen will, kann mich in den Kommentaren um Rat fragen!

Der elektrische Aufbau

Wie bereits erwähnt, ist der Aufbau äußerst einfach. Folgende Komponenten habe ich verwendet:

Die Verdrahtung habe ich wie hier gezeigt durchgeführt, jedoch habe ich die IR-LED und den Phototransistor nicht direkt auf das Breadboard gesetzt, sondern mit langen Kabeln zu meiner Konstruktion geführt. Dabei habe ich darauf geachtet, dass sich die LED und der Transistor auf der selben Achse gegenüber liegen, und habe eine Öffnung von 30mm frei gelassen, damit der Wassertropfen hindurch fallen kann.

Water_Drop_Simple_Breadboard

Beim Kameraanschluss handelt es sich um einen einfachen 3.5mm Stereo-Klinkenstecker. Viele Kameras und Blitze unterstützen ein Auslösen mit einem solchen Stecker. Für die Wassertropfenfotografie empfehle ich, einen Blitz zu verwenden. Wie man dabei richtig vorgeht, erkläre ich später.

Für den Kameraanschluss benötigt man folgende Komponenten:

  • 3.5mm Stereo-Klinkenstecker
  • 2.5mm zu 3.5mm Adapterkabel
  • 3.5mm Stereo-Kabel (Male-Male)

Audio_Jack_Real_Image

Die Verdrahtung zwischen Optokoppler und Klinkenstecker muss so ausgeführt sein, dass das Gehäuse (SLEEVE) des Steckers mit dem Emitter des Kopplers verbunden ist. Der Kollektor des Optokopplers muss mit dem Left-Pin des Steckers verbunden werden, da dieser für das Auslösen der Kamera zuständig ist. Mit Right-Pin kann man den Autofokus betätigen, dies ist hier jedoch nicht relevant.

Audio_Jack_Shematic

Pin 1 des Optokopplers ist die Anode (+) und Pin 2 ist die Kathode (-). Wenn sich nun jemand fragt, warum ich hierfür einen Optokoppler verwende: „Keeps you from frying your stuff!„. Das Arduino gibt durch den digitalWrite()-Befehl 5V am entsprechenden Pin aus. Diese 5V könnten an der Kamera Schäden verursachen, deshalb muss man etwas zur Sicherheit zwischenschalten. Diese Sicherheit ist der Optokoppler, er ist von der Funktion her vergleichbar mit einem Relais, jedoch ist die Schaltzeit wesentlich kürzer – also perfekt für solche Anwendungen! Wer sich unsicher ist, wo sich die Kontakte des Optokopplers befinden: Datenblatt!

Water_Drop_Simple_Shematic

Der Schaltplan gibt vielleicht etwas mehr Aufschluss über die korrekte Beschaltung, und ich hoffe, dass ich damit alle Fragen gut geklärt habe.

Den „Sensor“, also die Lichtschranke, durch die der Wassertropfen fallen wird, habe ich mit günstigsten Mitteln selbst gebaut. Natürlich kann man sich fertige Lichtschranken kaufen, aber für mich steht bei den ersten Prototypen das selbst ausprobieren im Vordergrund. Ich habe hierfür einfach 2 Blockklemmen a 3 Klemmen benutzt. Der große Vorteil an den Klemmen ist, dass man nicht löten muss, und diese sehr einfach positionieren kann.

Light_Sensor_Real_Image

Links auf dem Bild ist die Infrarot-LED zu sehen, rechts der Phototransistor. Beim Positionieren lasse ich zwischen den beiden etwa 40mm Platz, und achte darauf, dass sie sich gegenüberstehen, sodass die LED den Transistor vollständig bestrahlt.

Der mechanische Aufbau

Um den Tropfen jedes mal exakt an die richtige Stelle fallen zu lassen, und vor allem auch durch die Lichtschranke hindurch, braucht man etwas stabiles. Hierfür eignet sich alle, was in etwa Tischhöhe hat. Die Lichtschranke kann man sehr einfach auf die Unterseite eines Bretts montieren, in welches man zuvor mittig ein Loch gebohrt hat. Zum Erzeugen eines Tropfes kann man vieles nehmen, ich favorisiere hier entweder eine Einwegspritze, oder ein Infusionsbesteck. Viel mehr benötigt man für den Anfang nicht.

Der Code

Der Code befindet sich wie gewohnt auf GitHub.

Eines vorweg: Der Programmcode ist mit der Arduino IDE Version 1.0.5 geschrieben mit Sublime Text 3 geschrieben. Es sollte jedoch auch bei höheren Versionen zu keinerlei Problemen kommen, jedoch kann die Formatierung des Codes vom Original abweichen.

Das Programm ist so aufgebaut, dass alle notwendigen Parameter der Konstruktion vor dem Upload festgelegt werden müssen. Diese sind dann während der Laufzeit nicht mehr veränderbar. Einzige Ausnahme ist die Adjust_Time, welche über den seriellen Monitor der Arduino IDE verändert werden kann.

Die 4 Parameter sind:

  • Adjust_Time. Ist diese Zeit null, so sollte der Wassertropfen genau an der Oberfläche des Wassers zu sehen sein. Da jedoch der Controller, die Kamera und der Blitz jeweils eine Verzögerung in das System bringen, muss diese durch die Adjust_Time ausgebessert werden. Diese Zeit kann sowohl positiv, als auch negativ angenommen werden. Die Einheit der Zeit ist in Millisekunden.
  • Height_Above_Sensor. Diese Variable gibt die Entfernung in Millimeter an, welche sich zwischen dem Tropfen-Auslass und dem Sensor befindet.
  • Height_Under_Sensor. Hier muss man den Weg, ebenfalls in Millimeter, zwischen Sensor und Wasseroberfläche angeben. Ich rate hier zu mindestens 1000mm Fallweg.
  • Enable_Mirror_Lockup. Wird die Kamera ohne Blitz verwendet, so sollte an der Kamera und am Mikrocontroller die Spiegelverriegelung aktiviert werden.

Will man die Adjust_Time während der Laufzeit ändern, um nicht jedes mal den Code neu auf das Arduino laden zu müssen, so reicht es, den seriellen Monitor der Arduino IDE zu nutzen. Man muss lediglich die Adjuts_Time in Millisekunden senden, um diese zu verändern.

Eine weitere (letzte) Einstellung lässt sich zusätzlich festlegen. Die Variable lautet Secure_Range, und gibt an, welchen Spielraum der Sensor zum Auslösen hat. Bei meinen Testläufen hat sich ergeben, dass ein Wert zwischen 20 & 50 gut passt. Sollte der Tropfen nicht erkannt werden, so muss einfach diese Variable so lange geändert werden, bis der Sensor den Tropfen zuverlässig erkennt. Dabei gilt: Je größer die Variable ist, desto unpräziser ist der Sensor.

Die Vorgehensweise

Benutzt man die Kamera ohne Blitz, so ist es Ratsam, die Spiegelverriegelung dieser einzuschalten. Wird dies getan, so muss man die Variable Enable_Mirror_Lockup = true; im Code setzen. Der Fokus muss manuell eingestellt werden, am besten funktioniert das natürlich auf einem Stativ – ohne zu arbeiten wäre gewagt. Nachdem der Klinkenstecker mit der Kamera und dem Controller verbunden wurde, kann man endlich den Start-Button betätigen.

Nun misst das Arduino die Helligkeit der IR-LED und legt diesen Wert als Marke fest. Danach wird der Auslöser einmal betätigt, um so den Schwingspiegel der Kamera nach oben klappen zu lassen. Erst wenn die LED am Arduino zu leuchten beginnt, kann der Wassertropfen durch den Sensor fallen gelassen werden – fertig !

Wird ein Blitz verwendet, so empfehle ich, den Raum in dem die Aufnahme entstehen soll vollständig abzudunkeln, und die Kamera eine Langzeitaufnahme machen zu lassen. Wenn der Tropfen die Wasseroberfläche erreicht, wird der Blitz aktiviert. So hat man den Wassertropfen schärfer am Bild, als es nur mit der Kamera möglich wäre. Man muss nur darauf achten, dass die Variable Enable_Mirror_Lockup = false; ist.

Bleibt nur noch eins zu sagen: Viel Spaß beim Fotos machen !

Advertisements

2 Gedanken zu “Water Drop (Simple)

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