Hallo zusammen.
Vorab: Ich bin absoluter Neuling. Ich habe einen Atmega8 und möchte
damit gerne RGB LEDs beschalten. Angefangen hab ich damit, ein Programm
(Anhang) für einen Regenbogenlauf der LED zu schreiben. Leider habe ich
damit ein kleines Problem. Zum testen habe ich noc heinzelne LEDs
angeschlossen.
Und zwar funktionieren die Stufen 3 und 4 nicht sauber. Die grüne LED
spinnt rum. Um dem Problem auf den Grund zu gehen, habe ich mir den
Ausgang für grün mit nem Oszilloskop angeguckt.
Bei den anderen Stufen sieht es so aus:
______->___...___->
......->...___...->_______
Bei der grünen so:
......->__..___..___->__________
______->____________->__________
Leider werden die Leerzeichen automatisch entfernt. Da wo Punkte sind
ist nichts. Ich hoffe das ist irgendwie verständlich.
Irgendwas stimmt da nicht. Habe schon die LED sowie den Port getauscht.
es liegt am Programm. Findet jemand den Fehler und kann mir helfen?
Danke im voraus.
Gruß Sebastian
@ Sebastian (Gast)
> * Code.txt (1,9 KB, 1 Downloads)
Das nächste mal einfach als .c Datei posten, siehe netiquette.
>Irgendwas stimmt da nicht. Habe schon die LED sowie den Port getauscht.>es liegt am Programm. Findet jemand den Fehler und kann mir helfen?
Das Konzept deiner hangestrickten PWM durchschaue ich auf die Schnelle
nicht. Mein Tipp. Dimme erstmal nur eine Farbe.
MFG
Falk
Man kann PWM höllisch kompliziert machen und dann wegschmeißen, weil es
nicht geht.
Oder man nimmt gleich einen Timerinterrupt für die PWM und läßt das Main
nur die Ablaufsteuerung machen.
Peter
Danke für die schnellen Antworten.
@ Falk: eine Farbe dimmen funktioniert. alle anderen Stufen gehen auch.
rot an, blau fährt hoch. alles kein problem. nur der grüne spinnt beim
hochfahren und bei dauer an. beim rutnerfahren des grünen ist alles ok.
@Peter: Verstehe ich leider nicht. Wie gesagt ich hab da gerade erst mit
angefangen und bin froh dass ich das was ich bisher habe hinbekommen
hab.
Also noch mal zur Erklärung was ich da versucht habe. Ich hab für einen
Regenbogendurchlauf die Schleife mit k benutzt. Dadurch wird wird die
Farbzusammensetzung geändert. Bei Stufe 1 läuft der von 0 bis 255. Dabei
ist rot dauerhaft an und blau wird hochgedimmt. dies übernimmt die
schleife mit i. wenn k klein ist, sprich die gemischte farbe ziemlich
nah bei rot ist, wird blau weniger häufig zugeschaltet als bei k bei
255. Die i Schleife pulst die zu dimmende LED. Dadurch wird die LED hoch
bzw rutner gedimmt.
Gruß Sebastian