Forum: Mikrocontroller und Digitale Elektronik 30 RGB LED-Streifen einzeln ansteuern [Arduino, Raspberry]


von Marvin S. (schlusennet)


Lesenswert?

Guten Morgen zusammen!
Mein Name ist Marvin, ich bin neu hier. Aktuell beschäftige ich mich mit 
einem freund in meiner Freizeit mit einem Projekt, bei welchem unter 
anderem 30 RGB LED Streifen EINZELN ansteuerbar sein müssen, dabei 
sollen Lichtfarbe und Lichthelligkeit gesteuert werden können. Unter 
anderem haben wir einen Raspberry Pi verbaut, ein Aduino soll wohl auch 
noch mit rein, da auch ein Schrittmotor mit 2 Endschaltern gesteuert 
werden soll. Nun steh ich aber vor dem Problem, dass ich mit meinem 
Halbwissen hier nicht mehr weiterkomme. Ist Zustand: Wir haben 30 RGB 
LED Streifen ( ca. 30cm lang ), wovon JEDER RGB LED Streifen farb- und 
helligkeitsgesteuert sein muss. Wie genau würdet ihr dabei vorgehen? 
Welche Hardware soll genutzt werden? Es muss die finanziell günstiges 
Lösung gefunden werden. Ziel ist es später, über ein Webinterface oder 
auch eine App auf dem Smartphone JEDE RGB LED Leiste steuern zu können.
Vielleicht habt ihr ja schonmal ähnliches gemacht oder habt einen 
Anhaltspunkt, an dem wir festhalten könnten? Über eine Antwort würde ich 
mich sehr freuen!

Viele Grüße
Marvin

: Bearbeitet durch User
von San L. (zwillingsfreunde)


Lesenswert?

Marvin S. schrieb:
> Ist Zustand: Wir haben 30 RGB
> LED Streifen ( ca. 30cm lang ), wovon JEDER RGB LED Streifen farb- und
> helligkeitsgesteuert sein muss.

Haben deine RGB Streifen bereits einen integrierten Controller? Sprich, 
wie werden sie angesteuert? Kann du einen Sollwert per Schnittstelle wie 
SPI Oder I2C vorgeben oder sinst das nur ganz simple Streifen mit LED & 
Vorwiderstand?

von Marvin S. (schlusennet)


Angehängte Dateien:

Lesenswert?

Guten Morgen und danke für die schnelle Antwort!

Das mit dem "wir haben" sollte nicht materialistisch klingen. Auf dem 
Papier haben wir 30 LED Streifen. Konkret haben wir diese noch nicht, 
das heißt wir sind absolut offen, welche RGB LED Streifen wir nehmen. 
Ich persönlich dachte aber an diese Art von LED Streifen (Anhang), die 
meiner Meinung nach nur Vorwiderstände auf der Stripplatine haben. Wenn 
Ihr jedoch sagt: "Hey ... nimm diese oder jene, weil es damit besser 
geht, dann hören wir auf euch."

VG
Marvin

Quelle Bild: http://ecolocityled.com/
http://cdn.ecolocityled.com/images/solder_rgb_tins500.jpg

von Gerald B. (gerald_b)


Lesenswert?

Hallo,

hier gibt es einen Thread, wo einer Sammelbestellungen von WS2812 
LED-Streifen macht. Besorgt euch sowas! Die Streifen benötigen 5V und 
werden seriell angesteuert. Das Ganze geht mit einem Arduino, oder dem 
"nackten" ATMEL-Controller prima. Da brauchst du kein Drahtverhau zu 
jeder LED - nur ein starkes Netzteil :-)

Gruß Gerald

von Marvin S. (schlusennet)


Lesenswert?

Vielen Dank Gerald! Dennoch brauche ich doch dann mindestens 30 Ports , 
wenn ich 30 Datenleitungen habe oder nicht? Geht das mit nur einem 
Arduino oder brauchen wir eventuell sogar mehrere? Du hast uns glaube 
ich schon sehr weitergeholfen, indem du uns aufgezeigt hast, welche LED 
Leisten sinnvoll sind. Vielen Dank dafür!

VG
Marvin

von San L. (zwillingsfreunde)


Lesenswert?

Marvin S. schrieb:
> Konkret haben wir diese noch nicht,
> das heißt wir sind absolut offen, welche RGB LED Streifen wir nehmen.

Dann habt ihr zwei möglichkeiten. Entweder ihr bestellt euch "nackte" 
Streifen welche lediglich die LED's und Vorwiderstände haben, baut dann 
eine Leiterplatte welche es euch irgendwie ermöglicht all die PWM 
Signale zu erzeugen, ggf natürlich auch direkt Analog und Programmiert 
dann das ganze zeug.

Die etwas billigere Variante wäre wohl die von Gerald. Hier würdet ihr 
vermutlich zum einen Geld, zum anderen Aufwand sparen. Wenn es euch 
schlussendlich nur um die Funktion an sich geht, dann nehmt ruhig diese 
Variante. Wenn es euch darum gehen sollte viel zu lernen, dann könntet 
ihr euch durchaus überlegen da ein bisschen mehr selbst zu basteln.

Marvin S. schrieb:
> Vielen Dank Gerald! Dennoch brauche ich doch dann mindestens 30 Ports ,
> wenn ich 30 Datenleitungen habe oder nicht?

Nein. Schau ins Datenblatt. Du brauchst lediglich eine Datenleitung. 
Diese gibts du in den ersten Streifen rein. Die ersten 24 Bits sind die 
Daten für den ersten Streifen, alles was danach folgt wird durch einen 
weiteren Ausgang wieder ausgegeben. Somit kannst du 30 Streifen in Serie 
schalten. Der "Nachteil" daran ist, wenn du die Farbe von nur einem 
Streifen ändern willst muss trotzdem jedesmal das volle Protokoll für 
alle 30 Streifen gesendet werden.

Marvin S. schrieb:
> Unter
> anderem haben wir einen Raspberry Pi verbaut, ein Aduino soll wohl auch
> noch mit rein, da auch ein Schrittmotor mit 2 Endschaltern gesteuert
> werden soll.

Und wofür braucht ihr da nun einen Pi und Arduino? Der Pi kann das auch 
ganz gut alleine.

von Gerald B. (gerald_b)


Lesenswert?

San Lue schrieb:
> Und wofür braucht ihr da nun einen Pi und Arduino? Der Pi kann das auch
> ganz gut alleine.

Der Pi hat wohl Probleme, das korrekte Timing für die WS2812 zu liefern, 
habe ich mal gelesen. Wobei der Arduino ganz sicher auch mit ein paar 
Schrittmotoren fertig wird ;-)

von Marvin S. (schlusennet)


Lesenswert?

Vielen Dank für die Infos! Habt schon sehr weitergeholfen. Die WS2812 
scheinen in die richtige Richtung zu gehen!

VG
Marvin

von San L. (zwillingsfreunde)


Lesenswert?

Gerald B. schrieb:
> Der Pi hat wohl Probleme, das korrekte Timing für die WS2812 zu liefern,
> habe ich mal gelesen. Wobei der Arduino ganz sicher auch mit ein paar
> Schrittmotoren fertig wird ;-)

Vielleicht findet sich in dem Tread hier eine Lösung:
Beitrag "WS2812 Ansteuerung mit SPI"

von benwilliam (Gast)


Lesenswert?

auch wenn der thread etwas älter ist ... vielelicht hilft das trotzdem 
weiter:

wenn jeder strip nur 30 LEDs lang ist ihr also eine matrix von 30x30 
habt dann würde ich immer 4 strips zusammen packen, das ergäbe 120 LEDs 
in serie die bei WS2812 immer noch eine sehr gute Framerate bieten.
Dann bräuchtet ihr aber nur noch 8 Ports und siehe da:
https://www.pjrc.com/teensy/td_libs_OctoWS2811.html

die lib unterstützt sehr perfomante steuerung von 8 stripes 
gleichzeitig.
(3 Timer werden via DMA gesteuert)
aber die lib ist für ARM absierte µC mit einem Atmel ATmega basierten 
Arduino kommt da wohl nicht weit.

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.