Forum: Mikrocontroller und Digitale Elektronik Diodenmatrix


von Martin M. (ats3788)


Angehängte Dateien:

Lesenswert?

Hallo
Ich möchte eine Diodenmatrix ähnlich wie
https://www.mikrocontroller.net/wikifiles/6/62/LED-Matrix-MOSFET.png
mit PICs aufbauen.

Eine einfache Variante hatte ich letzten Dezember gebastelt.

Meine frage. Wie kann ich einen Algorithmus für so etwas entwickeln
um Buchstaben, Zahlen Symbole auszugeben.

Also die Anode wird über einen Pic angesteuert und die Kathode
über einen anderen.

von Falk B. (falk)


Lesenswert?

@ Martin Michael (ats3788)

>Ich möchte eine Diodenmatrix ähnlich wie
>https://www.mikrocontroller.net/wikifiles/6/62/LED...
>mit PICs aufbauen.

Du meist LED und einen PIC. Siehe LED-Matrix.

>Meine frage. Wie kann ich einen Algorithmus für so etwas entwickeln
>um Buchstaben, Zahlen Symbole auszugeben.

Mit einer Programmierpsrache deiner Wahl, wie es schon millionenfach 
praktiziert wurde. Dazu musst du einen Zeichensatz (Font) in dein 
Programm als Datenstruktur (Array) einfügen.

>Also die Anode wird über einen Pic angesteuert und die Kathode
>über einen anderen.

Unsinn, das kann EIN PIC allein und ist deutlich einfacher. Selbst dann 
langweilt er sich noch.

von lrep (Gast)


Lesenswert?

Martin M. schrieb:
> Also die Anode wird über einen Pic angesteuert und die Kathode
> über einen anderen

Dann musst du die beiden Prozessoren vor allem synchronisieren.
Zweckmäßiger Weise verwendet man dann auch nur einen einzigen (Quarz-) 
Oszillator.

von Reinhard #. (gruebler)


Lesenswert?

Martin M. schrieb:
> Also die Anode wird über einen Pic angesteuert und die Kathode
> über einen anderen.

Smart-Matrix. Jeder LED einen PIC.
Der große XMega verwaltet das ganze.

von Joe F. (easylife)


Lesenswert?

Ohne Vorwiderstände und Treiber wird das nix.

von Max H. (hartl192)


Lesenswert?

Martin M. schrieb:
> Meine frage. Wie kann ich einen Algorithmus für so etwas entwickeln
> um Buchstaben, Zahlen Symbole auszugeben.
Ich würde es so lösen, dass ich ein Array aus 8 Mal uint16_t im RAM 
habe, jedes bit im Array steht für eine LED. Die Multiplex Routine gibt 
dann im Hintergrund per Timer Interrupt diese Array mit den LEDs aus. 
Das Array braucht du nur noch mit den Symbolen/Text/Zahlen zu füllen. 
Die Symbole würde ich in einem const Array speichern, auch wider jedes 
bit ein Pixel.

> Also die Anode wird über einen Pic angesteuert und die Kathode
> über einen anderen.
Was versprichst du dir davon? Damit das Multiplexing gut funktioniert 
müsstest du die Beiden irgendwie synchronisieren. Wenn's um die IO-Zahl 
geht, es gibt auch PICs (8-bit) mit 100 Pins.


P.S. Achte auf dem max. Strom der IO- und Versorgungspins.

: Bearbeitet durch User
von Icke ®. (49636b65)


Lesenswert?

Warum tut sich überhaupt noch jemand den Aufwand (und die Nachteile) 
einer Matrix an? Sowohl hard- als auch softwaretechnisch läßt sich das 
mit WS2812 oder mit LED-Treibern auf SPI- oder I2C-Basis wesentlich 
einfacher lösen.

von c-hater (Gast)


Lesenswert?

Icke ®. schrieb:

> Warum tut sich überhaupt noch jemand den Aufwand (und die Nachteile)
> einer Matrix an?

Wegen der Kosten, was denn sonst?

So eine kleine Matrix kann man halt einfach nur mit dem µC alleine 
ansteuern und solange sie nicht zur Beleuchtung, sondern zur 
"Signalisierung" dienen soll, spielen die Nachteile der Matrix auch 
keine nennenswerte Rolle.

> Sowohl hard- als auch softwaretechnisch läßt sich das
> mit WS2812 oder mit LED-Treibern auf SPI- oder I2C-Basis wesentlich
> einfacher lösen.

Was die Hardware betrifft: Weitgehend Unsinn. Was ist einfacher, als das 
LED-Gerümpel einfach mit ein paar Widerständen direkt an die 
Controllerpins zu bammeln? OK, bei WS28xx braucht man auch nicht mehr zu 
tun, aber da ist dann wieder die Kostenfrage. Vor allem, wenn man in 256 
Stufen/Farbe steuerbares RGB eigentlich weder braucht noch will, sondern 
simple AN/AUS-Muster in warmweiss oder grün das Ziel der Wünsche sind. 
Klar, kann man auch mit WS28xx machen, aber zum ca. zehnfachen Preis...

Und was die Software betrifft: Wer nicht in der Lage ist, eine simple 
Multiplexansteuerung für ein paar LEDs auf die Beine zu stellen, der 
kann einfach mal garnix außer C&P. Oder anders ausgedrückt: Das ist 
sowieso ein Vollpfosten. Wenn der seine C&P-"programmierte" WS28xx-lib 
nicht hätte, könnte er mit den Dingern genausoviel anfangen, wie mit 
einer LED-Matrix: nämlich garnix...

von MaWin (Gast)


Lesenswert?

c-hater schrieb:
> Was ist einfacher, als das LED-Gerümpel einfach mit ein paar
> Widerständen direkt an die Controllerpins zu bammeln

Wenn sie nicht leuchten sollen, kann man das tun.
Allerdings blamierst du dich bloss, weil du offensichtlich nicht mal die 
Grundlagen der LED Matrix kennst.
http://www.mikrocontroller.net/articles/LED-Matrix

von c-hater (Gast)


Lesenswert?

MaWin schrieb:

> Wenn sie nicht leuchten sollen, kann man das tun.

???

Könntest du das etwas erschöpfender ausführen? Vor allem in Relation zu 
der Tatsache, daß es auf dieser Erde sicherlich Milliarden von Geräten 
gibt, die auf genau diese Art LED-Matrizen ansteuern? Und das schon seit 
Jahrzehnten...

von MaWin (Gast)


Lesenswert?

c-hater schrieb:
> Könntest du das etwas erschöpfender ausführen?

Troll woanders, deine Ergüsse hier sind nicht zu ertragen.
Beitrag "Binärzähler Cmos 4040 mit Reedkontakt ansteuern"
Würdest du mit minimaler Mühe die verlinkten Grundlagenartikel lesen, 
müsstet du hier micht dumm fragen.

von c-hater (Gast)


Lesenswert?

MaWin schrieb:

> Würdest du mit minimaler Mühe die verlinkten Grundlagenartikel lesen,
> müsstet du hier micht dumm fragen.

Na gut, ich tue einfach mal so, als hätte ich nicht bereits vor 30 
Jahren LED-Matrizen angesteuert und du müßtest mir jetzt beibringen, 
warum das um's Verrecken nicht geht und niemals nicht gehen kann.

Erkläre ganz einfach, als wenn du es einem kleinen Kind erklären 
müßtest, warum deiner Meinung nach nicht funktionieren kann, was 
offensichtlich in Milliarden von Geräten sehr gut funktioniert.

Mehr noch: ich erlaube dir sogar, mich zu "beleidigen", mir jede 
Unfähigkeit nachzusagen. Du mußt nur in ein paar kurzen Stichpunkten 
stichhaltig erklären, warum diese Milliarden von Geräten, die es da 
facto gibt, allesamt eigentlich garnicht funktionieren können.

Nun mach' schon. Du kannst das. Wirklich. Ich glaube an dich. Du bist 
kompetent, allwissend und allmächtig. Du kannst machen, daß dieses ganze 
Zeug einfach nicht mehr geht. Allein durch die MACHT deines 
unerforschlichen Ratschlusses. Du musst ihn nur hier darlegen, damit 
deine Anhänger ein Buch daraus binden können, aus dem sie später ihren 
Kindern vorlesen können, damit auch diese in Ehrfurcht erschauern...

Könnte sogar klappen, heutige Kinder kennen vielleicht garkeine Geräte 
mit LED-Displays mehr aus eigener Anschauung...

von LOL (Gast)


Lesenswert?

LOL ... klasse Antwort.

Ärger Dich nicht über MaWin, er stänkert halt gerne.

von Icke ®. (49636b65)


Lesenswert?

c-hater schrieb:
> Wegen der Kosten, was denn sonst?

Ist aber auch so ziemlich das einzige Argument.

> So eine kleine Matrix kann man halt einfach nur mit dem µC alleine
> ansteuern

Klar, wenn die Anzeige nur in der Dunkelkammer abgelesen werden muß, 
schon. Ansonsten wird ein klein wenig Treiberaufwand nicht zu vermeiden 
sein, auch wenn es nur Transistoren sind.

> Was ist einfacher, als das
> LED-Gerümpel einfach mit ein paar Widerständen direkt an die
> Controllerpins zu bammeln? OK, bei WS28xx braucht man auch nicht mehr zu
> tun, aber da ist dann wieder die Kostenfrage.

Bei der Matrix benötigst du eine ganze Menge Pins, die WS2812 nur einen. 
Der Aufwand beim Layout unterscheidet sich aber sehr deutlich. Das kann 
die vermeintliche Kostenersparnis auch schnell zunichte machen.

> aber zum ca. zehnfachen Preis

Kommt drauf an, wo man einkauft. Einen Meter WS2812 mit 144er Dichte 
gibt es auf Ebay mittlerweile für unter 40€. Beim Ali für reichlich die 
Hälfte. LEDs, Widerstände und Treiber für die Matrix sind auch nicht 
umsonst, außer das liegt ohnehin schon in der Bastelkiste. Faktor 10 
halte ich für übertrieben.

> Wenn der seine C&P-"programmierte" WS28xx-lib
> nicht hätte, könnte er mit den Dingern genausoviel anfangen, wie mit
> einer LED-Matrix: nämlich garnix...

Mag sein. Die Ansteuerroutine für die WS2812 habe ich mir auch bei Tims 
Lightweight Lib abgeguckt. NACHDEM ich eine eigene, aber viel 
umständlichere entwickelt hatte. Tims Lösung ist jedoch so genial, daß 
man da nichts mehr optimieren kann.

von avr (Gast)


Lesenswert?

Icke ®. schrieb:
> Kommt drauf an, wo man einkauft. Einen Meter WS2812 mit 144er Dichte
> gibt es auf Ebay mittlerweile für unter 40€. Beim Ali für reichlich die
> Hälfte. LEDs, Widerstände und Treiber für die Matrix sind auch nicht
> umsonst, außer das liegt ohnehin schon in der Bastelkiste. Faktor 10
> halte ich für übertrieben.

Ich nicht. RGB-Leds gibts für 1,5cent beim Chinesen @500 Stück.
Ansteuerung mit Konstantstromschieberegistern (~20cent/Stück), dadurch 
effizienter und besser dimmbar. Dafür muss man natürlich ein bisschen 
Arbeit in die Software stecken. Aber 12bit sind gut machbar. Wahlweise 
mit phasenverschobenem PWM oder BAM. Beides habe ich schon gemacht. Bis 
auf den reduzierten Hardwareaufwand sehe ich absolut keine Vorteile bei 
ICs wie WS2812. Alleine die 8bit sind für Fading bei geringer Helligkeit 
inakzeptabel.

von Icke ®. (49636b65)


Lesenswert?

avr schrieb:
> Ansteuerung mit Konstantstromschieberegistern (~20cent/Stück), dadurch
> effizienter und besser dimmbar.

Das unterscheidet sich aber erheblich von der o.g. "Ur"-Matrix. 
Außerdem...

Icke ®. schrieb:
> oder mit LED-Treibern auf SPI- oder I2C-Basis wesentlich
> einfacher lösen.

von MaWin (Gast)


Lesenswert?

c-hater schrieb:
> Nun mach' schon. Du kannst das.

Bestimmt, aber nicht für dich. Es wurde bereits beschrieben, in dem 
Artikel, den du zu faul zu Lesen bist.

von Joe F. (easylife)


Lesenswert?


von avr (Gast)


Lesenswert?

Icke ®. schrieb:
> Das unterscheidet sich aber erheblich von der o.g. "Ur"-Matrix.
> Außerdem...
>
> Icke ®. schrieb:
>> oder mit LED-Treibern auf SPI- oder I2C-Basis wesentlich
>> einfacher lösen.

Konstantstromschieberegister schließen eine Matrix nicht aus. Eine 
Matrix macht das ganze deutlich günstiger. mMn genießen Leds mit 
integriertem Treiber ihren Erfolg aufgrund des einfachen Aufbaus. In 
allen anderen Punkten (Preis, Auflösung, Effizienz...) sind sie einfach 
nur unterlegen.

von Nothing Toulouse (Gast)


Lesenswert?

Joe F. schrieb:
> MaWin schrieb:
> c-hater schrieb:
> MaWin schrieb:
> c-hater schrieb:
> MaWin schrieb:
> c-hater schrieb:
> MaWin schrieb:
>
> Bitte haltet mich auf dem Laufenden, wer von euch den Längeren hat.

Haha! :-))

Hochgradig Gestörte unter sich. Einfach ausblenden -> Kein Verlust

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.