Regenbogen LED (RGB) mit tiny11 / tiny12

OP #1898408
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
Angehängte Dateien:
OP #1899862
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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren