Go Down

Topic: WS2811 Rot zu dunkel (Read 384 times) previous topic - next topic

xam420

Feb 21, 2019, 07:50 pm Last Edit: Feb 21, 2019, 07:54 pm by xam420
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.

Gruß
Max

HotSystems

Dann setze deinen Sketch hier in Code-Tags, dann können allen den Sketch lesen.
Dazu verwende die Schaltfläche </> im Editorfenster.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

postmaster-ino

Hi

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.

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

uwefed

#3
Feb 21, 2019, 08:28 pm Last Edit: Feb 21, 2019, 08:28 pm by uwefed
Also mal den SKetch eingebunden:
Code: [Select]
#include <ESP8266WiFi.h>
#include <FastLED.h>

#define NUM_LEDS 3
#define FASTLED_ESP8266_RAW_PIN_ORDER
#define DATA_PIN 8

CRGB leds[NUM_LEDS];

void setup() {

  FastLED.addLeds<WS2811, DATA_PIN, BRG>(leds, NUM_LEDS);

}

void loop() {
  leds[0].red   = 255;
  leds[1].green = 255;
  leds[2].blue  = 255;
  FastLED.show();
 
  delay(500);
}

und mit diesem Sketch leuchten 9 LED?

Grüße Uwe

derGeppi

..das ist doch die 12V-Variante mit 3X3 LEDs..  ;)

uwefed

..das ist doch die 12V-Variante mit 3X3 LEDs..  ;)
Woher soll ich das wissen?
Hast Du auch eine 5V Variante? Ist es dort auch so daß rot schwächer ist?

Grüße Uwe

Viktor93

......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:
https://de.wikipedia.org/wiki/V-Lambda-Kurve

allerdings wenn du bei mehreren Stripes und verschiedener Ansteuerung immer
das selbe Problem hast würde ich auch mal das lesen:
https://de.wikipedia.org/wiki/Protanopie (Rot-Grün-Sehschwäche und Rot-Grün-Blindheit)

xam420

Hallo und danke für die schnellen Antworten.
1. Sorry dass ich den sketch nicht eingebunden habe wusste nicht dass das geht.

2. 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.

3. 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.

Danke für eure Hilfe

Gruß Max

Tommy56

Zum Helligkeitsverlauf von LED gibt es auch hier eine Diskussion.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

uwefed

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.

Grüße Uwe

xam420

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.

Viktor93

…...

3. 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
https://de.wikipedia.org/wiki/MacAdam-Ellipse
beschäftigen müssen.

postmaster-ino

#12
Feb 22, 2019, 09:26 pm Last Edit: Feb 22, 2019, 09:51 pm by postmaster-ino
Hi

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

Code: [Select]

//#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 ;)
}
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

Rentner

Hallo,

hier noch wss zum lesen aus der Doku der LIB


Fast LED Color Correction

uwefed

Hi

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.

Grüße Uwe

Go Up