Gast
#3930667
Ich stehe vor der Frage, wie ich die Show-Informationen für einen LED-Aufbau speichere - gewissermaßen das Beleuchtungsprogramm. Zum Beispiel habe ich 8 Meter an WS2812B Stripes mit 30 RGB-LEDs pro Meter. Jede RGB-LED benötigt wegen der drei einzelnen Farben daher 3 * 8 Bit an Informationen, um eine (gemischte) Farbe zu schalten. Bei 8 Metern * 30 LEDs habe ich also 240 * 24 = 5760 Bit an Farbinformationen. Dies muss dann natürlich noch mit der "Frame-Rate" multipliziert werden. Bei 30 Bildern pro Sekunde sind das bereits 172800 Bit oder 21,6 Kilobyte. Für eine Lichtshow mit einer Dauer von 60 Sekunden muss ich also mit 1296 Kilobyte etwas mehr als ein Megabyte speichern. Nun sollen natürlich aber mehrere Shows gespeichert werden können. Und dort stehe ich nun vor der Frage, wie ich das am besten bewerkstelligen kann. Ich könnte die Informationen natürlich einfach in Form von Einsen und Nullen abspeichern. Dann hätte ich obigen Speicherverbrauch. Ich könnte versuchen, die Daten zu komprimieren (Beitrag "Re: Daten dekomprimieren für AVR - LHA,GZIP o.ä."). Ich könnte allerdings auch die Werte über eine Beschreibung speichern, sodass diese zur Laufzeit berechnet werden müssten. Nach obigem Beispiel gibt es 2^(24*240) mögliche Zustände der Lichtshow. Dieser Wertebereich könnte die eine Achse eines Koordinatensystems, die Zeit die andere sein. Die Wertepaare könnten über eine Funktion beschrieben werden. Vielleicht ließe sich die Path-Funktionalität von SVG hierzu gut verwenden. Allein: Sind das Dimensionen, die einen atmega hoffnungslos überfordern? Ist das vielleicht viel zu kompliziert gedacht von mir? Gibt es dafür schon gute Lösungen? Ich konnte leider nicht herausfinden, wie kommerzielle Hersteller zum Beispiel ihre Shows in den typischen Baumarkt-LED-Sets hinterlegen. Prinzipiell könnte ich das Problem natürlich auch mit Speicher totschlagen.