Forum: Mikrocontroller und Digitale Elektronik [GELÖST] Wie RGB Lauflicht mit Arduino realisieren?


von Tianhao G. (badass_aleeh)


Lesenswert?

Hey ihr Leute von heute :-),

ich bin Neuling auf dem Gebiet Mikrocontroller und plane ein RGB 
Lauflicht mit dem Arduino Uno zu realisieren. Ohne Platine, nur auf dem 
Steckbrett.

Dazu habe ich 7 RGB LEDs vom Typ LL-509RGBC2E-006 gekauft. Die LEDs 
haben je 3 Beinchen für Rot, Grün, Blau und ein Beinchen für GND. Macht 
bei 7 LEDs 7x3=21 Beinchen für die Ansteuerung der Farbanteile und eine 
GND-Leitung.

So viele digitale Pin-outs hat der Arduino aber nicht, deshalb hatte ich 
überlegt einen De-Multiplexer zu verwenden. Dann würde ich eine 
"digitale Signalkette" über EINEN Pin-0ut rausgeben und die Signalkette 
beim Schalten auf mehrere Beinchen aufteilen.

Würde ich über den serial Pin-out z.B. [110110...110] ausgeben, dann 
würde der Demultiplexer jeweils 110 an die RGB-pins jeder LED legen.

Stimmt das so? Ich bin halt Noob, deshalb bin ich mir unsicher, ob das 
so klappt.

: Bearbeitet durch User
von 12V DC (Gast)


Lesenswert?

Ich hatte zwar mit Multiplexen noch nichts am Hut, aber wenn ich dne 
Artikel richtig verstanden habe brauchst du mindestens 5(5*5=25 Digitale 
möglichkeiten)Pins um 21 Möglichkeiten zu hben den zu Schlten

Tianhao G. schrieb:
> Würde ich über den serial Pin-out z.B. [110110...110] ausgeben, dann
> würde der Demultiplexer jeweils 110 an die RGB-pins jeder LED legen.

Ich glaube der liest nicht seriel ein, sondern parallel(siehe 
hier:http://www.mikrocontroller.net/articles/Multiplexen)

von Mike (Gast)


Lesenswert?

Tianhao G. schrieb:
> Ich bin halt Noob, deshalb bin ich mir unsicher, ob das
> so klappt.

Kauf dir WS2812B RGB-LEDs oder einen Strip damit. Da ist die 
Adressierung mit drin, so dass deine Pins auf jeden Fall reichen und du 
auch für die Bedienung noch genug frei hast.

von OAmp (Gast)


Lesenswert?

7 LEDs mal 3 Farben macht 21 Lauflichtpunkte.

Möglichkeit 1 :

uC steuert den Takt des Clock-Eingangs von 3
CMOS Chips 4017 an. Diese steuern jeweils
eine Farbe an.
das heisst über Software lassen sich viele
Variationen einstellen.

Möglichkeit 2 :

21 Ausgänge sind verwendbar bei den gängigen
Atmel Chips wenn du analogen mit verwendet werden.

von 12V DC (Gast)


Lesenswert?

OAmp schrieb:
> 21 Ausgänge sind verwendbar bei den gängigen
> Atmel Chips wenn du analogen mit verwendet werden.

Beim Uno haste Digital+Analog nur 20 Pins(14 Digital + 6 Analog)

von Sören K. (foxalem)


Lesenswert?

Moin,

du kannst auch einen 74HC 595 (Schieberegister) verwenden
(http://www.reichelt.de/74HC-595/3/index.html?&ACTION=3&LA=446&ARTICLE=3269&artnr=74HC+595&SEARCH=74hc+595)

Damit kannst du dann über die SPI-Schnittstelle 8 Bit in das register 
schieben, wenn du mehrere Register hast, klemmst du das zweite 
Schieberegister mit dem "Serial Data IN" an den "Serial Data OUT" vom 
ersten.
Dann musst du eben zwei mal 8 Bit über SPI schicken.

Insgesammt brauchst du dann 3 Leitungen für beliebig viele LEDs, 
allerdings hast du Max 35mA (wenn ich mich nicht irre) per Outputpin vom 
Schieberegister, also evtl noch ein Darlington-Array dazuschalten 
(http://www.reichelt.de/ULN-2803A/3/index.html?&ACTION=3&LA=446&ARTICLE=22085&artnr=ULN+2803A&SEARCH=ULN+2803) 
... so hab ich das zumindest gemacht mit 100 LEDs und das klappt super.

So könntest du dann sogar per PWM deine LEDs dimmen bzw. die Übergänge 
schön fließend machen, musst halt ein bisschen hirnschmalz reinstecken 
wie du das am besten anstellst, aber das ist auch für nen Anfänger nicht 
von höchster Priorität ;)

Lg

von Markus (Gast)


Lesenswert?

Sören Kleer schrieb:
> du kannst auch einen 74HC 595 (Schieberegister) verwenden

Oder auch einen TPIC6B595, der gleich mehr Strom liefern kann.

von Max H. (hartl192)


Lesenswert?

Wenn du die RGBs als 7*3 LED-Matrix verschaltest, brauchst du nur 10 
IOs und keine zusätzliche Hardware.

: Bearbeitet durch User
von badass_aleeh (Gast)


Lesenswert?

Mike schrieb:
> Kauf dir WS2812B RGB-LEDs oder einen Strip damit. Da ist die
> Adressierung mit drin, so dass deine Pins auf jeden Fall reichen und du
> auch für die Bedienung noch genug frei hast.

Das ist ein interessanter Tipp, so einfach möchte ich es mir aber dann 
doch nicht machen und ich will ja meine LL-509RGBC2E-006 LEDs nicht 
umsonst gekauft haben.

von badass_aleeh (Gast)


Lesenswert?

Danke erstmal für die vielen Anregungen. Das Schieberegister und der 
CMOS Chip 4017 sagen mir als Alternative zum Demultiplexer am meisten 
zu. Wie würde das mit der 7*3 LED Matrix funktionieren? Das kann ich mir 
noch nicht vorstellen.

von Kaj (Gast)


Lesenswert?


von OAmp (Gast)


Lesenswert?

Kommt immer drauf an was für Effekte dann herauskommen sollen.
Wenn du drei Ausgänge des uC auf die clock der 4017 setzt dann
kannst du mit dem Programm zum Beispiel die Geschwindigkeit der
Farben ändern. Also eine Spielerei. Und viel Platz zum Experimentieren.

Ein einfaches Beispiel ist hier:
http://codentronix.com/2011/06/05/arduino-led-bar-graph-driven-by-a-4017-counter/

Das eben an drei Ausgänge anschliessen und auch a bisserl mit dem Code
spielen.
Widerstände anpassen. Eventuell Treiber/Buffer-Stufe einbauen, die LEDs
haben 35mA.

von Markus (Gast)


Lesenswert?

Warum einen 4017? Damit verbaut man sich ja alle Möglichkeiten, der 
flexiblen Darstellung. Damit kann man ja nur die Geschwindigkeit ändern.

Nimm doch den besagten 74HC595 oder eben gleich einen TPIC6B595, dann 
hat man auch gleich genug Strom.

http://learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/the-74hc595-shift-register

http://blogs.iad.zhdk.ch/physical-computing-hs-12/3-tag-bitshift-pwm-und-transistor/

von OAmp (Gast)


Lesenswert?

Oder ohne 4017 oder 74HC595 (etc)...
Nur mit Treiberstufe :

http://fritzing.org/projects/multicolor-rgb-led-controller-shield-for-arduino

Ist PWM und das kann man auf Selbstgebasteltes leicht umwandeln.

Allerdings, um die Teile zu lernen kann man alle möglichen CMOS
vom Arduino ansteuern.

von Tianhao G. (badass_aleeh)


Lesenswert?

Danke nochmal für eure antworten. ich werde die eine oder andere 
Möglichkeit ausprobieren bis ich mein Projekt siegesreich abschließe. 
Ich melde mich dann hier, wenn weitere Probleme auftreten. Das kann 
jedoch eine weile dauern, da ich im Moment auch viel anderen krams zu 
erledigen habe. :-)

von Tianhao G. (badass_aleeh)


Lesenswert?

Hallo,

ich habe es geschafft! :-D Ich habe die Bibliothek "ShiftPWM" von 
http://www.elcojacobs.com/shiftpwm/ mit den 74HC595 Schieberegistern 
verwendet und alles funktionierte problemlos.

Danke für all die nützlichen tipps!

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
Noch kein Account? Hier anmelden.