Ansteuerung

Die Ansteuerung der LED Spots erfolgt über ein serielles UART-Signal (RS232, nur mit nicht-invertiertem 5V Pegel). Dabei ist nur die Tx-Leitung an den Rx-Anschluss von der LED Spot-Platine anzuschließen, da diese nur empfängt, aber nicht sendet.

Das serielle Signal muss aus einem Start-Bit, 8 Datenbits sowie einem Stopp-Bit bestehen (ohne Parität, 8N1). Die Geschwindigkeit ist zwischen 4800 und 28800 beliebig wählbar und wird vom LED Spot automatisch erkannt. Dabei sind auch ‚krumme‘ Baudraten möglich.

Datenformat

Ein Kommando zur Ansteuerung besteht in der Regel aus 4 Bytes (Adressbyte + 3 Datenbytes) und ist nach folgendem Schema aufgebaut:

Adresse    Rot      Grün     Blau
FFBAAA11 00RRRR01 00GGGG01 00BBBB01

FF = Flags
B = Broadcast
AAA = Adresse
RRRR = Helligkeit rot
GGGG = Helligkeit grün
BBBB = Helligkeit blau

Zuerst wird das Adress-Byte gesendet, welches sich durch die beiden gesetzten untersten Bits von den Datenbytes unterscheidet. Es enthält neben den drei Adress-Bits ein Broadcast-Bit sowie zwei Flag-Bits. Die Adress-Bits legen die zu adressierende LED Spot Platine fest, wobei die drei Bits den Lötbrücken ADR2, ADR1 und ADR0 entsprechen (geschlossene Lötbrücke = gesetztes Bit). Die Adress-Bits werden nur dann beachtet, wenn das Broadcast-Bit nicht gesetzt ist. Bei gesetztem Bit wird das Kommando von jedem LED Spot ausgewertet. Mit Hilfe der beiden obersten Flag-Bits kann die LED unter anderem in einen Blinkmodus versetzt werden (siehe unten).

Dem Adressbyte folgen drei Datenbytes. Diese geben für die drei Farben rot, grün und blau die Helligkeit an. Für jede Farbe stehen dabei 4 Bit zur Verfügung, so dass Werte zwischen 0 und 15 für die Helligkeit möglich sind (0 = Farbe aus, 15 = maximale Helligkeit). Durch Kombination der drei Grundfarben können so 4096 verschiedene Farbwerte eingestellt werden.

Mit Hilfe der beiden Flag-Bits im Adressbyte sind spezielle Kommandos möglich. Im Normalfall sind diese beide auf 0 zu setzen. Dann werden Farbwerte der drei Datenbytes angezeigt. Wird die Kombination 01 bzw. 10 für die Flag-Bits übertragen, so schaltet der LED Spot in einen langsamen bzw. schnellen Blink-Modus. Die LED blinkt dann in der eingestellten Farbe ohne weiteres Zutun. Bei der Kombination 11 für die Flag-Bits wird die LED ausgeschaltet (d.h. alle Farbwerte auf werden 0 gesetzt). Falls die Flag-Bits nicht 00 sind, reicht zur Ansteuerung das Adressbyte aus, es werden keine Datenbytes benötigt.

Beispiele:

LED Spot-Platine mit Adresse 0 (Lötbrücken offen) auf rot mit minimaler Helligkeit zu schalten:

00000011 00000101 00000001 00000001 (binär)
0x03     0x05     0x01     0x01     (hexadezimal)

LED Spot-Platine mit Adresse 5 (ADR0+ADR2 geschlossen) auf gelb (rot+grün) mit maximaler Helligkeit zu schalten:

00010111 00111101 00111101 00000001 (binär)
0x17     0x3D     0x3D     0x01     (hexadezimal)

Um alle LED Spots per Broadcast auszuschalten reicht ein entsprechendes Adressbyte:

11100111 (binär)
0xE7     (hexadezimal)

Um LED Spot mit Adresse 7 (alle Lötbrücken geschlossen) schnell blinken zu lassen (bei zuvor eingestellter Farbe):

10011111 (binär)
0x9F     (hexadezimal)