Forum: Projekte & Code Regenbogen LED (RGB) mit tiny11 / tiny12


von Lothar M. (lme)


Angehängte Dateien:

Lesenswert?

Hallo zusammen!

Dies ist mein erster Versuch in AVR Assembler.
Normalerweise bin ich in C unterwegs, bekam aber zufällig einige Tiny12
in die Hände und wollte was mehr oder weniger sinnvolles damit machen.
Ich bitte also um Nachsicht - oder vielmehr um konstruktive Kritik und 
Verbesserungen.

Die Schaltung besteht aus einem Tiny12 (Tiny11 sollte auch möglich 
sein),
3 LEDs in den Farben Rot, Grün und Blau und 3 Vorwiderständen für die
LEDs. Die Software erzeugt einen variierenden Mischfarbenverlauf durch
unterschiedlich schnelles Auf- und Abdimmen der einzelnen Farben.
Der Trick dabei ist, für die Dimmgeschwindigkeiten Primzahlen zu wählen.
Dadurch wird die Dauer bis zur Wiederholung derselben Mischfarbe 
maximiert.

Viele Parameter sind im Source als symbolische Werte definiert und 
können
nach Belieben angepasst werden. So z.B. die oben genannten einzelnen
Dimmgeschwindigkeiten, die Gesamtgeschwindigkeit, maximale und minimale
Helligkeiten, Startwerte etc.

Enjoy!

 Lothar

von Lothar M. (lme)


Angehängte Dateien:

Lesenswert?

Habe jetzt festgestellt, daß insbesondere bei hellen LEDs ein deutliches
Flimmern zu sehen ist.
Deshalb wurde der PWM Zyklus von 256 auf 128 Stufen reduziert, was eine
etwa doppelt so schnelle PWM ergibt.
Leider reduziert sich damit aber auch die Anzahl der darstellbaren 
Mischfarben von ca. 16 Millionen auf 'nur' ca. 2 Millionen.
Macht aber nix: Das Auge kann ohnehin nur ein paar tausend Farbtöne 
unterscheiden.

Angehägt die neue Version 1.1 mit der schnelleren PWM.

  Lothar

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.