WS2812 LED Strip Programmieren

Gibt es dafür Software? Habe Glediator gefunden aber das scheint nur für Matrixen zu sein. Gibt es so etwas in der Art auch für Strips?

Habe mir zwar schon verschiedene Democodes von Effekten angesehen aber irgendwie noch keine wirklichen Vorgehensweisen für die Programmierung eigener Effekte gefunden.
Hat da jemand Tipps / Links dazu ?

Habe mehrfach gelesen man soll die sequenz in arrays speichern und dann abrufen. Wie soll das genau gehen?

Bin für jegliche Tipps offen. Danke!

http://forum.arduino.cc/index.php?topic=198987.60

Ansonsten FastLed anschauen.

Ich kann dir diese hier empfehlen http://fastled.io/
Die ist vor allem sehr gut Dokumentiert und man kann zig verschiedene Arten der WS LED Treiber ansteuern.
Gruß
DerDani

Danke für die ersten Tipps.

Habe nun etwas Basics... Einzelne LEDs ansteuern, Farben und Brightness einstellen geht.

Aber ich frage mich immer noch was es damit auf sich hat:

uint8_t patternHeartbeat[0x30] = {
		0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,	// 0x10
		8, 8, 9, 9, 8, 7, 6, 5, 4, 5, 6, 7, 8, 9, 9, 8,	// 0x20
		8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0,	// 0x30
	};

Kannn mir das bitte jemand erklären?

Eine Software gibt es nicht womit man so Effekte komfortabel erstellen kann? Stelle mir das recht schwer vor ohne etwas optisches das zu programmieren.
Denke da an folgenden Effekt:
Ein Heller pixel läuft vorwärts und die nachfolgenden Pixel sind sozusagen der Schweif davon. Werden also immer Dunkler. So ca 5 Leds als Schweif.
Komplizierter wird es wenn der gleiche Effekt von beiden Seiten aufeinander zu läuft und wenn die 2 hellen Pixel aufeinander treffen "explodieren sie", dargestellt als 2 superhelle Punkte die zu einem verschmelzen.

Zeichne die Werte mal in ein XY-Koordinationkreis. Dann wirst du vermutlich erkennen, was die Kurve darstellt :wink:

Schreibe deine Effekte auf Blattpapier. Dann schaust du, wie du das am besten realisierst. Fang am besten mit einem Lauflicht ohne Fade an. Ein Programm gibt es nicht, was die Effekte in C um setzt. Wenn dann wird auch nur ein Array ausgespuckt, was du nach und nach abarbeitest. Die meisten meiner Effekte sind aber dynamisch.

Für einen der Effekte kannst du dir den Larsson Scanner anschauen.

Ein Heller pixel läuft vorwärts und die nachfolgenden Pixel sind sozusagen der Schweif davon. Werden also immer Dunkler. So ca 5 Leds als Schweif.

Ganz einfach: Programmiere ein Lauflicht mit einer For-Schleife. Nach dem Anzeigen des aktuellen Frames löschst Du den Bildspeicher NICHT, sondern "dimmst" ihn nur. Die FastLED nscale() Funktion ist dafür genau richtig.

Ergebnis: Die Leds gehen nicht schlagartig, sondern langsam aus. Je nachdem, wie stark Du dimmst, ist der entstehende Schweif kürzer oder länger.

Gruß, Helmuth

edit: Noch einfacher, Mark hat sogar eine Funktion für genau dieses dimmen geschrieben: blur1d

Details hier: Google Workspace Updates: New community features for Google Chat and an update on Currents

Danke, nun habe ich etwas zum experimentieren.

Falls noch jemand Tipps oder Links für Einsteiger in die FastLed Programmierung hat, immer her damit :slight_smile:

Hier ist auch noch eine "kleine" Linksammlung zu FastLED Code Beispielen und Beschreibungen.

Da hast Du erstmal zu tun... aber bitte nicht einfach copy+paste, sondern studieren und verstehen! :wink:

Von einsteigerkompatibel bis hochkomplex ist da so ziemlich alles dabei.

Viel Spaß!