haxko Light Painting

Light Painting ist ein fotografisches Verfahren, bei dem man in abgedunkelten Räumen oder an wenig beleuchteten Orten Fotos mit Langzeitbelichtung aufnimmt. Während der Belichtungszeit werden eine oder mehrere Lichtquellen vor der Kamera bewegt. Dieses “mit Licht gemalte Bild” findet sich dann auf den Fotos zusammen mit den durch die Langzeitbelichtung aufgenommenen Objekten wieder. Mit diesem Verfahren sind schon viele eindrucksvolle und künstlerische Fotos entstanden. Selbst nur mit einer Taschenlampe gemalte Bilder können sehr eindrucksvoll sein.

Wir wollten komplexe Motive in die Landschaft malen und haben uns eine “Light-Painting-Latte” gebaut die so etwas kann.

Light Painting haxko-Logo

Ein digitales Foto besteht aus vielen kleinen Punkten (Pixeln), die alle unterschiedliche Farben und Helligkeiten haben können. Wieviel Pixel es gibt, wieviel Farben und Helligkeiten möglich sind, entscheidet über die Qualität des Bildes.

Wir haben eine ca drei Meter lange Holzlatte genommen, schwarz angemalt (zur Verhinderung von Reflexionen) und zwei verbundene LED-Steifen mit je 144 einzeln ansteuerbaren LEDs (WS2812B, “Neopixel”) darauf befestigt. Diese LEDs wurden dann durch einen Raspberry Pi mit einem Linux Betriebssystem und einem speziellen Programm gesteuert.

Light Painting Nyan Cat Motiv

Dann haben wir Bilder so vorbereitet, dass sie aus 288 Punkten in der Vertikalen bestanden. Durch eine SSH-Verbindung über WLAN haben wir mit dem Raspberry kommuniziert, Bilder übertragen und das Programm zur Steuerung der LEDs gestartet. Dieses Programm sorgte nun dafür, dass unser Bild in einem geeignetem Zeitraster Spalte für Spalte durch Ansteuerung der LEDs aufgebaut wurde. Die Ansteuerung erfolgte natürlich mit der aus dem Bild ausgelesenen Pixelfarbe und richtigen Helligkeit.

Light Painting Making Of

Bewegt man nun im richtigen, gleichmäßigen Tempo “schreitend” diesen “Lightpainter” durch das Bild, wird das digitale Bild in das durch die Kamera aufgenommene Bild “gemalt”. Auf diese Weise und auch durch weitere Bewegung des “Painters” kann man eindrucksvolle Ergebnisse erzielen.

Making of

Begonnen hatte alles mit einem ein Meter langen LED-Streifen aus 144 einzeln ansteuerbaren LEDs Typ WS2812B, auch bekannt als “Neopixels”. Jedes Element dieses Steifens ist eine RGB-LED mit einem integriertem Controller. Jeder Baustein verfügt über vier Anschlüsse: 5 V Plus und GND, DI - DataIn und DO - DataOut. Eine RGB-LED beteht aus drei LEDs: Rot, Grün und Blau - durch Lichtmischung können nun die unterschiedlichen Farben erzeugt werden. Die Stromversorgungen der einzelnen Bausteine sind parallel und der Anschluss DataOut jeweils mit dem DataIn Anschluss des folgenden Elements verbunden. Durch ein serielles Signal auf den ersten DataIn-Anschluss kann nun die ganze Kette gesteuert werden. Jedes einzelne Element kann individuell in Farbe und Helligkeit verändert werden. Das geht so schnell, dass Auge die Schaltvorgänge nicht wahrnehmen kann.

Testaufbau

Die Stromversorgung des Testaufbaus erfolgte über ein Labornetzteil, die Steuersignale wurden mit einem Programm auf einem Arduino erzeugt. Über drei Analogeingänge des Arduinos wurde der Spannungsabfall an drei Potentiometern gemessen und auf 0 bis 255 normiert. Diese Ergebnisse ergaben dann die drei Werte für den Rot-, Grün und Blauanteil, welche in das serielle Steuerungssignal für den LED-Streifen umgesetzt wurden. Das bedeutet, dass durch Drehen an den Potis nun jede Farbe für alle LEDS gleichzeitig erzeugt werden konnte. Der besondere Clou: Das Gehäuse des Testaufbaus ist wiederverwendet und kann wieder dem Recycling zugeführt werden - eine leere Pizzaschachtel.

Der erste Testaufbau in einer Pizzaschachtel

Der erste Testaufbau zum Ansteuern der Lichterkette

Light Painting Stab

Jetzt wurde das Equipment für das Light Painting konstruiert. Das Verfahren ist bekannt und auch oben beschrieben. 144 LEDs auf 1 m sind schon gut, kann man schon gute Bilder mit “malen”. 288 LEDs sind besser, also wurden zwei LED-Streifen hintereinander gelötet und auf eine ca. drei Meter lange, schwarz gestrichene Holzlatte montiert.

Da jetzt unterschiedliche Bilder im Programm in Signale umzuwandeln waren, welche wir auch einfach ferngesteuert wechseln wollten, haben wir uns entschlossen, zur Steuerung einen Raspberry Pi zu nutzen. Dessen Linuxsystem konnten wir über WLAN und SSH ansprechen und so die “Lightpaintinglatte” komfortabel steuern. Blieb noch die Stromversorgung. Wir brauchten 5 V. Da wir nur Akkuuppacks mit höherer Spannung hatten, wurde noch eine Spannungsreglung dazwischen geschaltet. Das ganze sah dann so aus:

Die Steuerung der Leihtpaintinglatte

Die Steuerung der Lightpaintinglatte

Software

Jetzt fehlte nur noch die Software. Projekte auf Basis der LEDs des Typs WS2812B (Neopixels) sind in der Community sehr beliebt. Es gibt schon viele Libaries und Beispiele für unterschiedliche Progammiersprachen, die die Grundfunktionen der Steuerung für diesen Baustein schon getestet haben und als Open Source zur Verfügung stellen. Da man das Rad nicht neu zu erfinden braucht, haben wir uns an dieser Lösung (Git-Repo) orientiert.

Das ging natürlich nicht ohne Änderungen. Bilder, die wir darstellen wollten, mussten wir erstmal auf eine Höhe von 288 Pixeln (Anzahl der LEDs) skalieren. Weiterhin brauchten wir für alle 288 LEDs jeweils drei Werte (RGB), um jede der entsprechenden LED in der gleichen Farbe wie es vorher im Orginalbild war zu steuern. Die Leuchtdauer einer Reihe, bis zur nächsten Reihe gewechsselt wurde, wurde durch Raten und Ausprobieren herausgefunden. Diese Geschwindigkeit musste abhängig von der Schrittgeschwindigkeit, mit der der Lichtstab bei der Aufnahme bewegt wurde, gewählt werden.

Aus Rastergrafiken haben wir mit dem convert Befehl: convert -rotate 90 -resize 288x eingabe.jpg ausgabe.rgb simple Bitmap-Dateien gebildet. Diese wurden dann vom Programm gelesen und Spalte für Spalte ausgegeben.

Fotografie

Für die Aufnahmen braucht man eine Kamera, an der man manuelle Einstellungen vornehmen kann.

Zunächst wählt man eine sehr lange Belichtungszeit aus. Diese sorgt für ein ausreichendes Zeitfenster, um die Animation am Leuchtstab zu starten und mit dem Stab in einer kontrollierten Geschwindigkeit durch das Bild zu laufen.

Die Belichtzung selbst, also die Menge des Lichts die aufgenommen wird und später das Bild ergibt, wird so gewählt, dass der Hintergrund gut belichtet wird, die einzelnen LEDs aber auch nicht überbelichtet sind. Die Belichtung wird mit der Blende und der ISO-Zahl gesteuert. Dabei hat die Blende noch eine Auswirkung auf die Größe der einzelnen LED-Punkte. Je offener die Blende, desto größer erscheinen die LEDs und desto mehr verschmelzen die einzelnen LEDs zu einem Bild.

Damit möglichst viele Informationen im Bild gespeichert bleiben, haben wir die Kamera auf RAW-Format umgestellt. So konnten wir einen hier und da vielleicht etwas zu dunkel geratenen Hintergrund später noch ausreichend aufhellen. Damit das Bild möglichst wenig rauscht, haben wir eine möglichst geringe ISO-Zahl eingestellt.

Wir haben für unsere Fotos meist Belichtungszeiten von 15-20 Sekunden, Blenden von f/8 bis f/20 und Empfindlichkeit von 100 ISO genutzt. Wenn man die Blende wegen des Aussehens der LEDs stärker öffnen möchte, kann man mit einem ND-Filter arbeiten.

Der Lichtstab wird langsam schreitend gleichmäßig bewegt

Der Lichtstab wird langsam schreitend gleichmäßig bewegt

Eines der ersten Bilder

Eines der ersten Bilder

https://35c3.bleeptrack.de/

Selfi der Ersteller

Selfi der Creater