Forum: Mikrocontroller und Digitale Elektronik Duo LED die Zehnte


von Klaus (Gast)


Lesenswert?

Hallo,

ich habe hier im Forum x Beiträge zu Duo LEDs gefunden jedoch keinen 
Eindeutigen Hinweis auf eine einfache Lösung für meine Bedürfnisse.

Ich möchte einfach nur 10 Duo LEDs (2 pins) entweder rot, grün oder aus 
schalten. Das bekomme ich für eine einzige LED auch noch hin.

Ist für 10 LEDs die einfachste Lösung ein paar Schieberegiste zu 
benutzen und je LED-pin einen Ausgang zu Verwenden?

wären bei 10 LEDs = 20 Pins. Jede LED verbraucht ca. 20 bis 30mA, sollte 
also an jedem Register (max 70mA) 3 LEDs hängen. Ist nicht schön aber 
einfach oder?

VG
Klaus

von Duo (Gast)


Lesenswert?

Duo LEDs mit zwei Pins sind antiparallel geschaltet. Du musst also für 
einen Farbwechsel die LED umpolen. Da bleibt dir wohl nur jede LED 
einzeln zu behandeln. Da bibt es bestimmt auch einige Kniffe. Die kenne 
ich aber nicht.

Bei Duo LEDs mit drei Pins ist die Beschaltung wesentlich einfacher. Da 
hier eine gemeinsame Anode oder Kathode vorhanden ist.

von Michael (Gast)


Lesenswert?

Klaus schrieb:
> Ist für 10 LEDs die einfachste Lösung ein paar Schieberegiste zu
> benutzen und je LED-pin einen Ausgang zu Verwenden?
Wenn die LEDs nicht sauber aufeinander abgestimmt sind, brauchst du je 
nach Stromrichtung auch noch unterschiedliche Vorwiderstände, es sei 
denn, du steuerst die Helligkeit übers Tastverhältniss. Als vierten 
Zustand hast du neben Rot, Grün und Aus auch noch Gelb (schnelles Hin- 
und Herschalten zwischen Rot und Grün).

von c-hater (Gast)


Lesenswert?

Klaus schrieb:

> ich habe hier im Forum x Beiträge zu Duo LEDs gefunden jedoch keinen
> Eindeutigen Hinweis auf eine einfache Lösung für meine Bedürfnisse.
>
> Ich möchte einfach nur 10 Duo LEDs (2 pins) entweder rot, grün oder aus
> schalten. Das bekomme ich für eine einzige LED auch noch hin.
>
> Ist für 10 LEDs die einfachste Lösung ein paar Schieberegiste zu
> benutzen und je LED-pin einen Ausgang zu Verwenden?

Nein. Die einfachste Lösung ist wie immer Multiplexing. Für deine 10 
LEDs brauchst du genau 7 Pins. Die würden übrigens auch für 12 LEDs noch 
reichen.

Wenn man mal definiert, daß es vier Spalten gibt (Ausgang 0..3) und drei 
Zeilen (Ausgang 4..6) geht das Mux-Schema z.B. so:

while (1)
 Lege Low an A4..6
  for zeile=0 to 2
   Setze A0..3 drei folgendermaßen:
    Low für LED-Farbe 1 oder LED aus
    High für LED-Farbe 2
   sleep(muxtime)
 Lege High an A4..6
  for zeile=0 to 2
   Setze A0..3 drei folgendermaßen:
    Low für LED-Farbe 1
    High für LED-Farbe 2 oder LED aus
   sleep(muxtime)

Aber bitte nicht auf diese Art implementieren! Das ist kein sinnvoller 
Code, sondern nur Pseudocode zur Beschreibung des Mux-Schemas.

von Thomas E. (thomase)


Lesenswert?

c-hater schrieb:
> Nein. Die einfachste Lösung ist wie immer Multiplexing. Für deine 10
> LEDs brauchst du genau 7 Pins. Die würden übrigens auch für 12 LEDs noch
> reichen.
Für 12 normale Leds würde es reichen. Er hat aber 10 Duo-Leds. Also 20 
Leds, die so  geschaltet sein müssen, daß das Leuchten der jeweils einen 
Led das Leuchten der jeweils anderen ausschliesst.
Dafür müssen komplementäre Ausgänge vorhanden sein, die in beiden 
Richtungen die geforderte Last treiben können.

Damit wäre das
> Ist für 10 LEDs die einfachste Lösung ein paar Schieberegiste zu
> benutzen und je LED-pin einen Ausgang zu Verwenden?
wirklch die einfachste Lösung. Und in Anbetracht der Anzahl, der zu 
verwendenden Bauteile auch gar nicht so schlecht. Es gibt auch fertige 
Treiberbausteine für Charlieplexing. Sind glaube ich von Maxim. Mit 
normalem Multiplexing geht es nicht.

> wären bei 10 LEDs = 20 Pins. Jede LED verbraucht ca. 20 bis 30mA, sollte
> also an jedem Register (max 70mA) 3 LEDs hängen. Ist nicht schön aber
> einfach oder?
Wobei 20-30mA für Anzeige-Leds schon sehr hoch sind. Zumeist reichen 
max. 10mA völlig aus, um bei allen Lichtverhältnissen gut abgelesen 
werden zu können und einem nicht die Augen zu verblenden.

mfg.

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.