Sag ich ja schon die ganze Zeit, Vcc -> LED1 -> R1 -> LED2 -> R2 -> Gnd.
Den Knoten zwischen R1 und LED2 kann der Controllerpin beeinflussen (Vcc, Gnd oder tristate setzen).
Bei Vcc ist LED1 kurzgeschlossen und es liegen 3V an LED2 (+Widerstand) die dann leuchten sollte,
bei Gnd ist LED2 kurzgeschlossen und es liegen 3V an LED1, die dann leuchten sollte.
Bei TriState müssten doch beide leuchten, wenn auch nur schwach? Oder man passt es mit der Spannung exakt ab.
Jain...
Die beiden Widerstände müssen ja so gewählt sein (hinreichend klein), daß je die gewünschte maximale Helligkeit erreicht werden kann.
Jeder Widerstand ist also auf 3V dimensioniert, bei tristate hast Du (mit LED1=LED2 und R1=R2) je 1,5V.
Die LEDs werden sehr wahrscheinlich noch nicht leuchten, ABER es könnte bereits ein Strom fließen.
(Eine LED beginnt nicht erst in ihrem Arbeitspunkt zu leiten, sondern schon bei geringeren Spannungen - dann leuchtet sie nur noch nicht).
Wo ist jetzt das Problem, dass wir nicht mit HW-PWM arbeiten?
Mein Vorschlag war, den Controller schlafen zu schicken, während die LEDs konstant (PWM) leuchten, und ihn nur zum wechseln der PWM-Vorgaben zu wecken. Das geht natürlich mit softPWM nicht. Abgesehen davon wirst Du für softPWM 'n höheren Prozessortakt brauchen.
Bei Verwendung eines externen PWM-Treibers bedingt die nötige Kommunikationsgeschwindigkeit die Taktfrequenz des Controllers, bei einem externen Schieberegister muß die jetzt nochmal wesentlich(!!) höher sein.
Wenn Du die LEDs nicht direkt mit dem Controller ansteuern willst, sondern über einen externen Schieberegister- oder LED-Treiber-IC, kannst Du einen wesentlich kleineren Controller wählen - theoretisch reicht der Tiny4/5/9/10, aber der hat kein Eeprom und nur 512Words Flash. Nicht viel für Animationen.
Der Tiny102 hätte zusätzlich einen UART, der als SPI konfiguriert werden kann (was die Kommunikation mit den externen ICs entlastet).
Als SOIC8 kannst Du dann aber auch gleich den Tiny25/45/85 nehmen, mit USI für die externen ICs und Eeprom und FLash für die Animationen. (den
45 gibts auch als TSSOP). Ggf sollte man hier über die V-Variante nachdenken.
Wie gesagt - mein Vorschlag wäre, die LEDs direkt mit'nem 441/841 anzusteuern. Eben auf 6 unterschiedlich dimmende PWMs beschränkt, und die restlichen Beine für langsamer schaltende LEDs (mit fester Helligkeit).
Hmm... zwei Knopfzellen in Reihe würden je mehrere (bis 3?) LEDs in Reihe erlauben - allerdings sind die 6V für den Rechenzwerg sehr(!) grenzwertig - 'ne Diode vor Vcc?