Guten Tag, ich möchte mit einem ATMEGA8 ein 1.5m LED RGB Strip ansteuern. Wie ich gelesen habe, wird dies mit einer PWM geregelt, den 12V anschluss habe ich mit der Versorgungsspannung von 12V angeschlossen, und die 3 Pins (R, G, B) kann ich mit einem FET auf GND schalten. Doch wie genau muss ich jetzt die PWM machen, damit ich die Farben ändern kann? Rot ist auf dem Pin PD5, Grün auf PD4 und Blau auf PD3 und den ATMEGA8 betreibe ich ohne externen Quarz. Schöne Grüße
Bei deiner Verdrahtung fällt die Nutzung der Hardware-PWM schonmal flach. Aber damit du mal ein Gefühl für die PWM-Steuerung bekommst, kannst du mal mit einer endless-loop Anfangen verschiedene Tastverhältnisse an den Ausgängen zu erzeugen. Wenn das soweit klappt, musst du leider die Timer-Interrupts anfassen und dir die PWM ein Stück weit in Software gießen. Also einen Interrupt auf z.B. 20000kHz konfigurieren, dann kannst du 200Hz in 100 Schritte auflösen. Also eine 200Hz-PWM mit 100er Auflösung. Alle 50µS wird dann dein Programmcode zur PWM-Erzeugung aufgerufen. Dort zählst von 0 bis 100 und vergleichst mit dem PWM-Sollwert. Abhängig davon schaltest du dann auf allen drei Ausgängen die Transistoren durch oder eben nicht.
Wie schon gesagt - falsche Pins aber egal für das Verständnis. Wenn du weisst was eine PWM ist (wenn du es wirklich verstehst), ist es nicht schwierig. Du kannst mit einer einfachen Schleife anfangen: Eine Variable wird um eins erhöht, danach gibt es einen kleinen von dir eingebauten Delay (Verzögerunsschleife). Du Zählst damit auf 1000 (z.B.). Du kannst nun den Ausgang z.B. von 0-100 auf high lassen, danach low bis der Zähler wieder zurückgesetzt wird. Du hättest damit ein Ein/Aus Verhätltnis (und ungefähr die Helligkeit) von 10%.
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.