PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Farben einer Rainbow-LED mit einem Pic mischen



Simon1990
03.12.2005, 12:45
hallo zusammen!
sicherlich kennen die meisten von euch schon diese neuen Rainbow-LEDs. falls nicht: klick hier (http://www.led1.de/shop/product_info.php?products_id=125)

jetzt kann man ja jede der drei farben an einen pin des pics anschließen und ein und ausschalten. aber was mach ich jetzt wenn ich z.B. der farbe rot nur 2,5V und der farbe grün 4V geben will? kann man das direkt im pic irgendwie realisieren, dass nicht die vollen 5V ausgegeben werden und wenn ja wie?? oder wenn nein, wie könnte ich es dann mit einer externen schaltung verwirklichen?? gibt es da was, was zB einen byte-wert in einen spannungs-wert umwandelt??
des weiteren würde ich gerne bis zu 10 dieser led's mit den gleichen spannungen versorgen, was aber natürlich den port meines pics total überlasten würde.
zum einfachen ein und ausschalten der farben könnte man da natürlich einen transistor nehmen, aber der ist doch quasi nur ein elektrischer schalten der nur ein und aus kennt und nicht etwa mal einen 2,5V oder 4V Strom verstärkt (also mit mehr ampere versieht), oder??

sorry, wenn ich mich jetzt vielleicht irgendwie nicht so ganz richtig ausgedrückt hab, aber ich hab von elektronik noch nicht so wirklich viel ahnung.
ich hoffe ihr versteht, was ich meine und könnt mir trotzdem helfen.

gruß Simon

Fritzli
03.12.2005, 13:46
Hallo

Da gibts es grundsätzlich zwei (d.h. mehr fallen mir im Moment nicht ein) Möglichkeiten, um die Farben fein zu mischen:

1) Du brauchst für jeden Farbkanal einen DA-Wandler (macht das Umgekehrte eines AD-Wandlers). Dem gibst Du ein byte, welches er dann am Ausgang als Spannung ausgibt. Dieses kannst Du dann, ev. nach Verstärkung, da der DAC nicht viel Strom liefern kann, der LED anbieten.

2) Pulsweitenmodulation (PWM): Du machst für jeden Farbkanal ein PWM-Ausgang (geht auch mit Software). Wenn's etwas mehr von einer Farbe sein soll, erhöhst Du dort die Pulsweite. Die Mischung der Farben passiert dann im Auge.

Hoffentlich war das jetzt verständlich genug... :-k

Gruess
Fritzli

Simon1990
03.12.2005, 14:06
hey fritzli,
danke für diese sehr schnelle antwort. war sehr verständlich O:)

also würden dann so zusagen nach methode 2 die farben der led verschieden schnell blinken, was aber so schnell geht, dass es unser auge als abgeschwächtes dauerlicht empfindet, oder?

aber da mir methode 1 sinnvoller erscheint, da ich dann nur einmal dem DAC ein byte schicken muss und nicht die ganze zeit in einer schleife das rechtecksignal erzeugen muss. nur jetzt wäre die frage, wie ich das dann noch verstärke.

gruß Simon

Fritzli
03.12.2005, 14:18
Hallo


also würden dann so zusagen nach methode 2 die farben der led verschieden schnell blinken, was aber so schnell geht, dass es unser auge als abgeschwächtes dauerlicht empfindet, oder?
Genau. Das ist im übrigen auch die billigste Variante.
Beim DAC brauchst Du pro LED-Farbkanal einen DAC-Kanal.


nur jetzt wäre die frage, wie ich das dann noch verstärke.
Am Ausgang einen OpAmp, als Spannungsfolger geschaltet, sollte reichen.

Gruess
Fritzli

Simon1990
03.12.2005, 15:11
ok, aber wenn ich das dann doch mit PWM mache, wie krieg ich das dann hin, dass er diese blink-frequenz immer im hintergrund macht und neben her im normalen programm-code weiter arbeitet?

also etwas spezieller: ich will mit dem pic eben diese led's steuern, jetzt soll aber, wenn ein an einem pin angeschlossener taster gedrückt wird etwas programmcode abgearbeitet werden. unter anderem über rs232 ein zeichen an meinen pc senden. aber jetzt soll ja nicht für kurze zeit die led ausgehen, was ja passieren würde wenn ich interrupts benutze. oder zumindest würde sie die farbe ändern, wenn ich zB rot dauernd an hab und grün blinken lass. dann würde das blinken kurz aussetzten und die farbe würde von orange kurz auf rot wechseln. und das wäre zwar auch ein netter effekt, aber in diesem fall nicht sonderlich erwünscht ;-)

Fritzli
03.12.2005, 16:29
Hallo

Was hast Du denn für einen Typ? Ein paar haben PWM-Hardware-Module. Sonst wird's, wie Du beschrieben hast, "etwas" kompliziert (so a la Assembler und Befehle/Code-Zeilen zählen).

Ich würde mal nach einem mehrkanaligen DAC Ausschau halten. 8Bit sollten reichen. Wenn Du nur wenige Pins zur Verfügung hast, nimm einen mit SPI/I2C, sonst einen mit paralleler Schnittstelle (schneller)


Gruess
Fritzli

Skilltronic
03.12.2005, 21:48
Hallo

Oder einfach einen zweiten PIC, der vom ersten die RGB-Werte in Form von 3 Bytes bekommt und dann die Steuerung der LED übernimmt. Der 12F629 für € 1,45 bei Reichelt würde schon reichen. Drei Pins für die LED, dann bleiben noch 3 für eine einfache, selbstgemachte serielle Datenübertragung mit Clock-, Strobe- und Datenleitung.

Gruss
Skilltronic

Simon1990
04.12.2005, 14:32
so wie das skilltronic meinte, hab ich mir das auch schon überlegt. das wär glaub das einfachste. einfach den einen die leds steuern lassen und mit dem anderen den rest. ok. dann werd ich das wohl so machen. vielen dank für eure tolle hilfe.

the_Ghost666
05.12.2005, 06:57
da wir gerade beim thema sind, ich baue mir gerade eine art mood-light, streifen aus ultrahellen leds , immer rot grün blau nebeneinander, sollen angesteuert werden. Ich bin dabei mir als Controller extra einen importieren zu lassen, hab nen Pic mit 3 PWM Kanälen gefunden. Ist sicher nicht die billigste Lösung aber die Kompakteste und einfachste. Heute sollten die restlichen LEDs ankommen, dann kanns ans bauen der LED Streifen gehen. Es werden insgesamt ca 150LEDs auf 8 Streifen sein.

Simon1990
05.12.2005, 16:01
auch nich schlecht. und was willste mit so nem streifen machen? so ne wandbeleuchtung, wie man sie manchmal im fernsehen sieht??

the_Ghost666
05.12.2005, 18:49
eher wie man sie "am Fernseher" sieht. Die neuen Phillips fernseher haben "Ambi Light", dabei benutzen die das gleiche Prinzip, nur dass sie die beleuchtungsfarbe durch das fernsehbild bestimmen. Oder eben als Moodlight, mit der möglichkeit das ganze farbspektrum anzuzeigen. und als addon kommt dann irgendwann ein serielles interface dazu, vielleicht ein fernbedienungsreceiver und die möglichkeit 2 oder mehr kanäle zu steuern (lichtorgel)

stegr
07.12.2005, 17:22
Was mir dazu einfällt sind PWM-ICs speziell für 3-Farb-Leds. Die Teile gibts u.a. von Maxim und werden für genau den Zweck auch in diversen Industrieprojekten eingesetzt (z.b. im Auto für die neuen multifunktionalen Anzeigesysteme der Lüftung/Klimaanlage - dort ist dann ein Farbverlauf blau-rot für die Temperatur und einer in anderen Farben für z.B. Lüftungsstärke)
Ansteuerung geht über I2C oder SPI.

Edit: hab grade mal nachgeschaut: MAX6964/6965/6966/6967 sind solche...

the_Ghost666
07.12.2005, 23:52
großen dank, dann werde ich wohl der nächsten samplebestellung einige von denen hinzufügen.
erstmal aber datenblätter studieren. der passende controller mit 3 PWM ausgängen ist jetzt zwar schon in der post, aber mal sehen was man damit so machen kann.

stegr
08.12.2005, 00:20
großen dank, dann werde ich wohl der nächsten samplebestellung einige von denen hinzufügen.
erstmal aber datenblätter studieren. der passende controller mit 3 PWM ausgängen ist jetzt zwar schon in der post, aber mal sehen was man damit so machen kann.

Du brauchst doch auch nen Controller, mit dem du die I²C-Kommandos an die Maxim-ICs schickst ;)

the_Ghost666
08.12.2005, 20:21
jaja, aber da hab ich hier massen von, mit oder ohne hardware I2C. Aber der controller mit 3 pwms hat 28pins, vielleicht sind die nötig wenn ich die schaltung noch erweitern will aber sonst kann ich eben nen kleineneren Controller nehmen

kalledom
09.12.2005, 18:53
Es gibt noch eine weitere Möglichkeit, wie sie z.B. auch Osram anbietet, Steuergeräte für RGB-LED's mit Steuereingängen 1...10 Volt und (PWM-) Ausgängen bis zu 24 V / 3 A.
Für den Steuereingang braucht man natürlich wieder ein Steuergerät :-)
Die LED-Steuerung kann man auch selber bauen: