Forum: Mikrocontroller und Digitale Elektronik LED-Matrix | Einfachste methode für animationen?


von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

Hallo leute,

ich habe hier eine 32 x 16 RGB LED matrix und ein arduino mega mit dem 
ich schon ein bisschen rumgespielt habe und paar sehr simple sachen 
dargestellt hab.

Meine frage ist aber was wäre die aller einfachste methode um 
animationen oder schriften auf einer LED matrix darzustellen? Was für 
extra hardware benötigt man um sein leben zu vereinfachen?

von Hubert G. (hubertg)


Lesenswert?

Der Arduino Mega hat genügend I/O um alle Pin der Matrix anzuschließen. 
Vorwiderstand für die Led so wählen das etwa 30mA fließen.
Das Programm so gestalten das immer nur eine LED leuchtet(multiplex).
Wenn die LED zu dunkel sind, dann ist mehr Strom durch die LED und damit 
mehr Aufwand notwendig.

von Malte _. (malte) Benutzerseite


Lesenswert?

Wenn du es dir einfach machen möchtest, erstellst du Animationen am PC 
und baust eine SD Karte dran, von der die dann einfach aufs Display 
geschrieben werden. 32*16*3*60 (24Bit Farbtiefe 60Hz) -> 92KB/s -> das 
schafft ein schnell getakteter AVR. Bei weniger Farben/geringerer 
Wiederholrate wirds entsprechend weniger/einfacher.

von Hans T. (Gast)


Lesenswert?


von Hubert G. (hubertg)


Lesenswert?

Das RGB hatte ich überlesen, da geht es mit dem Anschließen natürlich 
nicht so einfach.

von Karl H. (kbuchegg)


Lesenswert?

Hubert G. schrieb:

> Das Programm so gestalten das immer nur eine LED leuchtet(multiplex).

Bei einer 32*16 Matrix?
Das werden aber dürftige Animationen

Ne, ne
Wenigstens 32 (RGB) LED müssen schon gleichzeitig leuchten (= jeweils 
die in einer von 16 Zeilen). Und selbst dann wird das mit dem Multiplex 
grenzwertig.

Erstes Ziel ist sowieso nicht eine Animation. Erstes Ziel ist, durch 
Multiplexing alle LED so anzusteuern, dass man ein Bild hat. Animation 
ist dann nur noch das Bild in regelmässigen Abständen auszutauschen.

: Bearbeitet durch User
von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

Ich wollte eigentlich wissen ob es einfachere methoden gibt eine 32 x 16 
RGB LED Matrix zu betreiben ohne etwas programmieren zu müssen.

von Philipp K. (philipp_k59)


Lesenswert?

Da gibt es bestimmt schon fertige Klassen, allerdings kommt es darauf an 
ob die MAtrix Selbstgebaut oder gekauft wurde, ob externer Controller 
oder der Atmega ohne Controller direkt an die Zeilen/Spalten 
angeschlossen wurde.

von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

Es ist eine gekaufte matrix von sparkfun 
https://www.sparkfun.com/products/12583

Ich habe einen arduino mega benutzt um ganz simple sachen darzustellen.

Aber das programmieren ist mir einfach zu kompliziert und zeitaufwändig. 
Ich habe irgendwie was von FPGAs oder DMX gehört womit man dann 
glediator oder JINX! benutzen kann und ganz einfach vorgefertigte 
animationen anzeigen kann.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich habe mich lange mit dem Thema auseinandergesetzt, zuerst mit einer 
einzelnen 32x16 ... und bin am Ende bei 192 x 32 gelandet. Letztere kann 
leider mangels Speicher nicht mehr vom Arduino bedient werden, da bin 
ich dann beim Raspi gelandet.

Aber: Zur Animation habe ich immer einen PC/Mac benutzt, die LED-Matrix 
quasi nur als Display. Ein par Zeilen RealBasic (oder was auch immer) 
bereitet einen Grafikblock in puren RGB-Werten auf und "beamt" den aufs 
Display. Die Datenübertragung geht allemal schnell genug, dass da 
Frameraten bis weit über 20/s möglich sind. Beim Arduino habe ich 
zunächst mit USB/Seriell (57100 bps) experimentiert, später dann mit 
Netzwerk (UDP), klappt beides prima.

Mit "Bordmitteln" beim Arduino und beim Raspi klappt das Scrollen in 
beliebige Richtung, darüber hinaus wirds schwierig.

von W.A. (Gast)


Lesenswert?

Kerem B. schrieb:
> Ich habe irgendwie was von FPGAs

FPGAs sind auch erstmal ziemlich doof, wenn sie vom Händler kommen. Die 
wollen auch programmiert werden, sind dann aber wesentlich schneller als 
dein Arduino mega.

Ein Tip:
Wenn du Internet hast, kannst du solche Begriffe wie FPGA oder DMX 
einfach in die Suchmaschine deiner Wahl eingeben und findest dann viele 
Infos dazu.

von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

Frank E. schrieb:
> Ich habe mich lange mit dem Thema auseinandergesetzt, zuerst mit einer
> einzelnen 32x16 ... und bin am Ende bei 192 x 32 gelandet. Letztere kann
> leider mangels Speicher nicht mehr vom Arduino bedient werden, da bin
> ich dann beim Raspi gelandet.
>
> Aber: Zur Animation habe ich immer einen PC/Mac benutzt, die LED-Matrix
> quasi nur als Display. Ein par Zeilen RealBasic (oder was auch immer)
> bereitet einen Grafikblock in puren RGB-Werten auf und "beamt" den aufs
> Display. Die Datenübertragung geht allemal schnell genug, dass da
> Frameraten bis weit über 20/s möglich sind. Beim Arduino habe ich
> zunächst mit USB/Seriell (57100 bps) experimentiert, später dann mit
> Netzwerk (UDP), klappt beides prima.
>
> Mit "Bordmitteln" beim Arduino und beim Raspi klappt das Scrollen in
> beliebige Richtung, darüber hinaus wirds schwierig.

Kannst du vielleicht mehr ins detail gehen wie genau du nur mit dem 
computer deine 32x16 LED Matrix gesteuert hast?

Und was meinst du mit RealBasic und aufs display beamen?

von MaWin (Gast)


Lesenswert?

Kerem B. schrieb:
> Ich wollte eigentlich wissen ob es einfachere methoden gibt eine 32 x 16
> RGB LED Matrix zu betreiben ohne etwas programmieren zu müssen.

Nein.

Kein Minecraft Coding für AVR, keine Micro-SPS Blockdiagramme,
Ardublock für Arduino ist zu langsam,
und die "Animation" ist noch mal eine Stufe höher als das
Multiplexen, das man erst mal braucht, um überhaupt alle LEDs
leuchten zu lassen und nicht wie bei Hubert nur Eine.

Man hat also etwas zweistufiges: Eine schnelle Funktion, die
ein Bild immer wieder auf alle LEDs schickt, wie ein Fernseher
mit seiner Bildwiederholfrequenz

und die Routine, die überhaupt erst das Bild erstellt, ob das
Laufschriften oder wabernder Rauch ist oder Sternengeblinker
oder das animierte Pacman-Spiel.

Ohne programmieren wird das mit der Welt der Computer für dich nix.

von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

MaWin schrieb:
> Kerem B. schrieb:
>> Ich wollte eigentlich wissen ob es einfachere methoden gibt eine 32 x 16
>> RGB LED Matrix zu betreiben ohne etwas programmieren zu müssen.
>
> Nein.
>
> Kein Minecraft Coding für AVR, keine Micro-SPS Blockdiagramme,
> Ardublock für Arduino ist zu langsam,
> und die "Animation" ist noch mal eine Stufe höher als das
> Multiplexen, das man erst mal braucht, um überhaupt alle LEDs
> leuchten zu lassen und nicht wie bei Hubert nur Eine.
>
> Man hat also etwas zweistufiges: Eine schnelle Funktion, die
> ein Bild immer wieder auf alle LEDs schickt, wie ein Fernseher
> mit seiner Bildwiederholfrequenz
>
> und die Routine, die überhaupt erst das Bild erstellt, ob das
> Laufschriften oder wabernder Rauch ist oder Sternengeblinker
> oder das animierte Pacman-Spiel.
>
> Ohne programmieren wird das mit der Welt der Computer für dich nix.

Deshalb frage ich ob es eine einfache lösung oder einfachere methoden 
ohne programmieren gibt für den normalen endverbraucher, die gibt es 
sicherlich.

Sonst würde ich nicht explizit das fragen.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Kerem B. schrieb:
> Ist mir schon klar das nichts ohne programmieren geht

Offenbar nicht

> ob es methoden ohne programmieren gibt
> für den normalen endverbraucher,

LED Matrixanzeigen für den Endverbraucher sind fertig programmiert und 
stellen Laufschriften oder Videobilder dar.

Dazu  braucht man dann keinen Arduino. Was du also hast, ist wohl eine 
LED Matrix die nicht für Endverbraucher ist.

von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

MaWin schrieb:
> Kerem B. schrieb:
>> Ist mir schon klar das nichts ohne programmieren geht
>
> Offenbar nicht
>
>> ob es methoden ohne programmieren gibt
>> für den normalen endverbraucher,
>
> LED Matrixanzeigen für den Endverbraucher sind fertig programmiert und
> stellen Laufschriften oder Videobilder dar.
>
> Dazu  braucht man dann keinen Arduino. Was du also hast, ist wohl eine
> LED Matrix die nicht für Endverbraucher ist.

Schön, ich würde dann trotzdem gerne eine einfache lösung wissen womit 
ich mit meiner 32x16 anzeige animationen und pixelgrafik darstellen 
kann.

Auch wenn ich extra hardware dafür brauche.

von Karl H. (kbuchegg)


Lesenswert?

Kerem B. schrieb:

> Schön, ich würde dann trotzdem gerne eine einfache lösung wissen womit
> ich mit meiner 32x16 anzeige animationen und pixelgrafik darstellen
> kann.

Sowas gibts sicherlich auch fix&fertig zu kaufen. Das ist die einfachste 
Lösung, für jemanden der nicht programmieren kann oder will.

Alles andere ist zwar billiger aber auch aufwändiger und vor allen 
Dingen muss man dazu etwas können. Nämlich programmieren. Kann man das 
nicht, und ist man ehrlich zu sich selber und rechnet sich auch noch 
einen minimalen Stundensatz für die Entwicklungszeit ein, dann wird 
allerdings auch diese Lösung wesentlich teuer als jede gekaufte Lösung.

Wer nicht weiss, wie man einen Schraubenzieher richtig rum in die Hand 
nimmt, kann eben sein Auto nicht selbst reparieren. Dazu gibt es 
Mechaniker, die haben das gelernt.

: Bearbeitet durch User
von Jakyll (Gast)


Lesenswert?

http://www.os-videowand.de/
Einfach an den laptop / pc dran und gut ist

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Kerem B. schrieb:
> Kannst du vielleicht mehr ins detail gehen wie genau du nur mit dem
> computer deine 32x16 LED Matrix gesteuert hast?
>
> Und was meinst du mit RealBasic und aufs display beamen?

Ok, die komplette Software kann ich jetzt hier nich reinstellen, das 
können wir evtl. über eine priv. Message besprechen - ist nicht wirklich 
schwierig.
Aber vt. bist du ja am Lerneffekt interessiert ...

Also, ich habe die Adafruit LED RGB Lib benutzt. Die kommt mit einigen 
Beispielen, von denen ich eines dann so modifiziert habe, dass es über 
Serial oder Netzwerk einen Block Bytes empfängt (16 x 32 x 3 = 1536) und 
diese in den Screenbuffer der Software lädt, worauf dessen Inhalt sofort 
dargestellt wird. Der Arduino tut also Nichts weiter, als die LEDs zu 
multiplexen, die Grafik zu puffern und die Schittstelle abzuhören.

Die Inhalte (z.B. Titel und Interpret eines gerade per iTunes bzw. 
VirtualDJ gespielten Liedes) generiere ich auf dem PC/Mac mittels 
einiger Zeilen der Programmiersparache RealBasic (heute Xojo). Das ist 
aber meine persönliche Vorliebe, ginge genau so gut mit Java, Delphi 
oder Visual...Irgendwas.

Mit "beamen" meine ich einfach nur das Übertragen der darzustellenden 
Inhalte. Ich bevorzuge inzwischen Netzwerk/UDP. Das kann der Arduino 
prima und man ist auf dem Computer nicht auf extra Treiber (FTDI oder 
CH341) angewiesen, Netzwerk kann jeder auch so.

von Kerem B. (Firma: PrintFresh) (opti2000)


Lesenswert?

Frank E. schrieb:
> Kerem B. schrieb:
>> Kannst du vielleicht mehr ins detail gehen wie genau du nur mit dem
>> computer deine 32x16 LED Matrix gesteuert hast?
>>
>> Und was meinst du mit RealBasic und aufs display beamen?
>
> Ok, die komplette Software kann ich jetzt hier nich reinstellen, das
> können wir evtl. über eine priv. Message besprechen - ist nicht wirklich
> schwierig.
> Aber vt. bist du ja am Lerneffekt interessiert ...


Ich wäre durchaus interessiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.