bei pulsierendem Aufhellen/Abdunkeln über längere Zeiträume, z. B. wie hier alle 10 Sekunden oder eine Minute, werden gegen null stufige Helligkeitsänderungen sichtbar
Die gleiche Stufigkeit sehe ich auch bei Verwendung von
leds[i].nscale8_video(#);
oder
leds[i].fadeLightBy(#);
Liegt das "in der Natur der Sache", oder gibt es in der FastLED library methods, die zu visuell gleichmäßigeren Helligkeitsänderungen führen, wo, wenn es gegen null geht, keine Stufigkeit erkennen lassen?
Oder ließe sich, wenn es nicht unbedingt null (LED ist aus) sein muß, das Ganze auf 32-255 beschränken, so daß der unansehnliche stufige Teil der Sequenz abgeschnitten wird?
Ach ja, deine Sinusfunktion ist ja schön und gut, aber FastLED bringt da eigene Funktionen mit, die sind viel schneller als deine Flieskomma berechnungen.
Aber wie gesagt mit 8 Bit ist das generell problematisch
Ok, danke, das dachte ich mir schon, nachdem ich jetzt eine Weile in Foren gelesen hatte. Da braucht man also 10, 12 oder besser 16 bit für mehrstündige Übergänge. Das geht dann wohl mit so einem Teil? Das habe ich bei einem Künstler schon mal gesehen, von Weiß zu Gelb zu Schwarz (also aus) über 12 Stunden, sah sehr gut aus.
Die Sinusfunktion war nur zum gucken, wie drastisch die Stufigkeit ausfällt. Das sieht sehr häßlich aus.
Beim 16 bit RGB LED Streifen Dimmen muß man sich auch von FastLED verabschieden, richtig?
Naja - bei FastLED bestimmst Du von hunderten LED die Farbe (welche eben auf 3x/4x 8 Bit laufen).
Hier hast Du 12 Ausgänge, Die '16 Bit' tief arbeiten - wäre somit ein Ersatz für 16 'normale' RGB-LED.
Wie sieht es aus ... der Übergang von einem PWM-Wert zum Anderen ist auch bei 8bit kaum zu sehen - wenn man die Wartezeiten zum nächsten Schritt dynamisch anpasst?
Von 255 bis 200 geht's quasi 'direkt' - Da sieht man eh keine Sprünge - wenn man darunter halt statt die üblichen x hundert ms Wartezeit bis zum 'nächsten logarithmisch berechneten Wert' - Der halt auch schon Mal 20...50 Digits weg sein kann, 'einfach nur weniger Wartezeit abwartet, und dafür Einzelschritte macht'?
In meinem Fall ginge der Übergang von 0-255 über 10 Sekunden bis zu einer Minute, oder auch mehr. Auf einem 144 LED Streifen sieht das von 0-32 sehr stufig aus, danach ebenfalls, aber nicht mehr so extrem; bei einer Stunde natürlich schon.
Bei COB LEDs mit dimmbarer Konstantstromquelle, wie bei einigen Italienischen oder Schwedischen Leuchtenherstellern verbaut, sieht der soft start vollkommen übergangslos aus, zumindest bei bis zu 10 Sekunden. Ich dachte, das ließe sich mit digital ansteuerbaren RGB und auch RGBW LED Streifen auch realisieren.
Wenn ich zwischen microcontroller und LED Streifen das Adafruit-Teil hänge, und statt FastLED die Adafruit library für das Ansteuern und Effekte benutze (habe ich mir noch nicht angeschaut), wäre das nicht wahrnehmbar besser?
Lagom:
Wenn ich zwischen microcontroller und LED Streifen das Adafruit-Teil hänge, und statt FastLED die Adafruit library für das Ansteuern und Effekte benutze (habe ich mir noch nicht angeschaut), wäre das nicht wahrnehmbar besser?
Da musste mal schauen wie du das machst, der PWM Chip ist so nur für einzelne LEDs nutzbar.
Achso und LED Streifen Technisch müsstest du wieder 08/15 12V Streifen nehmen, oder High Power Leds.
Hinter dem PWM Chip brauchst du dann Leistungselektronik, also MOSFETs um die Streifen/COB Leds anzusteuern, wenn man das mit dem Chip überhaupt machen kann.
Und nebenbei:
Nicht nur FastLed kann kein 16 bit sondern auch dein digitaler Led Streifen.
Ich verstehe zwar nicht, wie Du das Thema als gelöst ansehen kannst - aber ok.
Ganz nebenbei:
Egal, wie viele Bit der Streifen auch hat, 'gegen Null hin' wird Der stufig, da die Stufe von 1 auf 2 'das Doppelte' wäre - ist beim 8-Bit-Streifen übrigens auch so.
Auch Dein 16bit-PWM wird diese Eigenart haben, daß 2 das Doppelte von 1 ist - wenn die Stufen halt bei 16 Bit erheblich kleiner sind, als bei 8 Bit - zugegeben.
Da ich keinen RGB Streifen zum 16 bit Dimmen verwenden kann, und es keine anderen Möglichkeiten gibt, die Stufigkeit zu vermeiden, ist das Problem doch gelöst: Was ich vermeiden wollte, läßt sich nicht vermeiden.
Danke, diesen Effekt habe ich auf Google + gesehen; er ist allerdings sehr schnell und flimmernd. Ich habe diesen sketch auch ausprobiert, aber wenn man ihn stark verlangsamt, hat man es wieder mit der Stufigkeit zu tun.
Für Laien ist der sketch auch sehr schwer nachzuvollziehen. Das weiße Flimmern, vom gleichen Autor, ist hingegen ein gutes Lernbeispiel für Anfänger.
Für angenehm langsame Übergänge muß ich dann eben auf 16 bit RGBW LED Streifen warten.
Hier wird behauptet, daß man einen rein weißen digital kontrollierbaren LED Streifen mit 3 * 8 = 24 bit ansteuern können soll. So ließe sich, zumindest für Weiß, das Problem der Stufigkeit minimieren.
Kann das stimmen? Falls ja, kann zu diesem Zweck die FastLED oder Neopixel library gebraucht werden?
ich behaupte NEIN!
Bei RGB-LEDs stimmt das, da kommen 8 x 8 x 8 Bit raus, und ich habe 16,7 Mio mögliche Farbabstufungen.
Bei 3x Weiß kommt aber keine Mischung zustande, es bleibt bei einer Addition, und man erhält nur die 3fache
Abstufung der Helligkeit.
Ob Dir die 768 Stufen genügen, mußt Du ausprobieren, ich kannte die bislang nicht.
Lagom:
... kann zu diesem Zweck die FastLED oder Neopixel library gebraucht werden?
In den Grundfunktionen zum Übertragen der Daten sicherlich. Eine Funktion zum Dimmen wirst Du aber wohl selber schreiben müssen, ist ja aber kein Hexenwerk.
Wenn Du einfach nur mit der 3-fachen Anzahl an LED das Problem angehst - DAS geht auch mit den normalen RGB-Streifen - Du musst dann halt 3 Pixel zu Einem machen.
Beim Farbe dazu geben gibst Du
+1 0 0
+1 +1 0
+1 +1 +1
den Farben der drei Einzel-LEDs nacheinander das +1 - macht unterm Strich auch ein +3.
Du hast also, wie agmue schon schrieb, 0...767 als Farbwert.
Der Pixel-Set-Funktion setzt Du eine Eigene vor, Die bei jedem übergebenem Pixel die 3er-Gruppe berechnet und ebenfalls berechnet, welche Werte für R,G,B diesen drei Einzel-LED zugewiesen werden muß.
Hier ist ggf. sinnvoll, wenn Du sehr viele LED pro Meter hast.
Auch eine Idee auf 'mehr Stufen' zu kommen - vor Allem kannst Du Das so erst Mal mit Deinem vorhandenem Material testen.