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