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
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)
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.
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.
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)
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
Sören Kleer schrieb: > du kannst auch einen 74HC 595 (Schieberegister) verwenden Oder auch einen TPIC6B595, der gleich mehr Strom liefern kann.
Wenn du die RGBs als 7*3 LED-Matrix verschaltest, brauchst du nur 10 IOs und keine zusätzliche Hardware.
:
Bearbeitet durch User
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.
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.
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.
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/
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.
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. :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.