1536 Pins ansteuern

  • Hallo,


    ich möchte gerne 512 RGB-LED ansteuern.

    Das bedeutet, dass ich auf 1536 Pins geregelte Spannung liefern will (also nicht nur an oder aus, sondern definierte Werte zwischen zBsp. 0 und 3 V).

    Mein Raspberry Pi 3 hat aber nicht ganz so viele Pins zur Verfügung. ;)

    Meine Frage ist, welche Lösung für dieses Problem fällt Euch ein?

    Gibt es fertige Lösungen, evtl. fertige Controller oder andere Möglichkeiten, um so viele LED's anzusteuern?


    Grüße,

    Frank

  • Für solche Sachen eignet sich ein busbasiertes System mehr, als die LED jeweils einzeln über GPIOs anzusprechen. Ich würde da was in Richtung WS2812 nehmen. So was hier ist auch ganz nett: https://raspiprojekt.de/kaufen…mierbare-rgb-led-5mm.html

    Falls du dich doch für die Einzelansteuerung entscheidest bleibt dir nur ein Portexpander mit mächtig vielen GPIOs, die gibt's leider nur als SMD. Mit 16fach auf I2C kommt man da nicht weit, weil die Adressen ausgehen. Helligkeit wird bei LEDs nicht analog geregelt, sondern über PWM.

  • Hast du die LEDs schon?


    Ansonsten frag mal Tante Google nach APA102 oder WS2812 oder WS2801 etc...

    Das spart eine ganze Menge Pins...


    Grüsse

    Peter

  • Hallo raspiproject und Peter,


    ich danke Euch für Eure Hinweise.

    Diese (wenn ich es richtig verstehe adressierbaren) LED's sind wahrscheinlich genau das Richtige,

    recht preisintensiv (39ct/St.), aber bei guter Recherche und meiner gesuchten Stückzahl finde ich vielleicht einen besseren Preis.


    Herzliche Grüße! :-)

    von Frank

  • Wenns ein LED-Stripe oder ähnliches mit WS28xx nicht tut, bekommst du in China auch die einzelnen LED-Module mit WS-Steuerchip (500 Stück ca. 35 €). Die kannst du dann selbst verbauen. Der Steuerchip alleine ist meines Wissens nicht zu kaufen (der ist direkt auf die LEDs gebondet und auch so winzig, dass du ihn wohl kaum verarbeiten könntest).


    Wenn du bestimmte/eigene LEDs benutzen und die Helligkeit aller RGB-Anteile vernünftig steuern willst, kommst du um irgendeine Form der PWM-Steuerung nicht herum.


    Ein Portexpander wird wenig bringen, weil er selbst kein PWM kann und zu langsam ist, um vom Pi aus mit PWM-Signalen versorgt zu werden.


    Du könntest mehrere Mikrocontroller nehmen, die jeweils über möglichst viele Ports verfügen. Die meisten Controller haben nur wenige PWM-Ports. Aber für die LED-Steuerung kannst du PWM mit Software realisieren. Für einen µC sollte es kein Problem sein, auch eine größere Zahl von Ports mit Soft-PWM bei vernünftiger Auflösung zu versorgen. Es gibt Atmegas mit über 100 Ports.


    Eine weitere Möglichkeit wäre, die LEDs an Schieberegister zu hängen und die PWM-Signale seriell rein zu schieben. Mit einem schnellen Mikrocontroller könntest du so eine ganze Reihe von Schieberegistern ansteuern. Die Schieberegister sind sehr schnell. Wenn du es geschickt anstellst, reicht vielleicht sogar ein einziger µC für alle LEDs. Direkt vom Pi geht das allerdings nicht. Der wird zwischendrin immer mal Hänger haben, wenn er gerade was vermeintlich Wichtigeres zu tun hat, als die LEDs zu steuern.


    Das Ganze Selbstgebastel geht aber nur noch in SMD-Technik. Das ist sicher zu aufwändig. Wenn man sich über die Steuerung mal Gedanken macht fällt einem erst auf, wie komfortabel und preiswert diese LED-Stripes sind... :^^:

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!