Anzahl benötigter Ausgänge für Ansteuern von LEDs

Gast #4985703
Lesenswert?

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!
Gast #4985719
Lesenswert?

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".
Gast #4985725
Lesenswert?

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.
Gast #4985781
Lesenswert?

Angehängte Dateien:
Gast #4985860
Lesenswert?

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.
#4985904
Lesenswert?

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
#4986108
Lesenswert?

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.
#4986158
Lesenswert?

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.
Moderator #4986173
Lesenswert?

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.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren