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.
@ 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.
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.
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.
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
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.
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...
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
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...
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.
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...
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.
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.
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.
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.
c-hater 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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.