Hallo,
Ich bastele an einer Lichtsteuerung mit WS2812B-LEDs.
Hierbei bekomme ich von einem externen Gerät die Werte im Bereich
[0...1667[ für die jeweiligen Farbanteile von Rot, Grün, Blau und Weiß,
also das bekannte RGBW. Zur Darstellung auf meinen Pixeln und der
Anzeige auf Display und in meiner App brauche ich aber die jeweiligen
Anteile für R, G und B (ohne W) sowie die globale (also gesamt-)
Helligkeit.
Habt ihr Ideen, wie ich diese Werte für RGB und Helligkeit berechnen
kann?
Zuerst dachte ich, ich nehme einfach die Farbanteile RGB, rechne jeweils
1/3 Weiß dazu und skaliere dann alle drei Werte mit gleichem Faktor auf
meinen Wertebereich [0...255]. Das sieht aber eigenartig aus und die
Helligkeit fehlt mir auch noch komplett.
Google hat leider auch wenig ergeben, als einzige Idee gab es: einfach
Weiß weglassen. Kann ja aber auch nicht die Lösung sein, da dann ja die
Farbmischung nicht mehr passt.
Ich brauche keine mathematisch kalibrierten Werte, nur die Farben
sollten schon in etwa passen.
Habt ihr Ideen?
Vielen Dank und Grüße!
Fragender schrieb:> Hierbei bekomme ich von einem externen Gerät die Werte im Bereich
aha ein Gerät! interessant
> [0...1667[ für die jeweiligen Farbanteile von Rot, Grün, Blau und Weiß,> also das bekannte RGBW. Zur Darstellung auf meinen Pixeln und der> Anzeige auf Display und in meiner App brauche ich aber die jeweiligen> Anteile für R, G und B (ohne W) sowie die globale (also gesamt-)> Helligkeit.
also 0...1667 für RGBW war mir bis jetzt unbekannt, ich kannte bis dahin
nur RGB und W war die Summe in der richtigen Mischung, aber die additive
Farbmischung hat sich wohl seit damals weiter entwickelt.
> Zuerst dachte ich, ich nehme einfach die Farbanteile RGB, rechne jeweils> 1/3 Weiß
definiere weiß, warmweiß, kaltweiß -> 2700K oder 6500K
> Habt ihr Ideen?
leider nein, das ist mir zu speziell
Joachim B. schrieb:> die additive Farbmischung hat sich wohl seit damals weiter entwickelt.
Jain, man hat halt noch keine perfekten RGB LEDs erfunden. Deswegen muss
man etwas weißes Licht dazu mischen um das Spektrum hin zu bekommen.
Theorie vs Praxis mal wieder
Andre schrieb:> Jain, man hat halt noch keine perfekten RGB LEDs erfunden. Deswegen muss> man etwas weißes Licht dazu mischen um das Spektrum hin zu bekommen.> Theorie vs Praxis mal wieder
und das hilft dem TO wie?
nichtssagende Beiträge kann ich auch.....
Joachim B. schrieb:> nichtssagende Beiträge kann ich auch.....
Das hast du ja weiter oben schon unter Beweis gestellt ;)
Wunderbar passiv-aggressive ihr-seid-alle-doof Beiträge kannst du auch
verfassen, Kompliment.
Andre schrieb:> Das hast du ja weiter oben schon unter Beweis gestellt ;)
nö ich habe gefragt, welches Messgerät, noch CRI und Farbtemperatur
eingefügt, damit könnte der TO noch was anfangen um seine Frage zu
spezifizieren, das war mehr als deine Ergänzung die nun niemanden
weiterhilft :)
Fragender schrieb:> Ich bastele an einer Lichtsteuerung mit WS2812B-LEDs.>> Hierbei bekomme ich von einem externen Gerät die Werte im Bereich> [0...1667[ für die jeweiligen Farbanteile von Rot, Grün, Blau und Weiß,> also das bekannte RGBW. Zur Darstellung auf meinen Pixeln und der> Anzeige auf Display und in meiner App brauche ich aber die jeweiligen> Anteile für R, G und B (ohne W) sowie die globale (also gesamt-)> Helligkeit.>> Habt ihr Ideen, wie ich diese Werte für RGB und Helligkeit berechnen> kann?
eine Idee wäre, du nimmst deinen RGBW Stripe und steuerst alle
RGBW von 0,0,0,0 bis 255,255,255,255
dann bekommst du Werte von deinem externen Gerät, zumindest dann kannst
du die Werte wiederbekommen.
Helligkeit wird ja in LUX gemessen, aber was sagt dir das?
Ich hatte mich bei Hintergrundbeleuchtungen nur nach der LED Kennlinie
gerichtet und das zu 0-100% "normiert"
LED Fading
https://www.mikrocontroller.net/articles/LED-Fading
Die Umrechnungen von RGB zu HUE findet man in fastLED Sourcen
https://github.com/FastLED/FastLED
Joachim B. schrieb:> aha ein Gerät! interessant
ja, ein Controller auf denen ich keinen Einfluss habe.
Dieser liefert für die 4 Farb-Komponenten Rot, Grün, Blau und Weiß je
ein entsprechendes PWM-Signal, 600 Hz. Daher der Wertebereich von 0 bis
1667.
FastLED ist leider keine Hilfe, das kann nicht mit RGBW umgehen. Das ist
ja gerade der Punkt.
Die Normierung auf einen anderen Wertebereich (in meinem Fall 0 bis 255)
sollte ja nicht das Problem sein. Nur eben die einzelnen Komponenten
rausrechnen bereitet mir Probleme.
Un mein Stripe ist eben RGB, nicht RGBW...
Die Helligkeit brauche ich, da die vorhandene Software (sowohl für LEDs
als auch für die Steuerungsanzeige in der App und auf dem Display) damit
arbeitet.
Es hilft mir ja nicht viel, wenn ich irgendwelche Werte setze und diese
dann nicht weiter verwenden kann, um zB die Helligkeit nachher über
einen Drehgeber etc nachträglich anzupassen. Daher die Frage...
Fragender schrieb:> ja, ein Controller auf denen ich keinen Einfluss habe.
und namenlos oder streng geheim, OK dann ist Hilfe ja fast nicht möglich
> Dieser liefert für die 4 Farb-Komponenten Rot, Grün, Blau und Weiß je> ein entsprechendes PWM-Signal, 600 Hz. Daher der Wertebereich von 0 bis> 1667.
war im Eröffnungsbeitrag nicht zu erkennen
> FastLED ist leider keine Hilfe, das kann nicht mit RGBW umgehen. Das ist> ja gerade der Punkt.
und andere die mit RGBW Stripes umgehen können gibt es nicht?
Ich weiss das es mehr LIBs gibt, habe aber nicht alle angesehen.
> Die Normierung auf einen anderen Wertebereich (in meinem Fall 0 bis 255)> sollte ja nicht das Problem sein. Nur eben die einzelnen Komponenten> rausrechnen bereitet mir Probleme.
welche Probleme?
mal bei aditive Farbmischung gesucht?
> Un mein Stripe ist eben RGB, nicht RGBW...
OK ist klar, dann ignoriere doch aus deienm Gerät den W Anteil!
Ich verstehe immer noch nicht deine Fragen
Messgerät liefert RGBW, Stripe nur RGB, also W kann weg oder misst nur
die Helligkeit, ggffs mit Gewichtung nach RGB -> additive Farbmischung.
> Die Helligkeit brauche ich, da die vorhandene Software (sowohl für LEDs> als auch für die Steuerungsanzeige in der App und auf dem Display) damit> arbeitet.> Es hilft mir ja nicht viel, wenn ich irgendwelche Werte setze und diese> dann nicht weiter verwenden kann, um zB die Helligkeit nachher über> einen Drehgeber etc nachträglich anzupassen. Daher die Frage...
einem Drehgeber? ist mir unklar, ich bräuchte mindestens 2 wenn nicht
sogar 3 ->
https://de.wikipedia.org/wiki/HSV-Farbraum
Andre schrieb:> Jain, man hat halt noch keine perfekten RGB LEDs erfunden. Deswegen muss> man etwas weißes Licht dazu mischen um das Spektrum hin zu bekommen.> Theorie vs Praxis mal wieder
Das Auge hat nur drei Typen von Farbsensoren also kann es auch nur drei
Kanäle bei der Farbe des Lichtes auseinanderhalten.
CRI kommt erst bei Beleuchtungstechnik ins Spiel, weil ein farbiger
Gegenstand die Spektralanteile des Lichtes anders behandelt, als das
Auge.
Joachim B. schrieb:> OK ist klar, dann ignoriere doch aus deienm Gerät den W Anteil!> Ich verstehe immer noch nicht deine Fragen
Ohne Berücksichtigung des W Anteils wird das wohl kaum etwas.
Einfaches Beispiel: Kaltweiß und Warmweiß besitzen den gleichen
Weißanteil und dazu noch einen kleinen Schuss B bzw. R
Wenn du den W Anteil weg lässt, fehlt komplett das (dominante) weiße
Licht und es bleibt nur funzeliges Blau oder Rot (und je nach LED evtl.
etwas Grün).
GANZ SCHLECHTE Idee
> Messgerät liefert RGBW, Stripe nur RGB, also W kann weg oder misst nur> die Helligkeit, ggffs mit Gewichtung nach RGB -> additive Farbmischung.
Du kannst weißes Licht aus R/G/B additiv zusammen mischen, weil das Auge
auch nur drei Farbkanäle hat. Aber du kannst nicht aus einer 4 kanaligen
Information (RGBW), die dann allerdings nicht orthogonal ist, einfach
die Information eines Kanals wegschmeißen.
Setzte dich mal ein bisschen mit den Grundlagen auseinander, bevor du
solchen Unfug verbreitest - sorry.
Ich habe mich schon eine ganze Weile damit beschäftigt, das W in RGB
abzubilden.
Bei mir allerdings nur 256 W Werte.
Zum Schluss habe ich für alle W Werte eine lookup Tabelle erstellt.
Ich habe eine RGBW LED und eine RGB Led nebeneinander gelegt, jeden
10ten Wert der RGBW nacheinander durchgegangen und solange mit den
Werten der RGB Led gespielt, bis es ungefähr gleich aussah. Für die
Werte dazwischen einfach linear interpoliert.
Das ganze mit Papier und Bleistift mitgeschrieben.
JE nach LED und möglichen Stufen bekommt man es nicht hin, zwei gleiche
Farben herauszubekommen.
Wie gesagt, mir ging es dabei nur um 256 verschiedene Weisstöne. Wenn du
all deine 1667^4 Möglichkeiten abbilden willst, müsstest du das
irgendwie automatisieren.
Wolfgang schrieb:> Setzte dich mal ein bisschen mit den Grundlagen auseinander, bevor du> solchen Unfug verbreitest - sorry.
ach der Troll mal wieder, mittlerweile erkenne ich dich, viel sinnloses
Geschreibsel was dem TO nichts bringt, nicht mal Suchworte und mich
nicht mehr tangiert.
Mob schrieb:> Ich habe mich schon eine ganze Weile damit beschäftigt, das W in RGB> abzubilden.> Bei mir allerdings nur 256 W Werte.> Zum Schluss habe ich für alle W Werte eine lookup Tabelle erstellt.
so dachte ich ja auch und korrigiere
Joachim B. schrieb:> eine Idee wäre, du nimmst deinen RGB Stripe und steuerst alle>> RGB von 0,0,0 bis 255,255,255>> dann bekommst du Werte von deinem externen Gerät, zumindest dann kannst> du die Werte wiederbekommen.
maximale Helligkeit gibt es nur mit alle RGB auf 255, das wird natürlich
nicht dein Wunschweiss sein, aber das liegt nun an dir dieses als Wert
in deiner Tabelle gemäß deinem Messgerät festzulegen, es liefert dir ja
alle Infos in RGBW