Forum: Mikrocontroller und Digitale Elektronik C code


von khan (Gast)


Lesenswert?

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...???

von Karl heinz B. (kbucheg)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

> 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.

von Dirk (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.