Hallo Leuts, nach einer harten Zeit im Weinmachergeschäft habe ich mal wieder ne Frage. Ich möchte 1 Stck. RGB led als ungefähre Spannungsanzeige verwenden. (Es geht also nur um den beiläufigen optischen Eindruck). Ich dachte daher an einen Lichteffekt wie man ihn vom Prisma her kennt. Nach der ROGBIV Regel spaltet ein Prisma ja in Rot, Orange , etc. Ich benutze eine 3 kanal Timergesteuerte Soft-PWM mit jeweils 255 möglichen Werten. Die Messung der Messpannung erfolgt über Atmega ADC mit max = 1023. Da ich denke das ein 8 Bit ADC Signal mit max = 255 für den Effekt schon ausreichen wird werde ich also nur ein Byte als Eingangswert verwenden. Die Fakten also: Eingang = 0 bis 255 Ausgang rot = 0 bis 255 Ausgang grün = 0 bis 255 Ausgang blau = 0 bis 255 Gewünscht = ein Lichteffekt der die höhe des Eingangspegels suggeriert. Gesucht: .. naja , so eine Art Lookuptable der die entsprechenden Levels in etwa representiert. Das hat doch bestimmt schonmal jemand durchgekaspert .. oder ? Gruss Klaus
Klaus De lisson schrieb: > Das hat doch bestimmt schonmal jemand durchgekaspert .. oder ? Deine RGB Werte müssen diese Kurven durchlaufen (Bild), dann kriegst du einen relativ einfachen Farbverlauf durch alle Farben. Lässt sich auch relativ einfach programmieren: 6 Phasen, wobei in jeder Phase eine andere Primärfarbe auf oder abdimmt. (Wenn die Höhe eines Wertes durch eine Farbe dargestellt werden soll, würde ich die letzte Phase weglassen (Magenta->Rot). Sonst kann man Maximum nicht vom Minimum unterscheiden. Also: 5 Phasen a' 51 Werte. 2 der Primärfarben sind in jeder Phase jeweils konstant, die 3. wird entsprechend der Graphik gedimmt. zb
1 | // Wert: 0 .. 254
|
2 | // Maximum 255 könnte man zu einem Ausnahmefall machen: weiß
|
3 | //
|
4 | Phase = Wert / 51; |
5 | Level = Wert % 51; |
6 | |
7 | switch( Phase ) |
8 | case 0: |
9 | Red = 255; |
10 | Green = Level * 5; |
11 | Blue = 0; |
12 | break; |
13 | |
14 | case 1: |
15 | Red = 255 - Level * 5; |
16 | Green = 255; |
17 | Blue = 0; |
18 | break; |
19 | |
20 | case 2: |
21 | Red = 0; |
22 | Green = 255; |
23 | Blue = Level * 5; |
24 | break; |
25 | |
26 | case 3: |
27 | Red = 0; |
28 | Green = 255 - Level * 5; |
29 | Blue = 255; |
30 | break; |
31 | |
32 | case 4: |
33 | Red = Level * 5; |
34 | Green = 0; |
35 | Blue = 255; |
36 | break; |
37 | |
38 | default: |
39 | Red = Green = Blue = 255; |
40 | }
|
Danke Karl Heinz Buchegger, ich glaube das war schon die Antwort... .. Andererseits ergibt sich diese in groben Schritten ja auch aus dem Wikipediaartikel http://de.wikipedia.org/wiki/HSV-Farbraum Unterpunkt "Transformation von RGB und HSV" ... alerdings ging meine Frage ja auch dahin, ob schon jemand mal so eine Wertetabelle gemacht hat, die ich einfach mal einbinden könnte. Vielleicht findet sich ja noch einer, der so eine Tabelle gemacht hat und diese teilen kann Gruss klaus
Klaus De lisson schrieb: > Vielleicht findet sich ja noch einer, der so eine Tabelle gemacht hat > und diese teilen kann Nimm den Code, schreib dir eine main drumherum, schreib die Werte in ein File und du hast deine Werte in Tabellenform (alles auf dem PC) Allerdings frag mich mich: wozu, da die Umformung ja relativ einfach als Code formuliert werden kann.
Hallo Karl Heinz, Du hast recht, die Werte tabelle für eine quasi Dreieckfunktion kann ich auf nem Papierstück machen. Das werde ich jetzt auch tun . Meine Frage war wohl schwammig gestellt, da ich neulich mal etwas gelesen hatte wo die Anstiege eben nicht dreieckick waren . Diesen Artikel hatte ich gread nicht gefunden und dachte, da es ja soviele LED Cubes gibt, dass auch jemand eine Tabelle Parat hat. Ich mach es halt mal so mit den Dreiecken und werde es dann nach Gefühl korrigieren. Vielen Dank soweit Klaus
Klaus De lisson schrieb: > Das werde ich jetzt auch tun . Meine Frage war wohl schwammig gestellt, > da ich neulich mal etwas gelesen hatte wo die Anstiege eben nicht > dreieckick waren . Diesen Artikel hatte ich gread nicht gefunden und > dachte, Könnte HLS gewesen sein. Ist bei dir aber relativ egal, weil deine RGB-LED ja kein kalibriertes Ausgabegerät darstellen. D.h. die Zahlenwerte haben keinen exakten Zusammenhang mit den Primärfarben, die die LED erzeugt. Da kommt sowieso bei jeder RGB-Led ein leicht unterschiedliches Ergebnis raus. > Ich mach es halt mal so mit den Dreiecken und werde es dann nach Gefühl > korrigieren. :-) von den "Dreiecken" wirst du nicht viel sehen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.