Adressierbare LED mit einem Befehl ausschalten

Hallo,

erst mal muss ich sagen, dass ich neu bin in der Arduino Welt.

Ich steuere mit Hilfe der Neopixel Library meinen LED Leuchtstreifen mit 150 LEDs an.
Das ist jetzt mal kein großes Problem dies zu Laufen zu bringen.

Doch wenn ich alle LEDs ausschalten will gehe ich über eine for- Schleife und
und verpasse einer LED nach der anderen die RGBs (0,0,0) also "schwarz".

Quellcode-------------------------------------------------------------------------------
for(int i = 0; i < NUMPIXELS; i++)
{
// pixels.Color takes RGB 0,0,0
pixels.setPixelColor(i, pixels.Color(0,0,0)); // Moderately bright black color.
pixels.show(); // This sends the updated pixel color to the hardware.
}
Ende------------------------------------------------------------------------------------

Bis die letzte LED dies kapiert, vergehen schon mal 1 bis 2 Sekunden.
Ich denke das kommt daher, dass jede LED den ihrigen Befehl abarbeitet und
dann erst die Steuerleitung DIN nach DOUT durchschaltet.

Meine Frage.
Geht das nicht schneller, quasi mit einem Befehl?

Vielen Dank für eure Hilfe.
Grüße v. Fujisufan

Ruf' show nicht für jede LEDs auf, sondern erst nach dem Setzen aller.

for(int i = 0; i < NUMPIXELS; i++) {
  pixels.setPixelColor(i, pixels.Color(0,0,0));
}
pixels.show();

Wenn das noch zu langsam ist könnte man auch den gesamten Array mit memset löschen.

Willkommen im Forum!

Probier es doch mal mit

for (int i = 0; i < NUMPIXELS; i++)
{  pixels.setPixelColor(i, pixels.Color(0,0,0));
} 
pixels.show();

Edit: und zu spät... :slight_smile:

Fujitsufan:
Geht das nicht schneller, quasi mit einem Befehl?

Dafür gibt es die Methode clear(), bei Dir also pixels.clear().

Hallo zusammen,

vielen Dank an alle die mir eine Antwort erteilt haben.

Funktioniert bestens.
Eigentlich logisch. Hätte vorher mal besser nachdenken sollen.
Egal. Es freut mich, dass es funktioniert.

Hat jemand von euch auch Probleme mit der Farbe der LEDs.
Mit schein als ob nur 5 Farben darzustellen sind.
Die R,G,B und die dazwischen.
Farbabstufungen wie RGB(55, 201,134) scheinen die LEDs zu ignorieren.
Hab vielleicht zu billig eingekauft. Für ein LED Band mit 150 LEDs 20€.

Schönen Abend noch.
MfG.
Fujitsufan

PS.
Wenn jemand noch ein Beispiel hätte um einen RealTimeClock Baustein
über I²C Schnittstelle einzulesen das wäre super.

Fujitsufan:
Wenn jemand noch ein Beispiel hätte um einen RealTimeClock Baustein
über I²C Schnittstelle einzulesen das wäre super.

Mach doch bitte einen neuen Thread auf.
Das passt nun absolut nicht zum Thema.

Fujitsufan:
Wenn jemand noch ein Beispiel hätte um einen RealTimeClock Baustein
über I²C Schnittstelle einzulesen das wäre super.

Schreibe dann bitte dazu, um welchen es sich handelt.

Ich nutze diese Anleitung; Tutorial – Using DS1307 and DS3231 Real-time Clock Modules with Arduino

Fujitsufan:
Hat jemand von euch auch Probleme mit der Farbe der LEDs.

Nein, ein Regenbogen sieht aus wie ein Regenbogen. Manchmal sind die Farben anders, als man sie erwartet, aber das ist mehr subjektiv.

Hast Du mal versucht, einen Diffusor (sowas wie Milchglas, dünnes Reispapier oder Ähnliches) davor zu halten?
Dann sieht man die Einzelleds nicht mehr und die Farben mischen besser. Es ist auch nicht jeder Mischwert sinnvoll, da das Auge (und auch die LED) nichtlinear sind. Hier gibt es eine Abhandlung darüber.

Gruß Tommy