-
Notifications
You must be signed in to change notification settings - Fork 6
ws2812b
Hiermit lassen sich die RGB-LED-Baender mit dem WS2812b Chip ansteuern.
Benoetigt wird ein C1416 board mit 16MHz Quarz (Tipp: Arduino Nano + CAN Breakoutboard)
Das WS2812b hat 3 Pins, VCC+DATA+GND
DATA wird am jeweiligen Outpin angeschlossen.
Aber nur direkt am MCU! Das WS2812b vertraegt nur 5V!
Die Versorungsspannung muss durch ein geeignetes Netzteil bereitgestellt werden.
Der LM2574 auf dem Controllerboard kann den noetigen Strom nicht liefern!
Das WS2812b zieht bei voller Beleuchtung umgefaehr 1,5A bei 30 LEDs
Achtung, Störungen durch Schaltnetzteile werden belanglos, wenn der ATmega328p und das LED-Band aus dem selben Netzteil gespeist werden!
Achtung, es wurde bisher nur am ATmega328p mit 16MHz getestet!
create ws2812b
set feature 0
set gruppe0 173
set gruppe1 255
set gruppe2 255
set poti_helligkeits_gruppe 255
set poti_farb_gruppe 255
set port 4
set anzLEDs 34
set mute 255
exit
Feldname | Bit | Beschreibung | Belegung |
---|---|---|---|
feature | 0 | ws2812b leuchtet nur weiß, unabhaenig von poti_farbe | default: 0 |
gruppe0..2 | Gruppen-IDs, siehe Funktionsbeschreibung | 1..255; Ersatzwert: 255 | |
poti_helligkeits_gruppe | Gruppen-ID des des Potis um die Helligkeit zu regeln | 1..255; Ersatzwert: 255 | |
poti_farb_gruppe | Gruppen-ID des des Potis um die Farbe zu regeln | 1..255; Ersatzwert: 255 | |
port | Nummer des Output-Ports, an dem das ws2812b angeschlossen ist (PORTD) | 2..6 (6=PD7) | |
anzLEDs | Anzahl der LEDs | 1..255 | |
mute | Gruppen-ID ueber den dieses Device de-/aktiviert wird | 1..255; Ersatzwert: 255 |
Das WS2812b reagiert folgendermassen:
Falls eine Gruppe der Gruppen-Felder gleich der Gruppe im Frame ist, toggled er
(aendert seinen Zustand); d.h. war es aus, so schaltet es ein und umgekehrt.
hier ist eine direkte Steuerung moeglich
aktuell nur über den control mode von telican
send 5 125 <gruppe> <pattern> <ROT> <GRUEN> <BLAU> <BenutzeLEDs>
Bei den Werten von Rot, Gruen und Blau sind werte von 0 - 255 zulaessig
Siehe: RGB-Farbtabelle
z.B.:
- alle LED's dunkel gruen:
send 5 125 173 1 0 100 0 1
- jede dritte LED dunkel rot, andere bleiben gruen:
send 5 125 173 2 100 0 0 3
- jede vierte LED dunkel blau, andere aus:
send 5 125 173 1 0 0 100 4
Parameter | Beschreibung |
---|---|
HES | |
WS2812B_SEND | |
gruppe | |
Pattern | 1 = Nicht gewaehlte LEDs gehen aus; 2 = Nicht gewaehlte LEDs bleiben an |
R | Wert fuer Rot (uint8_t) |
G | Wert fuer Gruen (uint8_t) |
B | Wert fuer Blau (uint8_t) |
BenutzeLEDsPattern | 1 = Jede LED (Pattern ohne Wirkung); 2 = jede zweite LED; 3 = jede dritte LED, usw. |
Man definiert zwei Potis.
Mit dem einen wird die Farbe gewählt. Funktioniert wie beim Multitaster
Mit dem anderen wird die jeweilige Helligkeit eingestellt.
Dadurch ist es auch möglich Farben zu mischen.
Also man stellt den einen Poti auf Rot und dreht den zweiten auf 50%
Danach den einen auf Grün und den anderen auf 100%
Das ergibt dann Violett
wenn das Bit 0 gesetzt ist, wird bei Poti Steuerung immer nur weiss angezeigt. Unabhaeniging von der gewaehlten Farbe.
Das ist z.B. sinnvoll wenn das ws2812b in einem Gaestezimmer installiert ist. Mit der Einstellung verhält sich der "Helligkeits Poti" wie ein Dimmer.
Das sollte nun jeder Gast verstehen.
-
Tutorials
-
FAQ
-
Referenz
- Konzepte
- Hardware
- Software/PC
- Software/Firmware
- Patches
- EDS - EEPROM Data System
- HCAN Protokoll
- HCAN Protokoll - Referenz