Component: RGB LED SK6812 RGBW (LEDs): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (7 intermediate revisions by 2 users not shown) | |||
| Line 14: | Line 14: | ||
==RGB LED SK6812 RGBW component== | ==RGB LED SK6812 RGBW component== | ||
A simple chained RGBW LED controller IC allowing multiple LEDs to be controlled using a serial data stream. Compatible with the SK6812 RGBW Type Controller ICs. Allows RGBW LEDs to be driven with full 24-bit colour depth plus 8-bit white channel. Allows single chains, 2D arrays and 3D cube formations to be simulated. Requires a high speed microcontroller to generate the critical timings to drive the device. | A simple chained RGBW LED controller IC allowing multiple LEDs to be controlled using a serial data stream. Compatible with the SK6812 RGBW Type Controller ICs. Allows RGBW LEDs to be driven with full 24-bit colour depth plus 8-bit white channel. Allows single chains, 2D arrays and 3D cube formations to be simulated. Requires a high speed microcontroller to generate the critical timings to drive the device. | ||
==Detailed description== | ==Detailed description== | ||
| Line 93: | Line 87: | ||
[http://led.linear1.org/1led.wiz LED Resistor Calculator Tool] | [http://led.linear1.org/1led.wiz LED Resistor Calculator Tool] | ||
| Line 105: | Line 101: | ||
===Delay_T0H=== | ===Delay_T0H=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Delay_T0H''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 119: | Line 115: | ||
===Delay_T0L=== | ===Delay_T0L=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Delay_T0L''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 133: | Line 129: | ||
===Delay_T1H=== | ===Delay_T1H=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Delay_T1H''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 147: | Line 143: | ||
===Delay_T1L=== | ===Delay_T1L=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Delay_T1L''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 161: | Line 157: | ||
===DrawCuboid3D=== | ===DrawCuboid3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawCuboid3D''' | ||
|- | |- | ||
| colspan="2" | Draws a basic 3D cuboid onto the LEDs | | colspan="2" | Draws a basic 3D cuboid onto the LEDs | ||
| Line 230: | Line 226: | ||
===DrawLine2D=== | ===DrawLine2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawLine2D''' | ||
|- | |- | ||
| colspan="2" | Draws a line on a 2D array of LEDs | | colspan="2" | Draws a line on a 2D array of LEDs | ||
| Line 284: | Line 280: | ||
===DrawLine3D=== | ===DrawLine3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawLine3D''' | ||
|- | |- | ||
| colspan="2" | Draws a line on a 3D array of LEDs | | colspan="2" | Draws a line on a 3D array of LEDs | ||
| Line 348: | Line 344: | ||
===DrawRectangle2D=== | ===DrawRectangle2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DrawRectangle2D''' | ||
|- | |- | ||
| colspan="2" | Draws a basic 2D rectangle onto the LEDs | | colspan="2" | Draws a basic 2D rectangle onto the LEDs | ||
| Line 407: | Line 403: | ||
===GetLEDColour=== | ===GetLEDColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLEDColour''' | ||
|- | |- | ||
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | | colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | ||
| Line 431: | Line 427: | ||
===GetLEDIndex2D=== | ===GetLEDIndex2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLEDIndex2D''' | ||
|- | |- | ||
| colspan="2" | Sets the index of a single LED in RAM as a 2D array. | | colspan="2" | Sets the index of a single LED in RAM as a 2D array. | ||
| Line 455: | Line 451: | ||
===GetLEDIndex3D=== | ===GetLEDIndex3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetLEDIndex3D''' | ||
|- | |- | ||
| colspan="2" | Gets the index of a single LED in RAM as a 3D array. | | colspan="2" | Gets the index of a single LED in RAM as a 3D array. | ||
| Line 484: | Line 480: | ||
===Initialise=== | ===Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Inisialises the RGB colour RAM to 0,0,0 = LED Off and clocks out the data to initialise all the LED ICs in the chain. | | colspan="2" | Inisialises the RGB colour RAM to 0,0,0 = LED Off and clocks out the data to initialise all the LED ICs in the chain. | ||
| Line 498: | Line 494: | ||
===OutputHigh=== | ===OutputHigh=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''OutputHigh''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 512: | Line 508: | ||
===OutputLow=== | ===OutputLow=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''OutputLow''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 526: | Line 522: | ||
===Refresh=== | ===Refresh=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Refresh''' | ||
|- | |- | ||
| colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM | | colspan="2" | Clocks out the current colour data to the LEDs from the values stored in RAM | ||
| Line 540: | Line 536: | ||
===SetAllLEDColour=== | ===SetAllLEDColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetAllLEDColour''' | ||
|- | |- | ||
| colspan="2" | Sets the colour of all the LEDs in RAM | | colspan="2" | Sets the colour of all the LEDs in RAM | ||
| Line 574: | Line 570: | ||
===SetBrightness=== | ===SetBrightness=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetBrightness''' | ||
|- | |- | ||
| colspan="2" | Allows the output colour brightness of the LEDs to be scaled down. For example to save current usage or to reduce brightness in dark environments. | | colspan="2" | Allows the output colour brightness of the LEDs to be scaled down. For example to save current usage or to reduce brightness in dark environments. | ||
| Line 593: | Line 589: | ||
===SetBrightnessByte=== | ===SetBrightnessByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetBrightnessByte''' | ||
|- | |- | ||
| colspan="2" | Allows the output colour brightness of the LEDs to be scaled down. For example to save current usage or to reduce brightness in dark environments. | | colspan="2" | Allows the output colour brightness of the LEDs to be scaled down. For example to save current usage or to reduce brightness in dark environments. | ||
| Line 612: | Line 608: | ||
===SetLEDColour=== | ===SetLEDColour=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SetLEDColour''' | ||
|- | |- | ||
| colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | | colspan="2" | Sets the colour of a single LED in RAM as a 1D array. | ||
| Line 651: | Line 647: | ||
===ShiftLEDs1D=== | ===ShiftLEDs1D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShiftLEDs1D''' | ||
|- | |- | ||
| colspan="2" | Shifts the LED colours in 1D and wraps | | colspan="2" | Shifts the LED colours in 1D and wraps | ||
| Line 675: | Line 671: | ||
===ShiftLEDs2D=== | ===ShiftLEDs2D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShiftLEDs2D''' | ||
|- | |- | ||
| colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | | colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | ||
| Line 704: | Line 700: | ||
===ShiftLEDs3D=== | ===ShiftLEDs3D=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ShiftLEDs3D''' | ||
|- | |- | ||
| colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | | colspan="2" | Shifts the contents of the display by the number of vertices specified ***Please Note that Wrap mode is currently unavailable*** | ||
| Line 739: | Line 735: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Controller IC | ||
|- | |- | ||
|- | |- | ||
| Line 784: | Line 780: | ||
| colspan="2" | Logic 1 low time in microseconds | | colspan="2" | Logic 1 low time in microseconds | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | LED Properties | ||
|- | |- | ||
|- | |- | ||
| Line 803: | Line 799: | ||
| colspan="2" | X Spacing Between LEDs on the Panel | | colspan="2" | X Spacing Between LEDs on the Panel | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 812: | Line 808: | ||
| colspan="2" | LED Data Pin - Connected to the Data In pin of the first WS821x IC. | | colspan="2" | LED Data Pin - Connected to the Data In pin of the first WS821x IC. | ||
|} | |} | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LED_SK6812RGBW.fcfx FC_Comp_Source_LED_SK6812RGBW.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LED_SK6812RGBW.fcfx FC_Comp_Source_LED_SK6812RGBW.fcfx] | |||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix TSL |
| Version | 1.5 |
| Category | LEDs |
RGB LED SK6812 RGBW component
A simple chained RGBW LED controller IC allowing multiple LEDs to be controlled using a serial data stream. Compatible with the SK6812 RGBW Type Controller ICs. Allows RGBW LEDs to be driven with full 24-bit colour depth plus 8-bit white channel. Allows single chains, 2D arrays and 3D cube formations to be simulated. Requires a high speed microcontroller to generate the critical timings to drive the device.
Detailed description
No detailed description exists yet for this component
Examples
LEDs can be wired either active high or active low. The LED components should each have a property allowing you to configure which LED type your using.
An active high LED will light when the microcontroller pin is outputting a logic 1 and be off when the microcontroller pin is outputting a logic 0 or in input mode.
An active low LED will light when the microcontroller pin is outputting a logic 0 and be off when the microcontroller pin is outputting a logic 1 or in input mode.
The series resistor can be on either side of the LED and acts to protect the LED from damage due to excess current. The value of resistor used can be changed based on the brightness of the LED and power consumption.
This LED Calculator tool is a good resource for calculating the correct LED series protection resistor.
Macro reference
Delay_T0H
| Delay_T0H | |
| Return | |
Delay_T0L
| Delay_T0L | |
| Return | |
Delay_T1H
| Delay_T1H | |
| Return | |
Delay_T1L
| Delay_T1L | |
| Return | |
DrawCuboid3D
DrawLine2D
DrawLine3D
DrawRectangle2D
GetLEDColour
GetLEDIndex2D
GetLEDIndex3D
Initialise
| Initialise | |
| Inisialises the RGB colour RAM to 0,0,0 = LED Off and clocks out the data to initialise all the LED ICs in the chain. | |
| Return | |
OutputHigh
| OutputHigh | |
| Return | |
OutputLow
| OutputLow | |
| Return | |
Refresh
| Refresh | |
| Clocks out the current colour data to the LEDs from the values stored in RAM | |
| Return | |
SetAllLEDColour
| SetAllLEDColour | |
| Sets the colour of all the LEDs in RAM | |
| R | |
| Red Colour Channel | |
| G | |
| Green Colour Channel | |
| B | |
| Blue Colour Channel | |
| W | |
| White colour channel | |
| Return | |
SetBrightness
SetBrightnessByte
SetLEDColour
ShiftLEDs1D
| ShiftLEDs1D | |
| Shifts the LED colours in 1D and wraps | |
| Direction | |
| 0 = Forwards, 1 = Backwards | |
| DataMode | |
| 0=ResetToZero, 1=WrapAroundDisplay, 2=Smear | |
| Return | |
ShiftLEDs2D
ShiftLEDs3D
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LED_SK6812RGBW.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LED_SK6812RGBW.fcfx
