Hallo!
Ich steuere per Funk eine RGB-Led an.
Diese soll:
Bei Tastendruck 1 --> Farbwechsel mit R und B
Bei Tastendruck 2 --> Farbwechsel mit R und G
Bei Tastendruck 3 --> Farbwechsel mit G und B
Bei Tastendruck 4 --> Farbwechsel mit R, G und B (Hier sollen so
ziemlich "alle" Farben von Rot bis Weiß durchlaufen werden.
Punkt 1 bis 3 habe ich hin bekommen. Bei Punkt 4 habe ich aber Probleme.
Kann mir hier jemand weiter helfen oder hat vielleicht jemand ein
fertiges Codebeispiel in C?
Danke für Eure Hilfe!
Naja Du hast halt 7 verschiedene Zustände (8, wenn man dunkel mitzählt,
aber dieser soll hier vielleicht nicht mit durchlaufen werden) und
zeigst die der Reihe nach an? Ist im Endeffekt auch nix anderes als eine
Binärzahl mit 3 Bits:
B G R
0 0 0 : dunkel
0 0 1 : R
0 1 0 : G
0 1 1 : RG
1 0 0 : B
1 0 1 : RB
1 1 0 : GB
1 1 1 : RGB
Natürlich kann die Reihenfolge beliebig sein und muss nicht den
aufsteigenden Dezimalzahlen von 0 bis 7 (bzw. von 1 bis 7) entsprechen.
Heimo, such dir mal ein Bild eines Farbdreiecks.
http://www.fotoseminare.org/fotoschule/jpg/CIE-farbraum-g.jpg
Bei den Aktionen 1-3 bist du immer auf den Kanten des RGB-Farbraums
gelaufen. Du hast jeweils zwei Werte verändert z.B. R und G.
Bei der Aktion 4 musst du ungefähr durch die Mitte des RGB-Farbraums
rennen, wenn du Weiss dabei haben willst. D.h. du veränderst
gleichzeitig drei Werte (RGB)
Nun ja, die Sache ist schon etwas komplexer.
(Die Farbwerte welche ich über die PWM-Kanäle des AT90PWM316 ausgebe,
werden durch eine lineare Dimmung mittels 256-Werte der valuetable
realisiert)