Forum: Projekte & Code RGB-LED Stripes HSV-Steuerung


von Thomas G. (blasebalg)


Angehängte Dateien:

Lesenswert?

Einigermaßen billige RGB-LED-Kette im Baumarkt gekauft und 
angeschlossen.
Das einzige was mit der Fernbedienung möglich ist sind 16 Grundfarben 
und ein paar Effekte die nicht so prall sind. Also Steuerung selber 
machen, wobei mir eine Fernbedienung unwichtig war und darauf verzichtet 
werden konnte.
Zu erst dachte ich daran die Sache mit Display zu machen und die Werte 
Menugesteuert zu ändern. Macht sich allerdings blöd wenn man sich erst 
durch Menus hangeln muß um die LED Farbe dann so zu haben, wie man sie 
denn will. Folglich ist es dann ein Gerät mit ein paar Drehknöpfen, 
Drehgeber und Taste geworden mit dem man fix die Beleuchtung ändern 
kann.
Verbastelt ist ein ATMega1284P der zwar dafür reichlich 
Überdimensioniert ist aber vier 16Bit Hardware-PWM-Kanläle zur Verfügung 
hat und in mehreren Exemplaren in der Bastelkiste vorrätig war.
Bevor das nun in der Schublade "vergammelt" stelle ich's mal hier zur 
Verfügung... Vielleicht kann wer was damit anfangen.
Schaltung ist ausgelegt für LED-Ketten mit gem. Anode. Neben normalen 
RGB-Ketten kann auch eine RGBW-Kette angeschlossen werden, denn der AVR 
hat schließlich 4 PWM-Kanäle. Ausgelegt sind Schaltung und Software 
dafür, allerdings hab ich selber nur RGB getestet und in Betrieb.


-Funktion-
Encoder H  Einstellen der H-Stufe (0-360 Grad) in 1530 Stufen mit 
Beschleunigung
Poti S    Einstellen der S-Stufe (0-100%) in 255 Stufen
Poti V    Einstellen der V-Stufe (0-100%) in 255 Stufen
Poti Var  Einstellen der Abweichung zur gewählten H-Stufe (+-24, +-48, 
+-72... +-744, Grenzenlos) in 32 Stufen
Poti Speed  Einstellen der Leuchtdauer jeweils einer Farbe (12ms - 1,0 
Sekunden) in 255 Stufen
Mode Taste  Wechselt in den nächsten Betriebsmode

LED 1 - Festfarbmode
Die mit den Potis H, S, V eingestellte Farbe wird angezeigt
Die Potis Var & Speed sind ohne Bedeutung
LED 2 - Linearfarbmode
Die mit den Potis H, S, V eingestellte Farbe wird angezeigt
Es wird eine Lauflichtfunktion erzeugt. Dabei wandert die Farbe in der 
H-Stufe linear nach oben und wieder runter
Steht der Poti Var auf Rechtsanschlag wird die H-Stufe von 0-1529 
gestuft und beginnt dann wieder bei 0
Steht der Poti auf Linksanschlag geht das Lauflicht in der H-Stufe von 
(H-24 Stufen) --- H --- (H+24 Stufen) nach oben und zurück
Mit dem Poti Speed wird die Leuchtdauer pro Stufe festgelegt
LED 3 - Variabelmode
Funktion wie Linearmode, jedoch wird nicht linear nach oben und unten 
die H-Stufe geändert, sondern zufällig hoch/runter/bleibt gleich
LED 4 - Zufallsmode
Funktion wie Variabelmode, jedoch wird die Leuchtzeit von einer 
Zufallskomponente im Verhältnis 50/50 Potistand/Zufall gesteuert...
Bei Poti Speed Linksanschlag: Leuchtdauer 12-24ms, Mittelstellung: 
Leuchtdauer 250-500ms, Rechtsanschlag Leuchtdauer 0,5-1,0s
LED 5 - Chaosmode
Ausgehend von der eingestellten H-Stufe (Encoder) und des Potis Var
wird aus dem Bereich (HStufe - PotiVar) --- (HStufe) --- (HStufe + 
PotiVar)
Eine H-Stufe zufällig gewählt und angezeigt
Die Leuchtdauer ist wie im Mode RND dabei auch wieder von Zufall und der 
Potistellung Speed abhängig
LED alle aus - Sättigungsmode
Ausgehend vom Poti H wird die Farbe von voller Sättigung auf 0 gestuft, 
dann geht's zu der H-Stufe die so weit von H
entfernt ist, wie Poti-Var angibt und die Sättigung wird mit dieser 
H-Stufe wieder raufgesetzt
Dann wieder Rückwärts bis man an der Start-H-Stufe angekommen ist


Das sind die momentan eingebauten Modes, wobei die natürlich individuell 
erweiterbar sind. Allerdings sollte bachtet werden, daß das erst mein 
zweites C-Progrämmchen ist. Also wer anpassen will, bitte nicht 
steinigen. Vorkompilierte HEX ist erstellt mit avr-gcc 4.7.2

von Thomas G. (blasebalg)


Angehängte Dateien:

Lesenswert?

Nach dem praktischen Einsatz ist die Software noch mal etwas angepaßt, 
sodaß ich jetzt mit den Farbverläufen zufrieden bin.
- Festfarbmode, H, S, V manuell einzustellen
- 5 Farbverläufe in H, S & V manuell einzustellen
- 4 Farbverläufe in H & S, V manuell einzustellen

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.