Hallo miteinander,
Ich habe nun schon den 2. LED-Streifen bestellt und schon unterschiedliche Hardwarekonfigurationen verwendet(NodeMCU, ArduinoUNO, unterschiedliche Netzteile, zwei verschiedene Streifen). Doch immer habe ich das Problem wie auf dem Bild zu sehen(hoffe man erkennt das die roten LEDs weniger in die Linse blenden wie die grünen und blauen).
Den Sketch mit dem ich die LEDs zum leuchten bringe ist auch angehängt.
Hoffe jemand hat eine Idee ich bin nämlich langsam am Ende mit meinen Ideen.
Du gibst also jeweils eine Farbe zu 100% (=255) aus - fein.
Das menschliche Auge sieht Grün 'als Letztes' - also wirklich!
Wenn Du erblindest, ist Grün die letzte Farbe, Die Du sehen wirst - deshalb sind die Fluchtweg-Leuchten auch grün oder auf Bohrplattformen die Sani-Kästen unter grüner Beleuchtung (laut einem Bericht im Fernseher).
Meine WS2812B (gleiche Protokoll, nur halt 5V und jede LED einzeln statt 12V und im 3er Pack) blenden Grün auch mehr als Blau mehr als Rot.
Befürchte, wenn Dich Das stört, musst Du die anderen Farben künstlich 'runter rechnen' - damit Alle identisch blenden.
xam420:
......Doch immer habe ich das Problem wie auf dem Bild zu sehen(hoffe man erkennt das die roten LEDs weniger in die Linse blenden wie die grünen und blauen).
Hoffe jemand hat eine Idee ich bin nämlich langsam am Ende mit meinen Ideen.
Gruß
Max
Hi
Ein Gedanke wurde dir schon erklärt - die Farbempfindlichkeit des menschlichen Auges
lies dazu mal das:
allerdings wenn du bei mehreren Stripes und verschiedener Ansteuerung immer
das selbe Problem hast würde ich auch mal das lesen: Protanopie – Wikipedia (Rot-Grün-Sehschwäche und Rot-Grün-Blindheit)
Sorry dass ich den sketch nicht eingebunden habe wusste nicht dass das geht.
Ja ich hab eine Rot-Grün-Schwäche(ziemlich stark sogar) was allerdings nicht heißt dass ich komplett Farbenblind bin. Und ich hab natürlich auch "nornamsehende" Menschen gefragt wie die LEDs leuchten.
Zur Lambda-Kurve: Die Helleigkeit der LEDs kann ich mit einem Wert zw. 0 und 255 angeben. Dabei entspricht Grün oder Blau beim Wert 40 einer ähnlichen Helligkeit wie der von Rot beim Wert 255. Und ja wahrscheinlich ist der Verlauf von 0bis255 auch nicht linear nur kanns doch nicht sein dass die Unterscheide zwischen den Farben so rießig sind. Ich vermute es muss noch andere Gründe geben.
Ich kann kaum Mischfarben darstellen da zB bei Gelb die Roten und Grünen LEDs gleich Hell sein müssten was ja etwa beim Wert 40 von Grün und beim 255 von Rot ist, und das ist dann aber ein ziemlich dunkles Gelb. Das selbe mit Weiß(einfach viel zu Blau).
Vielleicht gibts ja jemanden unter euch der ein ähnliches Setup hat und könnte mal den selben Code wie ich(siehe oben) Verwenden um die Ergebnisse zu vergleichen.
Als nicht Farbenblinde bzw Farbensehschwächebetroffene ist es für uns schwierig in Dich hineinzuversetzen.Für mich sind rot und grün 2 verschiedene Farben wo es für Dich etwas ähnliche Farben sind. Verzeih uns das bitte.
Die Farbenblindheit ist ein Erklährungsversuch des von Dir aufgezeigten Problems.
Ich verwende 5V WS2812/12b Streifen und hab keine eklatanten Farbhelligkeiten bemerkt.
Hast Du mal ein 5V Streifen oder Neopixel probiert?
WS2811 ist nur der Kontroller an den RGB LEDs angeschlossen sind. Die Farbwiedergabe hängt von diesen LED ab. Der Hersteller der Streifen wird wahrscheinlich nicht angegeben haben welche LED er verwendet hat bzw die RGB LED je nach Verfügbarkeit oder Tagespreise wechseln.
Der Hersteller der WS2812 (WS2811 Konroller mit eingebauten RGB LED) gibt die Helligkeit der LED an:
Rot 550-700mcd, grün 1100-1400mcd und blau 200-400mcd.
Beim WS2811, weil die LED unabhängig vom Kontroller sind, kann der Hersteller des Streifen die Auswahl treffen und muß er Dir die Daten der LED geben bzw auf deren Datenblatt verweisen.
Eine gute idee mal andere Streifen zu kaufen um herauszufinden ob der Fehler irgentwo im bestehenden System steckt(LEDs, meine Augen,...).
Und an alle da drausen die denken ich würde Farben nicht erkennen weil ich eine Rot-Grün-Schwäche habe....ich sehe alles wie ihr nur Farben mit Rot Anteil ein wenig abgeschwächter. Dessen bin ich mir aber bewusst und frage auch immer normalsehende wenns um Farben geht.
Funfakt: 10% der männlichen Bevölkerung haben die RG-Sehschwäche, oft aber so schwach dass es nicht oder kaum auffällt.
Zur Lambda-Kurve: Die Helleigkeit der LEDs kann ich mit einem Wert zw. 0 und 255 angeben. Dabei entspricht Grün oder Blau beim Wert 40 einer ähnlichen Helligkeit wie der von Rot beim Wert 255. Und ja wahrscheinlich ist der Verlauf von 0bis255 auch nicht linear nur kanns doch nicht sein dass die Unterscheide zwischen den Farben so rießig sind. Ich vermute es muss noch andere Gründe geben.
ja gibt es
v-Lambda ist auf Grund der Bestimmungsmethode eh sehr problematisch.
Du wirst dich auch mit
Hab Da Mal ein Video gebaut - so sehen die Farben auf WS2812B aus: LED Test WS2812B, YouTube
Eigentlich ist Das meine Uhr, das Video braucht aber noch ...
MfG
//#include <ESP8266WiFi.h> //Auskommentiert, habe einen Arduino NANO
#include <FastLED.h>
#define NUM_LEDS 60
//#define FASTLED_ESP8266_RAW_PIN_ORDER //dito
#define DATA_PIN 6 //an meine Uhr angepasst
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, BRG>(leds, NUM_LEDS);
}
void loop() {
static byte wartezeit = 100;
static byte status = 1;
static byte temp = 0;
static byte nummer = -1; //nummer bleibt in loop() erhalten, Startwert -1 (=alle Bits gesetzt)
nummer = ++nummer % NUM_LEDS; //Zahl erhöhen
switch (status) {
case 5: status = 1; //Bei Status 5 wird Dieser auf 1 zurück gesetzt
wartezeit = wartezeit >> 1; //die Wartezeit verkürzt
case 1: //und der Block für Status 1 abgearbeitet (fehlendes break bei 5)
leds[nummer] = 0xFF0000; //Rot auf aktuellen Pixel
leds[(nummer + 1) % NUM_LEDS] = 0x00FF00; //Blau dahinter
leds[(nummer + 2) % NUM_LEDS] = 0x0000FF; //Grün dahinter
break;
case 2:
leds[nummer] = 0x00FF00;
leds[(nummer + 1) % NUM_LEDS] = 0x00FF00;
leds[(nummer + 2) % NUM_LEDS] = 0x00FF00;
break;
case 4:
leds[nummer] = 0x0000FF;
leds[(nummer + 1) % NUM_LEDS] = 0x0000FF;
leds[(nummer + 2) % NUM_LEDS] = 0x0000FF;
break;
case 3:
leds[nummer] = 0xFF0000;
leds[(nummer + 1) % NUM_LEDS] = 0xFF0000;
leds[(nummer + 2) % NUM_LEDS] = 0xFF0000;
break;
}
temp++;
if (temp >= 20) status++, temp = 0; //DAS geht wirklich :)
FastLED.show(); //Ausgabe
leds[nummer] = 0; //den aktuellen Pixel löschen für die nächste Runde
if (!wartezeit)wartezeit = 100;
delay(wartezeit); //delay rules ;)
}
Hab Da Mal ein Video gebaut - so sehen die Farben auf WS2812B aus: LED Test WS2812B, YouTube
Eigentlich ist Das meine Uhr, das Video braucht aber noch ...
Mach das Video nochmal mit dem Ring in der Sonne.
Dann übersteuert das Licht nicht so.