Adressierbare RGB-LEDs
Die Steuerung von RGB-LEDs erfordert 3 analoge Signale. Offensichtlich ist dies für eine große Anzahl von LEDs nicht mehr möglich, daher muss diese Aufgabe dezentralisiert werden. In den im Daisy Chain-System in Reihe geschalteten Modulen befindet sich neben jeder LED eine Steuereinheit, die vier Aufgaben gleichzeitig ausführt:
- Empfängt die Signalleitung von der Steuereinheit oder der vorherigen LED, trennt / wählt das entsprechende Teil aus
- Übergibt die Signalfolge an die nächste LED
- Dekodiert normalerweise 3 Bytes Farbkombinationsinformationen (1 Byte / Farbe) für insgesamt 16,8 Millionen Farbtöne
- Steuert die LED (Digital / PWM-Wandlung).
Die Signalübertragung ähnelt einer Standard-UART-Schnittstelle, ist es jedoch nicht. Diese Kommunikation ist extrem zeit-spezifisch, die Signalcodierung erfolgt praktisch über die Signalhaltezeiten:
Die Daten kommen in 24-Bit- „Paketen” bei den Einheiten an, die Datensätze werden durch ein 50 μs „Zurücksetzen” geschlossen. Jede Einheit schneidet ihren eigenen Datensatz aus dem Telegramm und überträgt nur den „Rest”:
WS2812 Telegramm „abnehmend pro Einheit”
Offensichtlich unterscheiden sich die folgenden Lösungen geringfügig. Derzeit ist die WS2812-Serie der Gewinner in Bezug auf das Preis-Leistungs-Verhältnis.
WS2811
Das adressierbare LED-System WS2811 ist eine verbesserte Version der WS2801-Lösung. Die dort verwendete SPI-Kommunikation, die sich als langsam erwies, wurde zu einem speziellen, zeit-basierten seriellen Protokoll vereinfacht. Die Übertragung erfolgt bei 400 oder 800 kHz. Der WS2801 verwendet 2 Datenleitungen für die Übertragung, während der WS2811 eine verwendet. Neben jeder LED befindet sich ein adressierbarer WS2811-IC, der einerseits die Farbkombination aus der Datenleitung speichert und andererseits die RGB-LED steuert.
Unterschiede zwischen der WS2811- und der WS2812-Serie
- WS2811 enthält IC und LED separat, während WS2812 die beiden Teile integriert
- Die maximale Spannung des WS2811 beträgt 7 V, während die des WS2812 5,3 V beträgt
- WS2812 ist eine verbesserte Version der 11, die Software der ICs wurde ebenfalls verbessert
WS2812
Der WS2812 ist ein WS2811-Chip, der in ein 5050 SMD LED-Panel eingebettet ist. Alle WS2812 „kennen” die 800-kHz-Signalübertragung, daher lohnt es sich, diese zu verwenden.
WS2812-Spezifikation
- LED: RGB SMD LED 5050
- Farbtöne: 256
- Betriebsspannung: 5V
- Leistung pro LED: 0.3W +/- 0.01%
WS2812-Ports
- 5V : Halten sich diese geregelte Spannung zwischen 5 und 7V. Bei niedrigeren Spannungspegeln nimmt die Helligkeit ab und über 7 V können die Module beschädigt werden
- GND : 0V. Zwischen dem ersten Modul und dem Arduino ist es ratsam, einen Kondensator von 100µF bis 1000µF zwischen gnd und 5V zu installieren
- DI : Signalleitung von der Steuerung oder dem vorherigen Modul. Ein Widerstand zwischen 220 und 470 Ω sollte ebenfalls auf der Datenleitung zwischen dem ersten Modul und dem Arduino installiert werden.
- DO : Die Signalleitung zum nächsten Modul. Im Falle des letzten Moduls sollte es einfach frei gelassen werden.
WS2812 Verdrahtung
- Die Module sollten einfach miteinander verbunden werden: gnd↔gnd, 5v↔5v, do↔di, die Adressierung funktioniert in der Reihenfolge der Verbindung
- Es wird empfohlen, einen Kondensator zwischen 100 und 1000 µF zwischen dem ersten Modul und dem Arduino zwischen gnd und 5 V zu installieren
- Es lohnt sich, einen 220 - 470 Ω Widerstand auf der Datenleitung zwischen dem ersten Modul und dem Arduino zu installieren
- Arduino Pin 4 muss an den DI des ersten Moduls angeschlossen werden. (Wenn Pin 4 nicht funktioniert, muss der Code natürlich an die Änderung übergeben werden.)
Das obige Beispiel zeigt den Anschluss von Sparkfun WS2812-Modulen an Arduino
WS2812 Bibliothek / Software
Die Adafruit Neopixel-Bibliothek kann hier heruntergeladen werden: https://github.com/adafruit/Adafruit_NeoPixel
Beispiel Adafruit Neopixel-Programme: https://github.com/adafruit/Adafruit_NeoPixel/tree/master/examples
In den heruntergeladenen Programmen müssen auch die Anzahl der Pins und die Anzahl der angeschlossenen LED-Module angegeben werden.
Forrás: https://learn.sparkfun.com/tutorials/ws2812-breakout-hookup-guide
WS2801
Ez a „klasszikus” megoldás a címezhető LED-ekre. Ez még SPI kommunikációt alkalmazott, az órajelet PWM-mel állította elő és RGB csatornálat tartlamazott, az alegységeket (kvázi az RGB LED-eket) Daisy Chain rendszerben fűzte össze. Ugyanennek a megoldásnak az LPD8806 egy szabadalmaztatott és rendkívül rosszul dokumnetált változata, melyet az Adafruit integrált a rendszerébe.
Mindkét megoldás viszonylag bonyolult és lassabb, mint a WS2811/WS2812.