servus Leute, 2 Leds sollen einzel gedimmt werden -Stufenlos-, in x= 10min (maxmal Leuchtstärke) dann in 5 min runter auf 0. benutze dafür Amega8 ( PD0 und PD1 als ausgänge ). Atmega8 ist an einen 4 Mhz Oszillator angeschloßen. brauche ich dafür 2 timer ,einer für pwm erzeugung ,2. für dauer der dimmen...???
Wenns nur 2 Leds sind, ist das wahrscheinlich die einfachste Lösung. Ein Timer macht selbstständig die PWM, der 2. verändert in regelmässigen Abständen die Einstellung des ersten. Bei mehr Leds, oder wenn du die PWM Ausgänge des µC nicht mehr frei hast, muss man halt eine software PWM aufsetzen. Dann reicht auch 1 Timer. Der gibt dann einfach nur eine Zeitbasis vor, aus der alles andere abgeleitet wird.
> 2 Leds sollen einzel gedimmt werden -Stufenlos-, Mit digitaler Elektronik wirst du's kaum stufenlos schaffen. > in x= 10min (maxmal Leuchtstärke) dann in 5 min runter auf 0. > benutze dafür Amega8 ( PD0 und PD1 als ausgänge ). Geschickter wäre es, PB1 und PB2 zu verwenden. Dann kannst du die PWM selbst nämlich komplett in Hardware machen. > Atmega8 ist an einen 4 Mhz Oszillator angeschloßen. > > brauche ich dafür 2 timer ,einer für pwm erzeugung ,2. für dauer der > dimmen...??? Nein, nicht unbedingt. Du musst den Timer sowieso per Software erweitern, um so lange Zeiten messen zu können. Da kannst du auch gleich denselben Timer wie für die PWM nehmen. Einfach im Overflow-Interrupt eine Zählvariable hochzählen und mit dem passenden Wert für 10 bzw. 5 Minuten vergleichen.
Karl Heinz hat eigentlich schon die wichtigsten Sachen erwaehnt. Hier nochmal ein schoenes Programm (C-Code) für eine Dimmung und additive Farbmischung Beitrag "HSV RGB Led Dimmer, C Code & Video & Doku" Gruß, Dirk
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.