mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Algorithmus zum Farbwechsel bei RGB Led


Autor: Dan M. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen.
Ich habe auch mal die Beliebte Idee "Moodlight" aufgegriffen, allerding 
selbstgemacht und nicht nachgebaut. Funktioniert alles soweit sogut, 
auch mit ein paar Extras (z.B. Steuerung der Farbe per TV-FB und Display 
zum Anzeigen der Farbwerte (kommt dann später weg ;))).

Was jetzt noch Fehlt ist, dass bei einem Knopfdruck auf der 
Fernbedienung, die Farben automatisch wechseln. Das ist ja eigentlich 
die Grundfunktion.

Hier ist mein Problem. Ich weiss nicht wie ich einen schönen, 
harmonischen Farbwechsel machen soll. Zwei Farben gleichzeitg dimmen 
kann man ja leider nicht. Ich möchte hier auch nicht den Code hören, 
sondern eher was in der Art: Erst alle Farben auf Maximum, dann R 
runter......

Code hab ich mal angehänt, auch wenn er zu meiner Frage nix bringt.

Viele Dank für die Antworten ;)

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Musst nur mal in Microsoft Paint unter "Palette bearbeiten" in diesem 
Farbwähler dir das ganze anschauen.

Ich nehme an du willst so einen Übergang wie er in der obersten Zeile 
diese Farbwählquadrats zu sehen ist.

Du fängst also mit Rot voll aufgedreht an, Grün und Blau auf 0.
Dann fadest du zu Grün rüber und von da zu blau.
Also:
[R,G,B]
[255,000,000]
[254,001,000]
[253,002,000]
...
[002,253,000]
[001,254,000]
[000,255,000]
...
[000,127,127]
...
[002,000,255]
...
[127,000,127]
...
[255,000,000]

Und so immer im Kreis...

Wieso solltest du nicht zwei Farben gleichzeitig dimmen koennen?

Autor: Thomas B. (detritus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wieso solltest du nicht zwei Farben gleichzeitig dimmen koennen?

Das ergibt während dem Faden Weiss in unterschiedlicher Schattierung. 
Sieht langweilig aus.

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sagte zwei Farben nicht drei ;)  Und ich meinte auch in 
gegensetzlicher Richtung faden. Also Rot runter und gleichzeitig Gruen 
rauf.
Genau das braucht er naemlich.

Autor: Thomas B. (detritus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hast du in der Mitte des Fadingvorganges 100%Blau, 50%Grün und 50% 
Rot -->bläuliches Weiss, mehr oder weniger.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dann hast du in der Mitte des Fadingvorganges 100%Blau, 50%Grün und 50%Rot

Wie fadest du denn? Alle Farben an und dann nacheinander runterdimmen?!

Du hast allerhöchstens mal 0%Blau, 50%Grün und 50%Rot. Dann isses doch 
in Ordnung.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Fehler besteht darin, zu glauben, dass eine
Farbe nur dadurch dunkler gemacht werden kann, indem
man einfach die RGB Werte linear skaliert.

Dem ist nicht so. Unter anderem aus diesem Grund gibt die
Farbräume HLS bzw. HSV. Solche Fading Operationen führt
man sinnvollerweise im HLS oder HSV Farbraum aus und wandelt
dann das Ergebnis nach RGB.

Autor: Thomas B. (detritus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven Pauli wrote:
>> Dann hast du in der Mitte des Fadingvorganges 100%Blau, 50%Grün und 50%Rot
>
> Wie fadest du denn? Alle Farben an und dann nacheinander runterdimmen?!
>
> Du hast allerhöchstens mal 0%Blau, 50%Grün und 50%Rot. Dann isses doch
> in Ordnung.

Verstanden habe ich obiges Beispiel so, dass direkt von Lila auf Türkis 
gefadet werden soll. D.h. [RGB] 100, 0, 100 --> 100, 100, 0

Hatte meine Lösung im Kopf, in der ich 6 "Endstellungen" hatte (RGB und 
Lila, Türkis und Gelb). Bei Philipp hats aber nur RGB, dann habt ihr 
recht. Sorry.

Autor: Dan M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also langsam ;)

Ich habe 3 PWM werte von 0 bis 255 bzw. von 255 bis 0.

Natürlich ist mir klar dass dies nicht die RGB Farbwerte sind.
Aber ich denke es steht dem nichts im Wege, sich an ihnen zu 
Orientieren.
Wenn ich Rot hochdimme, dann habe ich Rot. RGB:255/0/0
Dann dimme ich Grün hoch, und gelange bei Gelb an RGB: 255/255/0
Jeztt kann ich Rot wieder runterdimme und komme Bei grün an RGB:0/255/0
usw.
Oder?

Auch wenn die Helligkeit logarithmisch ansteigt, am Ende sollte ich doch 
trotzdem mehr oder weniger saubere Farben haben oder?

Autor: Dan M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie ich gerade sehe ist das Quatsch.
Rot und Grün geben bei meiner RGB Led Grün weil Grün um ein vielfaches 
stärker ist als Rot.

Ich denke ich muss die schönen Farben optisch rausfinden und dann 
zwischen diesen Werten herumdimmen.

Autor: Dan M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich spamme hier jetzt zwar, aber das war ein voreiliger Post.
Es war der Programmierstecker drann, der sich den MOSI Pin mit der LED 
teilt.

Wenn man Rot und Grün voll aufdreht gibt es mehr oder weniger Gelb.

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Auf folgender Adresse findest du einen Algorithmus zur Berechnung eines 
RGB-Wertes aus der Wellenlänge. Ist wahrscheinlich nicht genau das was 
du suchst, aber vielleicht hilft es trotzdem.

>http://www.koders.com/java/fid9DD1F1155855D7CE3F48...

MfG Spess

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.