Farbmischer

Mit einem Arduino, 3 Schiebepotentiometer, einem 16×2 display und einer RGB-LED (Achtung: Es muss eine LED mit gemeinsamer Kathode sein!) lässt sich ein sehr einfacher Apparat zur Veranschaulichung additiver Farbmischung basteln.

Basis für die additive Farbmischung ist das sog. Farbendreieck. Darin werden die relativen Farbreize (r,g,b) der 3 für das Farbsehen zuständigen Rezeptoren in unserem Auge (die sog. Zapfen) in Abhängigkeit von der Wellenlänge des Lichts eingetragen. Dies ergibt den sog. Spektralfarbenzug, welcher das Farbendreieck nach außen begrenzt. Rotes Licht regt etwa primär die Rot-Rezeptoren an und bedingt daher einen großen r-Wert. Violett regt zum Beispiel die Rot- und Blau-Rezeptoren an, was große r- und b-Werte zufolge hat.

Was ergibt nun aber etwa eine Mischung von rotem und grünen Licht? Um die Mischfarbe zweier Spektralfarben zu ermitteln, muss man diese im Farbendreieck einfach verbinden. Je nach Intensität der beiden Spektralfarben liegt nun die Mischfarbe auf dieser Verbindungsgeraden einmal mehr bei der einen Farbe, in der Mitte oder eben mehr bei der anderen Farbe. Bei gleicher Intensität der roten und grünen Spektralfarbe liegt die Mischfarbe genau in der Mitte der Verbindungsgeraden, also bei Gelb!

Hat man nun nicht nur 2 Farben, sondern 3 Farben zur Mischung bereit, so liegen sämtliche Mischfarben je nach Intensität der 3 Spektralfarben innerhalb des aufgespannten Dreiecks. Wie man sieht, kann man durch geschickte Wahl der 3 Ausgangsfarben (Rot, Grün und Blau) nahezu jede Mischfarbe erzeugen. Dies wird etwa beim Fernseher mit seinen jeweils 3 LEDs Rot, Grün und Blau pro Pixel umgesetzt. Werden diese 3 Ausgangsfarben mit gleicher Intensität angesteuert, so liegt die Mischfarbe in der Mitte des Farbendreiecks bei Weiß.

Was sind aber sog. Komplementärfarben? Bei 2 Komplementärfarben muss sich Weiß auf ihrer Verbindungsgeraden befinden. Man kann also mit 2 Komplementärfarben die “Farbe” Weiß erzeugen.

Auf dem Arduino-display werden nun in der ersten Zeile die Einzelintensitäten von Rot, Grün und Blau, also das Tripel (R,G,B) angezeigt. Die Werte gehen hier jeweils von 0 (keine Intensität) bis 100 (maximale Intensität). In der zweiten Zeile werden dann die für die Mischfarbe entscheidenden relativen Farbanteile (r,g,b) angezeigt, wobei gilt:

r = R / (R + G + B)   ,   g = G / (R + G + B)   ,   b = B / (R + G + B)

Wählt man zum Beispiel R = 70, G = 70 und B = 0, so gilt r = 0.5, g = 0.5 und b = 0.

 


Arduino-Code: