Hallo zusammen, ich möchte für eine Anzeige 10 LEDs unabhängig voneinander ansteuern, habe aber nur 8 digitale Ausgänge an meinem Microcontroller. Gibt es nicht irgendwie eine inteligente Verschaltungsmöglichkeit, sodass ich mit den 8 digitalen Ausgängen auskomme? Vielen Dank!
Wenn du sie wirklich unabhängig voneinander ansteuern willst, brauchts du 10 Leitungen. Alles Andere läuft auf irgend eine Art von Multiplexing hinaus. Zum Beispiel 7 Leitungen für 3x4=12 LED's. Googel nach "LED Multiplexing".
Die clevere Schaltung ist für 1 aus 8 geeignet, aber nicht für:
>für eine Anzeige 10 LEDs unabhängig voneinander ansteuern
Da helfen wohl nur ein externes Schieberegister, irgendwas mit I²C, oder
wie auch immer all die Möglichkeiten heißen mögen.
Daniel Schmidt schrieb: > Gibt es nicht irgendwie eine inteligente Verschaltungsmöglichkeit, > sodass ich mit den 8 digitalen Ausgängen auskomme? Hänge zwei LEDs an einen Pin (LED1 an VCC, LED2 an Gnd) Dann gibt es folgende Möglichkeiten (1) Pin Output Low - nur LED 1 leuchtet (2) Pin Output High - nur LED 2 leuchtet (3) Pin Input - LEDs aus Damit die Helligkeit der leuchtenden LED unabhängig vom Zustand der anderen ist, schaltest du schaltest du immer zwischen zwei Zuständen hin- und her. Jeder LED gehört damit ein Zeitfenster. Nur LED 1: Umschaltung (1)-(3) Nur LED 2: Umschaltung (2)-(3) LED1 + LED2: Umschaltung (1)-(2) Beide aus: (3) Das ist von der Pin-Nutzung nicht so effektiv wie Charlieplexing, reicht in deinem Fall aber wahrscheinlich, wenn du die Pins sonst nicht brauchst.
Ralf L. schrieb: > Wenn Du 10 LEDs hast, brauchst Du 4 Leitungen. Du musst dann leider > multiplexen. Die dazugehörige Schaltung würde ich gerne mal sehen, da ich die Realisierbarkeit mit 4 Leitungen bezweifele. Ja, ich kann mit Google umgehen. Nein, ich werde nicht suchen!
Daniel Schmidt schrieb: > ich möchte für eine Anzeige 10 LEDs unabhängig voneinander ansteuern Moegliche Loesungen: https://www.google.ie/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0ahUKEwj288bg57jTAhXlBcAKHaW3AEEQFggxMAE&url=http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2Fappnotes%2F00234a.pdf&usg=AFQjCNFh8O882dv2vbYSNtSjlq9cX1G23Q&cad=rja http://ww1.microchip.com/downloads/en/DeviceDoc/01146B.pdf
Daniel Schmidt schrieb: > ich möchte für eine Anzeige 10 LEDs unabhängig voneinander ansteuern, > habe aber nur 8 digitale Ausgänge an meinem Microcontroller. > Gibt es nicht irgendwie eine inteligente Verschaltungsmöglichkeit, > sodass ich mit den 8 digitalen Ausgängen auskomme? sogar mit einem, WS2812B
Manfred schrieb: > Die dazugehörige Schaltung würde ich gerne mal sehen, da ich die > Realisierbarkeit mit 4 Leitungen bezweifele. Mit vier Leitungen kann ich sogar 16 LEDs beliebig steuern! :P 2 hoch 4 = 16
Ralf schrieb: > Mit vier Leitungen kann ich sogar 16 LEDs beliebig steuern! :P > 2 hoch 4 = 16 stimmt, fast sagen wir 15 LEDs denn AUS muss es auch geben! http://assets.nexperia.com/documents/data-sheet/74HC_HCT154.pdf da könnte man sogar dimmen per PWM, muss nur schnell genug durchlaufen
Ralf schrieb: >> Die dazugehörige Schaltung würde ich gerne mal sehen, da ich die >> Realisierbarkeit mit 4 Leitungen bezweifele. > Mit vier Leitungen kann ich sogar 16 LEDs beliebig steuern! Hilft wenig und steht noch immer in Zweifel. Aber danke an Toxic, der die Schaltung hier reingestellt hat! Da sind es aber nur 12 LEDs.
Manfred schrieb: > Da sind es > aber nur 12 LEDs. Es werden sowieso nur 10 LEDs verwendet, Du Genauigkeitsfanatiker. Ralf schrieb: > Mit vier Leitungen kann ich sogar 16 LEDs beliebig steuern! o.k. Du hast Recht, dann sind es eben nur max. 15 LEDs. Das sind immerhin noch mehr als benötigt werden.
> Mit vier Leitungen kann ich sogar 16 LEDs beliebig steuern! ???? 16 LEDs können 2^16 Kombinationen von an/aus anzeigen. Da will ich aber sehen, wie du das mit 4 Leitungen machst.
Noch einer schrieb: > 16 LEDs können 2^16 Kombinationen von an/aus anzeigen. Da will ich aber > sehen, wie du das mit 4 Leitungen machst. schrieb ich doch Beitrag "Re: Anzahl benötigter Ausgänge für Ansteuern von LEDs" man muss nur schnell genug die Bitkombinationen durchtoggeln, je öfter Bit 1 gesendet wird umso heller wird LED1 dito LED2 man kann auch mal ein paar mal Bit 0 durchtoggeln, je öfter desto AUS für alle oder dunkler
Ihr habt recht. Mit 4 Leitungen kann ich nur 15 LEDs nacheinander ansteuern, einschließlich alle aus. Der TO möchte aber alle LEDs unabhängig voneinander einschalten können und das habe ich überlesen. Sorry.
Hallo, was ich noch nicht gelesen habe ist: weitere externe Einheiten, die man z.B. über I2C, SPI, seriell oder über Portexpander CLK, DI und Reset ansteuern kann.
Karl M. schrieb: > Hallo, > > was ich noch nicht gelesen habe ist: > > weitere externe Einheiten, die man z.B. über I2C, SPI, seriell oder über > Portexpander CLK, DI und Reset ansteuern kann. Doch steht weiter oben, aber das war ja auch nicht die Frage.
Ich weiß ja nicht, auf welchem Trip ihr gerade seid. Aber mit ganz normalem 4x4 Multiplexing steuere ich 16 LED's an. Und zwar so: http://dokuwiki.ehajo.de/artikel:led-multiplex Für 10 LED's genügt die 3x4 Variante, also 7 Leitungen.
Ralf schrieb: > Ihr habt recht. Mit 4 Leitungen kann ich nur 15 LEDs nacheinander > ansteuern, einschließlich alle aus. Der TO möchte aber alle LEDs > unabhängig voneinander einschalten können und das habe ich überlesen. > Sorry. geht doch auch, einfach schnell genug die passenden Bits auf die 4 Eingänge durchsenden also ein Zähler 1 bis 10 in einer Schleife stets wiederholend, dann ist jede LED kurz an und optisch siehts dann so aus als wenn alle leuchten.
:
Bearbeitet durch User
Stefan U. schrieb: > Ich weiß ja nicht, auf welchem Trip ihr gerade seid. > Aber mit ganz normalem 4x4 Multiplexing steuere ich 16 LED's an. > > Und zwar so: http://dokuwiki.ehajo.de/artikel:led-multiplex > > Für 10 LED's genügt die 3x4 Variante, also 7 Leitungen. Jep. Bei Verwendung einer regulären Matrix kann man mit 7 Pins bis zu 12 LEDs steuern: N+M Pins für N*M LEDs. Und wenn man Charlieplexing verwendet (weiter oben verlinkt) dann reichen sogar nur 4 Pins für 12 LEDs: N Pins für N*(N-1) LEDs.
Axel S. schrieb: > Und wenn man Charlieplexing verwendet (weiter oben verlinkt) dann > reichen sogar nur 4 Pins für 12 LEDs Beim Charlieplexing für 10 LEDs leuchten die jeweils aktiven LEDs nur für 1/10 der Zeit und damit nur relativ schwach. Stefan U. schrieb: > Ich weiß ja nicht, auf welchem Trip ihr gerade seid. > Aber mit ganz normalem 4x4 Multiplexing steuere ich 16 LED's an. > > Und zwar so: http://dokuwiki.ehajo.de/artikel:led-multiplex > > Für 10 LED's genügt die 3x4 Variante, also 7 Leitungen. Wieso nicht 2×5? Das genügt ebenso für 10 LEDs, aber es wird nur 2-fach gemultiplext, wodurch die LEDs heller leuchten und die Multiplexperiode verkürzt wird, was das Flimmern reduziert. Das 2×5-Multiplexverfahren lässt sich aber auch mit nur 5 I/O-Pins realisieren, wie Wolfgang gezeigt hat: Wolfgang schrieb: > Hänge zwei LEDs an einen Pin (LED1 an VCC, LED2 an Gnd) Leider funktioniert das nur, wenn die Flussspannung der LEDs deutlich größer als die halbe Versorgungsspannung ist. Sonst leuchten im hochohmigen Zustand des I/O-Pins beide angeschlossenen LEDs, wenn auch schwächer als normal. Aber vielleicht ist diese Bedingung beim TE ja erfüllt. Dann ist das IMHO die optimale Lösung. Eine andere Variante (s. Anhang) des 2×5-Multiplex nutzt ähnlich wie beim Charlieplexing die Möglichkeit, die I/O-Pins alternierend sowohl als Quelle als auch als Senke zu nutzen. Die Anzahl der benötigten I/O-Pins liegt mit 6 zwischen dem klassischen Multiplex und Wolfgangs Verfahren. I/O-Pin P0 muss 5 LEDs gleichzeitig treiben können, was bei Low-Current-LEDs möglich sein sollte. Sonst muss der als "optional" gekennzeichnete Treiber aus zwei Transistoren zugeschaltet werden, was die Schaltung leider wieder etwas aufwendiger macht.
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.