Adressierbare RGB-LEDs

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:

  1. Empfängt die Signalleitung von der Steuereinheit oder der vorherigen LED, trennt / wählt das entsprechende Teil aus
  2. Übergibt die Signalfolge an die nächste LED
  3. Dekodiert normalerweise 3 Bytes Farbkombinationsinformationen (1 Byte / Farbe) für insgesamt 16,8 Millionen Farbtöne
  4. 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:

WS2812 logisch 0 und 1
WS2812 logisch 0 und 1

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:

Das WS2812-Datenpaket
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

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

WS2812

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

WS2812-Ports

WS2812 Verdrahtung

  1. Die Module sollten einfach miteinander verbunden werden: gnd↔gnd, 5v↔5v, do↔di, die Adressierung funktioniert in der Reihenfolge der Verbindung
  2. Es wird empfohlen, einen Kondensator zwischen 100 und 1000 µF zwischen dem ersten Modul und dem Arduino zwischen gnd und 5 V zu installieren
  3. Es lohnt sich, einen 220 - 470 Ω Widerstand auf der Datenleitung zwischen dem ersten Modul und dem Arduino zu installieren
  4. 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.)

WS2812 Verdrahtung
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.

LPD8806

Lásd fent, WS2801.

Források

http://www.doityourselfchristmas.com/wiki/index.php?title=Different_Styles_of_Pixels
https://digistump.com/board/index.php?topic=991.0