Liebes Forum,
meine Python-Kenntnisse befinden sich noch im Prenatal-Stadium, meine Bash-Kenntnisse immerhin im Kleinkindalter. Meine DIY-Matrix hat mir schon viel Freude bereitet und ich bin echt stolz darauf, schon die zweite gelötet und mit allerlei Pixel-Art gefüttert zu haben . Sie besteht aus 24x12 WS2812 (oder WS2811?) LEDs und wird schon eine ganze Zeit lang von diesem Python-Skript angesteuert:
http://www.aoakley.com/articles/ledmatrix.py.php
Aufgrund meiner bescheidenen Programmierkenntnisse fällt es mir aber echt schwer, dieses Skript für verschiedene Usecases umzuschreiben. Immerhin gelang es mir, Argumente einzubauen, die es dem User ermöglichen, das Skript mit beliebigen Bildnamen, Helligkeiten und Schnelligkeiten auzuführen. Dann hört es aber auf... Was ich mir wünsche, ist die Scrollrichtung per Argument zu bestimmen - z.B. horizontal, vertikal, vorwärts, rückwärts.
Hintergrund ist die Tatsache, dass manche Bilder (bzw. Animationen) einfach horizontal keinen Sinn ergeben: Beispielsweise ein Bild, dessen Höhe viel größer als die Breite ist (Tapeten-Ratio oder Papyrus-Ratio). Konkret habe ich die Wettervorhersage der kommenden Stunden/ Tage, die in meiner Auflösung (24x12) nur in "Papyrus-Ratio" Sinn ergibt: untereinander (z.B. 24x60 Pixel). Ein solches Bild lässt sich mit dem verlinkten Skript aber nicht sinnvoll scrollen (von oben nach unten).
Konnte ich mich verständlich machen...?
LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)
Danke für deinen Vorschlag!
Leider kann ich dir aber nicht ganz folgen.
Angenommen, ich habe ein Bild einer nach oben fliegenden Rakete - Spitze zeigt nach oben.
Wenn ich das Bild um 90° drehe, fliegt sie zur Seite.
Wie genau kann ich denn die Matrix umschreiben, um dies zu verhindern?
Falls du aber meinst, ich soll das Gerät physisch drehen, dann ist das keine Option.
Dafür habe ich zu viele andere Bilder und Animationen, die auf das Wide-Format ausgerichtet sind.
Leider kann ich dir aber nicht ganz folgen.
Angenommen, ich habe ein Bild einer nach oben fliegenden Rakete - Spitze zeigt nach oben.
Wenn ich das Bild um 90° drehe, fliegt sie zur Seite.
Wie genau kann ich denn die Matrix umschreiben, um dies zu verhindern?
Falls du aber meinst, ich soll das Gerät physisch drehen, dann ist das keine Option.
Dafür habe ich zu viele andere Bilder und Animationen, die auf das Wide-Format ausgerichtet sind.
Noe, du sollst das nicht physisch drehen. Sondern die Zuordnung der LEDs in der Tabelle am Anfange so aendern, das aus Zeilen Spalten werden. Der Code denkt dann er scrollt von links nach rechts, aber im Ergebnis ist es von oben nach unten. Stell dir einfach vor wie das ganze aussieht wenn du den Kopf um 90 Grad nach rechts kippst. Dann ist die Spalte ganz rechts die oberste Zeile. Die darunter dann die Zeile zwei. Etc.
Es klappt bestimmt. Wie gesagt, wenn es der eigenen Vorstellung hilft, tu so als ob das Display eben um 90 Grad nach links gedreht vor dir liegt, und dann ein 12x24er ist. Ordne die Nummern entsprechend zu, und bastel dir ein Bild das eben 24 Pixel hoch und 60 breit ist. Und lass das scrollen.