Hallo,
ich versuche verzweifelt, mit einem ATmega16 eine RGB-LED mit 3 PWM
Ausgänge so anzusteuern, dass die LED langsam durch das ganze
Farbspektrum wechselt.
Die PWM funktioniert, aber ich bekomme es einfach nicht hin, die 3
Ausgänge abhängig voneinander so wechseln zu lassen, dass die LED auch
durch's ganze Farbspektrum leuchtet.
Kann mir jm. weiter helfen und mir vielleicht ein Tipp geben, wie die
Werte voneinander abhängen müssen, oder mir vielleicht sogar eine
Funktion zu Verfügung stellen (bevorzugt in C :)).
Wäre super nett, wenn mir jm. helfen würde.
mfg
Andreas
Wenn die 3 PWM's unabhängig voneinander laufen sollte sich das
eigentlich ohne Probleme machen lassen. Du müßtest Dir dann halt in C
eine Routine basteln, bei der Du die 3 PWM-Werte als Parameter
übergibst.
Wenn Du die dann durch 3 Schleifen laufen läßt sollten sich eigentlich
alle Farben darstellen lassen.
0 LED leuchtet nicht
255 LED leuchtet voll
Fang im Zustand an
Rot Gruen Blau
255 0 0
dann dimmst du Gruen dazu: 0 .. 255
neuer Zustand
Rot Gruen Blau
255 255 0 /* ergibt Gelb */
dann dimmst du den Rot-Kanal weg : 255 ... 0
neuer Zustand
Rot Gruen Blau
0 255 0 /* ergibt Gruen */
jetzt kommt Blau dazu: 0 .. 255
neuer Zustand
Rot Gruen Blau
0 255 255 /* Cyan */
dann Gruen weg : 255 .. 0
Rot Gruen Blau
0 0 255 /* Blau */
und Rot wieder dazu: 0 .. 255
Rot Gruen Blau
255 0 255 /* Magenta */
und zu guter letzt: Blau weg: 255 .. 0
Rot Gruen Blau
255 0 0
Jetzt bist Du wieder im Ausgangszustand und kannst
wieder von vorne anfangen:
Gruen dazu
Rot weg
Blau dazu
Gruen weg
Rot dazu
Blau weg
usw.
>damit müsste ja dann eigentlich das ganze Farbspektrum durchlaufen
werden!
Vorsicht, mit obigen Verfahren wird versucht ein lineares durchlaufen
des Frequenzspektrums zu simulieren, dies ist jedoch nicht das
Farbspektrum wie es das menschliche Auge mit seinen 3 (bzw. bei Frauen
4) Farbrezeptoren empfindet. Hierzu müssen alle 3 LEDs gleichzeitig
gemischt werden, nicht nur paarweise 2. Stichwort Farbdreieck.
Man kann sich das Leben einfacher machen in dem mann in den HLS Raum
wechselt (Hue, Luminiscence, Saturation). Dort kann man dann z.B. bei
vorgegeben Luniniszenz und Sättigungswert durch lineares Durchlaufen
des Hue Parameters das Farbspektrum durchlaufen.
google einfach mal nach fertigen Routinen, sie heisen meistens
HLStoRGB, RGBtoHLS ...
z.B: http://support.microsoft.com/kb/q29240/
Hat nichts mit Glauben zu tun.
Fauen haben 2 verschiedene Rot Rezeptoren, deren
Empfindlichkeitsmaximum aber nahe beieinander liegen.
Wurde erst vor ca. 5-10(???) Jahren entdeckt.
Ist dir noch nie aufgefallen wenn man mit Frauen einkaufen geht, sie
bei der Farbe Rot richtig pingelig werden können, wo für unser eins
alles gleich aussieht....
@Kupfer Michi
Gibt es dafür auch einen seriösen Link?
Alle wissenschaftlichen Seiten, die ich kenne, wissen von einem
viertem Rezeptor nichts.
Übrigens: Mit Frauen einkaufen ist eh die Hölle auf Erden.
>Gibt es dafür auch einen seriösen Link?
Auf die schnelle habe ich dazu nichts. Ging damals mehrfach durch die
Wissenschaftspresse, Stichwort Tetrachromatie.
hier z.B. wird kurz darauf angespielt:
http://de.wikipedia.org/wiki/Tetrachromat
aber nur in Zusammenhang mit einem Gendefekt der bei Frauen auftreten
kann. Soweit ich mich jedoch daran erinnnern kann, gingen die Beiträge
damals aber in Richtung generelles Auftreten (aber vielleicht
verwechselt da mein Alzheimer irgend etwas...)
>Alle wissenschaftlichen Seiten, die ich kenne, wissen von einem
viertem Rezeptor nichts.
... die Wissenschaftsgeschichte ist voll von Beispielen in denen
Fehlinformationen munter über Generationen als Lehrdogmen tradiert
werden, ohne dass sich irgend einer die Mühe macht sie zu überprüfen
(ich erinnere nur an die Lachnummer mit dem Eisen im Spinat).
Hier noch ein Link der etwas auf die Farbwahrnehmung eingeht.
Insbesondere das Kapitel über Metamerie in dem es um die Tücken und
Tricks der Farbmischung geht:
http://www.filmscanner.info/Farbwahrnehmung.html
> http://de.wikipedia.org/wiki/Tetrachromat
Da steht aber auch:
> Eine echte Tetrachromatie mit vier "Farb-Kanäle" für das> Gehirn wurde bislang beim Menschen noch nicht gezeigt.
Ich hab nochmal mit den verschiedenen Farbräumen herumgespielt.
Für den Spezialfall L=100% und S=100% (d.h. maximale Helligkeit und
Farbsättigung) ergibt sich beim durchlaufen von H (Farbe) genau durch
K.H. oben beschriebenes einfaches Farbmischrezept. (vorausgesetzt die
LEDs stimmen mit ihrer Wellenlänge und realtiven Helligkeit (anpassen!)
mit dem Auge überein).
Die meisten PC Paint Programme (z.B. Photoshop) haben ein Color Tool
mit Farbkarte und zugehöriger Dekodierung in den RGB und HLS Farbraum.
Damit kann man schnell die Zusammenhänge ausprobieren.
Für den allgemeinen Fall kann man ja dann die HLStoRGB Routine
benutzen, oder falls dies für den µP zu kompliziert ist ein paar
Stützpunkte für den gewünschten Farbverlauf auf dem PC ausrechnen und
diese dann als Stützpunkttabelle im µP hinterlegen.
> Eine echte Tetrachromatie mit vier "Farb-Kanäle" für das> Gehirn wurde bislang beim Menschen noch nicht gezeigt.
Nun, von dem was ich bisher in Erfahrung gebracht habe ist diese
Aussage genaus falsch oder wahr wie die Aussage:
"Der Mensch besitzt noch nicht einmal DREI "Farb-Kanäle" für das
Gehirn"
wie obiger Link:
http://www.filmscanner.info/Farbwahrnehmung.html
schön veranschaulicht wird die Information der verschieden
Farbrezeptoren schon im Auge untereinander verechnet und als
Mischinformation ans Gehirn weitergeleitet.
Man braucht als nicht unbedingt einen weiteren "Farbkanal" um bei
veränderten Farbrezeptoren zu einem anderen Sinneseindruck zu kommen.
Z.B. ein weiterer Rot Rezeptor mit einem etwas verschobenen
Empfindlichkeitsspektrum wird dann sowohl ein unterschiedliches
Helligkeits und Mischsignal liefern und da Farben in der Natur selten
spektral rein sind sondern ein komplexes Gemisch aus unterschiedlichen
Farbpigmenten auch zu einer anderen räumlichen Texturinformation durch
die Verschaltung mit anderen Rezeptoren erzeugen, oder?