Wassertropfen-Hochgeschwindigkeitsfotografie mit Arduino Nano – DIY Setup
Komponenten und Zubehör
| Komponente | Anzahl |
|---|---|
| Arduino Nano R3 | 1 |
| Lasermodul KY-008 | 1 |
| LM393 Lichtsensor-Modul | 1 |
| NPN-Transistor (Allzweck) | 3 |
| Drehpotentiometer (10 kΩ) | 1 |
| C&K PTS 645 Taster | 1 |
Software
- Arduino IDE
Projektbeschreibung
Dieses Projekt entstand aus dem Wunsch, Hochgeschwindigkeitsfotografie von Wassertropfen zu betreiben. Benötigt werden: Kamera mit manuellen Einstellungen und externem Blitz, beide fernsteuerbar (hier: Sony DSC-HX300 + GODOX SY8000).
Fernauslöser modifizieren
Der Kamera-Fernauslöser wird um einen 3-Pin-Header erweitert. Im Inneren kurzschließen drei Metallzungen beim Drücken nacheinander zwei Kreise (Autofokus → Auslöser). Der Arduino emuliert dies programmgesteuert. Gleiches gilt für den Blitz-Sync-Kabel (PC-Stecker).
Tropf-Erkennung
Lasermodul KY-008 und LM393-Lichtsensor bilden eine Lichtschranke. Der fallende Tropfen unterbricht den Strahl. Der Sensor hat einstellbare Empfindlichkeit (Potentiometer auf Modul). Module können weit voneinander positioniert werden.
Aufnahme-Ablauf
- Dunkler Raum, Langzeitbelichtung (mehrere Sekunden).
- Vor dem Tropfen: Taster drücken → Arduino schließt Autofokus- dann Auslöser-Kontakt → Verschluss öffnet.
- Tropfen durchbricht Laserstrahl → nach einstellbarer Verzögerung (1–500 ms per Potentiometer) schließt Arduino Blitz-Kontakt → Blitz feuert.
- Weitere Tropfen lösen nicht aus – neuer Tastendruck nötig.
Schaltplan
Drei Transistoren schalten die drei Kontakte (Autofokus, Auslöser, Blitz) galvanisch getrennt. Potentiometer an A5 steuert die Blitz-Verzögerung. Siehe Schaltplan-Bild.
Code-Highlights
//#define DBG_MODE // Für Test: Onboard-LED statt Kamera/Blitz
const byte BUTTON_PIN = 2;
const byte FOCUS_PIN = 3;
const byte SHUTTER_PIN = 4;
const byte FLASH_PIN = 5;
const byte SENSOR_PIN = 6;
const byte RESISTOR_PIN = A5;
const unsigned int FOCUS_DELAY = 100;
const unsigned int SHUTTER_DELAY = 100;
const unsigned int FLASH_DELAY = 10;
const unsigned int FIRE_DELAY_MIN = 1;
const unsigned int FIRE_DELAY_MAX = 500;
void openShutter() {
#ifndef DBG_MODE
digitalWrite(FOCUS_PIN, HIGH); delay(FOCUS_DELAY);
digitalWrite(SHUTTER_PIN, HIGH); delay(SHUTTER_DELAY);
digitalWrite(SHUTTER_PIN, LOW); delay(FOCUS_DELAY);
digitalWrite(FOCUS_PIN, LOW);
#else
digitalWrite(LED_BUILTIN, HIGH);
#endif
}
void fireFlash() {
#ifndef DBG_MODE
digitalWrite(FLASH_PIN, HIGH); delay(FLASH_DELAY);
digitalWrite(FLASH_PIN, LOW);
#else
digitalWrite(LED_BUILTIN, LOW);
#endif
}
void loop() {
// Taster-Entprellung & Shutter-Öffnung
// Sensor-Flanke (HIGH→LOW bei Unterbrechung) → fireFlash() nach fireDelay
}
Debug-Modus: #define DBG_MODE aktivieren, Code flashen. Onboard-LED leuchtet bei Tastendruck (Shutter-Simulation), erlischt bei Lichtschranken-Unterbrechung (Blitz-Simulation). Zum echten Einsatz Kommentarzeile wieder deaktivieren.
Ergebnisse
Beispielfotos zeigen verschiedene Phasen des Spritzmoments – justierbar über die Verzögerung.
Schaltplan

Tipps
- Optokoppler für Blitz-Seite empfohlen (HV-Trennung).
- Tropf-Gerät: Medizin-Pipette umgebaut (siehe Bilder).
- Belichtung: z. B. 2–4 s, Blende f/16, ISO 100, manueller Fokus auf Tropfstelle.
Herstellungsprozess
- Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
- IoT- & KI-gestützte Wasserqualitätsüberwachung schützt Wasserleben
- JX Wave Generator – Arduino-kompatibler DDS-Oszillator mit OLED-Display
- LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
- Heimtemperatur weltweit überwachen: Arduino Cloud Integration mit TMP36
- Arduino Mega mit NEO‑6M GPS-Modul verbinden: Schritt-für-Schritt-Anleitung
- u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
- MAX30100 Puls-Sensor mit Arduino integrieren: Schritt-für-Schritt-Anleitung
- Fridgeye-App mit Nextion-Display bauen: Schritt-für-Schritt-Anleitung
- Schritt-für-Schritt: YL-39/YL-69 Bodenfeuchtesensor an Arduino UNO anschließen