re 
also ich hab mir mal folgendes überlegt in einer stillen Minute, zusammen mit dem Geschriebenen hier. Hab mir sowas Änliches auf ein Blatt gezeichnet:
Code:
LEDs ^
|
n |
... |
05 (20%) | OOoooooooo OOoooooooo OOooooo...
04 (90%) | OOOOOOOOOo OOOOOOOOOo OOOOOOO...
03 (50%) | OOOOOooooo OOOOOooooo OOOOOoo...
02 ( 0%) | oooooooooo oooooooooo ooooooo...
01 (10%) | Oooooooooo Oooooooooo Ooooooo...
|____________________________________________>
0123456789 0123456789 0123456.... Timer
Der Timer läuft von 0 bis 9 und wird dann wieder auf 0 gesetzt.
Jeder LED wird ein Wert zugewiesen. Das kann, wie in diesem Fall, dauerhaft sein, oder bei jedem Timerdurchlauf geändert werden.
Am Anfang wird jeder Ausgang auf High gesetzt. Nach jeder Timeränderung wird überprüft, ob der Timerwert den Prozentwert für die Helligkeit übersteigt. Soll eine LED also z.B. nur 30% der vollen Helligkeit haben, wird sie beim 4. Durchlauf auf Low gesetzt und beim nächsten Durchlaufbeginn wieder auf High etc etc...
In einer Schleife könnte man nun eine gewisse Anzahl n von LEDs checken lassen, wann sie ausgeschaltet werden müssen, wenn ... ja, wenn das so klappen könnte 
Möchte diese Idee nicht weiter verfeinern, um mehr Performance rauszukitzeln ... es geht einfach um die reine Funktion, das Programm soll in ausreichender Geschwindigkeit (flackerfrei) funktionieren und gut is. Tut es das z.B. auf einem ATmega8 @ 16MHz mit Busabfrage zwischen den Timerresets, um neue Werte zu erhalten.
[UPDATE]
Grad vor einer Stunde ist die Idee Wirklichkeit geworden ... mittels eines Atmega8 und 3 ULN2803 Treiberstufen und einem Software-Timer ( o_O ... naja, es läuft halt besser als mit Timer0 oder Timer1
) ist es mir gelungen, eine Steuerung zu realisieren, mit der man die benötigten 18 LEDs pro Platine in 100 Stufen dimmen kann, und das sogar "flimmerfrei", solange man die Platine nicht schnell hin- und herbewegt
Aber das Problem sollte sich mit passenden Kondensatoren auch bald erledigt haben!
Demnächst mache ich von der Sache Fotos und ein Video, ich meld mich dann wieder.
Lesezeichen