RGB LED

Janiiix3

Aktives Mitglied
28. Sep. 2013
1.333
10
38
Hannover
Sprachen
  1. ANSI C
  2. C#
Halli Hallo,

Habe da mal eine Frage,

Habe mir mal ein paar Stk. RGB LED´s aus China bestellt (5mm Draht)....
Nun habe ich versucht (nach einem Hinweis von @TommyB) das man dafür später mal den HEX Farbcode der Tabelle nehmen kann

Link -->
http://www.farb-tabelle.de/de/farbtabelle.htm

Nun habe ich für die jeweiligen Farben, die Widerstände ausgerechnet...
PWM funktioniert (Zeiten sollten wohl keine große Rolle spielen, was die Farbe angeht?)...
Leider komme ich mit der Tabelle, den errechneten Werten für die Widerstände nicht auf die gewünschte Farbe laut Tabelle... Habe ich die Widerstände falsch kalkuliert?

z.B rot



CodeBox C
VCC = 5V
ULed = 2,2V
ILed = 0,02A

R = U/I
5V-2,2V
2,8V

R = 2,8 / 0,02
R = 140 Ohm


Sind evtl. die LED´s aus China sch**** ?
 
2pin LEDs? oder 4 / 6?
Ohne zu wissen um welchen Typ es geht gehts schlecht…
 
4 Pin LEDs, habe leider selbst kein Datenblatt :-(
 
Also je 1 Pin für rot, gelb und blau + 1 für Anode oder Kathode (je nach LED).
Also 3 PWM Kanäle.

Die Farbwerte sind in Hex. Also 3 Bytes (1 pro Farbe).

FF0000 = Rot
00FF00 = Gelb
0000FF = Blau

Lass PWM mal weg (was ja angeblich funktioniert) und steuer die mal binär an.
 
Ja wenn ich einfach nur logische Pegel drauf gebe, genau das selbe... Ich erreiche nicht die Farben laut Tabelle...
 
Denn haste dich verkabelt ;)
 
Hi Tommy,

Also je 1 Pin für rot, gelb und blau + 1 für Anode oder Kathode (je nach LED).
Also 3 PWM Kanäle.

Die Farbwerte sind in Hex. Also 3 Bytes (1 pro Farbe).

FF0000 = Rot
00FF00 = Gelb
0000FF = Blau

Lass PWM mal weg (was ja angeblich funktioniert) und steuer die mal binär an.

meinst du nicht Rot GRÜN Blau ? Weil bei additiver Farbmischung hat man Rot/Grün/Blau (RGB)
Bei subtraktiver Farbmischung wie beim Drucker hat man dann Cyan/Magenta/GELB.

Gruß
Dino
 
Leider komme ich mit der Tabelle, den errechneten Werten für die Widerstände nicht auf die gewünschte Farbe laut Tabelle... Habe ich die Widerstände falsch kalkuliert?
Das glaub' ich dir. Die Leds haben ja immer eine gewisse Streuung in ihren Daten. Und mit deren Stromkennlinien hat man bei gleichen Widerständen und verschiedenen Leds verschiedene Helligkeiten. Hab' da schon mehrere user jammern hören, das beim Austausch einer RGBLed, die nicht mehr zu den originalen passt, weil die aus einer anderen Charge stammen. Wenn du passende Farben gemäß Tabelle willst, musst du wahrscheinlich kalibrieren.
Ich persönlich finde es auch schwer, eine selbstleuchtende Farbe (Led) mit einer nur reflektierenden Farbe (Ausdruck) zu vergleichen.
 
Hi Tommy,



meinst du nicht Rot GRÜN Blau ? Weil bei additiver Farbmischung hat man Rot/Grün/Blau (RGB)
Bei subtraktiver Farbmischung wie beim Drucker hat man dann Cyan/Magenta/GELB.

Gruß
Dino
Details. ;)
 
Ich habe die LED´s schon richtig verdrahtet. Es kommt einfach kein gelb raus, wenn ich die beiden Farben ansteuere.
Deßhalb die Frage, wegen den Widerständen oder der PWM (Timing?)...
Ist das Timing egal oder nicht? Hat das was mit der Farbmischung zu tun? also klar, wenn ich auf einen Kanal 50 habe und auf den anderen 255, sollte Farbe x raus kommen....
 
Irgendwann ist schluss, wenn die Frequenz zu hoch wird. Bleib halt einfach in einem Bereich, wo ein Augenschwenk an der Led vorbei nicht zu sehr flackert. Du kennst das von Led-Rücklichtern von PKWs, wenn du deinen Blick schweifen lässt, sieht man die PWM. Ich denk mit 50kHz sollte alles gut gehen, wenn du dann noch nicht die gewünschte Farbe hast, musst du mit den Einzelwerten spielen.
 
Ich bin gerade mal auf eine Routine gestoßen die super Funktioniert.
Hier arbeitet der Kollege mit einer Auflösung von 64 Digit...



CodeBox C
    static uint8_t pwm_counter = 0;

   if (pwm_counter++ > 63)
   {
       PORTB = 0x00;
       PORTD = 0x00;
       pwm_counter = 0;
   }
   if (pwm_counter > Red)       PORTB |= 1<<PB0;
   if (pwm_counter > Green)   PORTD |= 1<<PD6;
   if (pwm_counter > Blue)       PORTD |= 1<<PD7;


Ich jedoch habe immer mit vollen 8 Bit gearbeitet... Wieso geht das mit >= 255 nicht?
Hat das was mit den LED´s zu tun, dass sie ihre Werte doch nicht mehr stark ändern?
 
Ohne mich in C aus zu kennen, das ist doch soft PWM. Die sollte auch >255 gehen, wenn deine Variablen alle word sind.
 
Ohne mich in C aus zu kennen, das ist doch soft PWM. Die sollte auch >255 gehen, wenn deine Variablen alle word sind.

Das ist soft PWM. Das geht auf mit Werten bis 255, eben nur nicht mit den RGB LED'S... Größer als 65 ändern sie nicht mehr ihre Farben, bzw schon nur der Mensch kann es dann nicht mehr wahrnehmen... Bis 65 klappt alles prima...
 
Farben sind ein sehr komplexes Thema, in der Theorie klingt vieles einfach, in der Praxis ist es plötzlich nicht mehr so.
Theorie: rot + grün = gelb. Praxis: welches rot? es gibt verschieden rote Leds, genauso verschiedene grün, ergibt zusammen noch verschiedenere gelbs. Ich weiß nicht, wie du dir die Farbtabelle anzeigen lässt, über Monitor? Ist da das Rot mit den Led-Rot identisch, das gleiche mit grün und blau? Ist sowieso schwer, einen hellen Leuchtpunkt mit einer Fläche zuvergleichen, das Auge hat auch eine begrenzte Bandbreite, wie ein Fotofilm. Da gibt es bei hellen Leuchtpunkten auch eine Überbelichtung, wo dann die Farbe nicht mehr stimmt.
 
Außerdem, wer sagt dass LEDs sich linear verhalten?
Daher sagte ich teste es erst mit den einzelnen Farben…
 
@TommyB
Also ein Verdrahtungsfehler ist definitiv nicht vorhanden.
Es liegt einfach an den LED´s.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)