Seite 1 von 1

LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Samstag 16. November 2019, 20:02
von sebar
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...?

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 10:06
von sebar
Die Anfrage bezieht sich auf die Verwendung von Raspberry Pi Geräten...

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 12:05
von __deets__
Dreh das Bild doch einfach um 90 grad, und stell die Pixel Matrix entsprechend um. Dann passt das doch.

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 17:29
von sebar
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.

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 17:58
von __deets__
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.

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 18:28
von sebar
...aber hieße das nicht, dass die Rakete seitwärts fliegt?

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 18:31
von __deets__
Nein. Glaub mir.

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 18:36
von sebar
Jetzt hast mir große Hoffnung gemacht :). Sobald die Kids im Bett sind, probiere ich es aus!

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 18:40
von __deets__
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.

Re: LED Matrix: Bilder nicht horizontal, sondern vertikal scrollen (neopixel)

Verfasst: Sonntag 17. November 2019, 20:28
von sebar
Geil, läuft!!
Ich muss nur noch einige Fehler beim Umrechnen der Matrix beheben...
Es haben sich fehlerhafte Pixel eingeschlichen ;).
Tausend Dank! :)