Moderne RGB-Farbmischung - Bau eines Farbmischer
Auf dieser Seite finden Sie eine detailierte Anleitung zum Bau eines RGB-Farbmischers mit dem Arduino.
Die Programmbausteine zum Artikel "Moderne RGB-Farbmischung - Pulsweitenmodulation mit dem Arduino, Unterricht Physik 167" finden Sie zum Herunterladen ganz unten auf dieser Seite.
Abbildung 1: RGB LED gespiegelt in einer CD. Durch Interferenz am Gitter werden die Bestandteile der Farbmischung sichtbar.
Bau eines RGB-Farbmischers mit dem Arduino
Mit dem Arduino wird hier ein RGB-Farbmischer gebaut (Abbildung 2). Es werden fertig konfektionierte RGB-LEDs mit eingebautem IC verwendet. Mit nur einem digitalen Ausgang des Arduino können mehrere dieser LEDs gleichzeitig und individuell angesteuert werden. Das Dimmen der LEDs erfolgt über Pulsweitenmodulation. Die LEDs brennen also nicht durchgängig, sondern nur in bestimmten Zeitintervallen. Im Vergleich zum Dimmen von LEDs mit Potentiometern über eine variable Spannung, ist beim Dimmen über Pulsweitenmodulation eine bessere Linearität des Dimmvorgangs möglich (die Helligkeit ist proportional zum "An"-Zustand der LED). Weiterhin ist die Farbe der LED während des Dimmvorgangs stabiler, da immer die volle Spannung an der LED anliegt. Zusätzlich ist das Dimmen auch energetisch günstiger, da die Abwärme über das Potentiometer entfällt.
Die Schiebepotentiometer dienen als Eingabe. Die an den variablen Spannungsabgriffen abfallende Spannungen werden über jeweils einen analogen Eingang am Arduino gemessen. Die drei gemessenen Werte werden vom Arduino in den Wertebereich 0-255 eingeordnet. Mit ihnen werden anschließend die RGB-LEDs angesteurt. Die Werte sind auf unterschiedliche Arten am Farbmischer ablesbar:
- Auf dem Display.
- Von den LEDs, die in den Grundfarben (rot, grün und blau) leuchten. Diese werden jeweils separat mit dem, zur Grundfarbe gehörigen Wert angesteuert
- Für Geübte sind die Werte auch aus der RGB-LED ganz oben ablesbar, die in der Mischfarbe leuchtet.
- Außerdem gibt auch die Reglerstellung selbst Aufschluss über den eingestellten Wert.
Abbildung 2: RGB-Farbmischer
Zum Bau des Farbmischers wird Schrittweise vorgegangen. Es werden folgende Materialien benötigt (siehe Abbildung 3):
Materialliste:
Abbildung 3: Materialien zum Bau des Farbmischers
Allgemeines Material:
- 1 x Arduino Uno mit USB Kabel zum Anschluss an Computer und Stromversorgung
- Gehäuse für den Farbmischer (Die 3D Durckpläne für die hier verwendete Box finden Sie unten auf dieser Seite. Ansonsten können auch andere Leergehäuse verwendet werden, diese müssten dann aber noch entsprechend vorbereitet werden.)
- Lochrasterplatine mit zwei durchgehend kaschierten Leiterbahnen (für 5V und GND), Länge der Leiterbahnen 10 Löcher (Der Übersicht wegen lieber etwas länger)
- 1 x Kabel rot einseitig mit Pin zum Einstecken in den Arduino, die andere Seite wird auf die 5V Reihe der Lochrasterplatine gelötet
- 1 x Kabel schwarz einseitig mit Pin zum Einstecken in den Arduino, die andere Seite wird auf die GND Reihe der Lochrasterplatine gelötet
- Schrumpfschläuche
Für den Anschluss und Befestigung der Potentiometer:
- 3 x Schiebepotentiometer 1kΩ, Schiebeweg 60mm (z.B. erhältlich bei Conrad Bestell Nr. 675427 - 05)
- 3 x Schiebeknöpfe für Schiebepotentiometer, je 1 x Farbe rot, grün und blau
- 3 x Kabel Schwarz
- 3 x Kabel Rot
- 3 x Kabel z.B. grün, einseitig mit Pin zum Einstecken in den Arduino (Variabler Spannungsabgriff)
- 6 x Schrauben M2x5mm für Befestigung am Gehäuse
Für den Anschluss der LEDs:
- 1 x Vorwiderstand 300Ω für digitalen Eingang RGB-LEDs
- 4 x RGB-LED mit eingebautem Steuer-IC (SK6812 entspricht für Programmierung WS2812B) von Thomsen 8mm (gekauft bei Conrad Bestellt Nr. 1575768 - 05)
- 4 x Kabel rot
- 4 x Kabel schwarz
- 4 x Kabel z.B. gelb (für Steuersignal)
Für den Anschluss und Befestigung des Displays:
- 1 x Potentiometer 10kΩ für Displaykontrast
- 1 x Arduino Display mit von jOY-iT 16x2 mit 16pol. Stiftleiste
- Arduino Steckkabel
- 1 x Widerstand 220Ω
- 1 x Kabel z.B. orange, einseitig mit Pin zum Vebinden des Potentiometers mit dem Display
- 4 x Schraube M3x10 und Mutter M3 für Befestigung am Gehäuse
Schritt 1: Verdrahtung der Potentiometer
Die Potentiometer werden als Eingabegerät zur Steuerung der RGB-LEDs verwendet. Hierzu werden sie jeweils an 5V und an GND des Arduino angeschlossen. Da noch anderere Bauteile diese Verbindungen benötigen und es auf dem Arduino nicht genügend Steckplätze gibt, wird eine Lochrasterplatine mit zwei durchgehend kaschierten Leiterbahnen (eine für 5V und eine für GND) verwendet. Diese wird mit dem Arduino verbunden und verteilt die elektrische Spannung an alle anderen Bauteile.
Der Variable Spannungsabgriff der Potentiometer soll jeweils mit einem analogen Eingang des Arduino verbunden werden. Hierzu wird auf einer Seite eines Arduino Kabels (in Abbildung 4 und 5 Farbe grün) der Stecker abgeschnitten, sodass es mit dieser Seite an das Potentiometer gelötet werden kann. Mit der anderen Seite wird es an einen analogen Eingang des Arduino gesteckt. Abbildung 4 zeigt die Verlötung eines Schiebepotentiometers, Abbildung 5 zeigt die drei fertig verlöteten Potentiometer.
Abbildung 4: Verlötete Anschlüsse eines Schiebepotentiometers.
Abbildung 5: Fertig verlötete Schiebepotentiometer mit farbigem Reglerknopf.
Schritt 2: Beschaltung der LEDs
Die RGB-LEDs haben vier Pins (5V, Input, Output, GND) und müssen wie im Datenblatt beschrieben verschaltet werden. Der 5V und GND Pin sind mit den jeweiligen Reihen der Lochrasterplatine zu verbinden.
Die RGB-LEDs erhalten über den Input Pin ein Steuerkommando, das sie über den Output Pin an die nächste LED in der Reihe weitergeben. So muss nur der erste Input Pin mit einem digitalen Ausgang am Arduino verbunden werden. Die Folgenden werden an den Output der vorherigen RGB-LED angeschlossen.
Der Input Pin der ersten RGB-LED sollte aber nie direkt mit dem Arduino verbunden werden. Hierzu ist ein Vorwiderstand von 300Ω zu verwenden (vgl Abbildung 6). Insgesamt ergibt sich die in Abbildung 7 gezeigte RGB-LED Kette.
Abbildung 6: Anschluss der ersten RGB-LED
Abbildung 7: Fertig konfektionierte RGB-LED Kette.
Schritt 3: Verkabelung des Displays
Das verwendete Display wird über sechs Arduino Kabel direkt an den Arduino angeschlossen (lila Kabel im Schaltplan der gesamten Schaltung in Abbildung 8). Das Potentiometer für die Regulierung des Displaykontrasts wird an den beiden äußeren Pins über Kabel mit 5V und GND auf der Lochrasterplatine verlötet. Der variable Spannungsabgriff wird mit dem Display verbunden. Hierzu wird wieder von einem Arduino Kabel (hier Orange) der Stecker auf einer Seite entfernt und das restliche Kabel direkt an das Potentiometer gelötet. Das andere Ende des Kabels wird an Pin 3 des Displays gesteckt. Pin 2 wird mit 5V der Lochrasterplatine, die Pins 1, 5 und 16 mit GND verbunden. Pin 15 des Displays wird über einen Widerstand von 220Ω mit 5V auf der Lochrasterplatine verbunden, hierzu wird ein Arduino Kabel halbiert und in die Schnittstelle der Widerstand eingelötet.
Abbildung 8: Gesamte Beschaltung des Farbmischers, veranschaulicht auf einem Steckbrett.
Schritt 4: Montage und Programmierung
Das Display und die Schiebepotentiometer können mit den in der Materialliste genannten Schrauben und Muttern am 3D-gedruckten Gehäuse befestigt werden. Die RGB-LEDs werden ins Gehäuse gesteckt. Zur Fixierung können Sie zusätzlich mit einer kleinen Klebestelle fixiert werden.
Für die Programmierung des Displays muss in der Arduino Software die Bibliothek "Liquid Crystal" installiert werden. Hierzu ist über Sketch > Bibliothek einbinden > Bibliotheken verwalten aufzurufen. Im sich dann öffnenden Bibliothekenverwalter kann die entsprechende Bibliothek über die Suchleiste gesucht und mit einem Klick auf "Installieren" installiert werden.
Ebenso ist auch die Bibliothek "FastLED" zu installieren, die für die Ansteuerung der RGB-LEDs mit eingebautem IC benötigt wird.
Ist der Farbmischer wie in Abbildung 8 verkabelt, so kann der Sketch zum Farbmischer (Download unten auf dieser Seite) über die Arduino Software auf den Arduino kopiert werden. Anonsten muss die Pinbelegung im Sketch entsprechend angepasst werden.
Die Energieversorgung des Arduino erfolgt entweder mit einer Powerbank, die ins Gehäuse des Farbmischers gelegt wird. Alternativ kann auch für ein USB Kabel ein Loch ins Gehäuse gebohrt werden, sodass der Arduino mit einer Powerbank oder einem Computer außerhalb des Gehäuses verbunden werden kann. Dies empfiehlt sich vor allem dann, wenn man in Zukunft noch Veränderungen an der Programmierung vornehmen möchte, ohne das Gehäuse zu öffnen. Das Kabel sollte aber dann in der Bohrung durch eine Zugentlastung gesichert werden, sodass ein Ziehen am Kabel keinen Schaden im Inneren des Farbmischers verursacht.