Component: RGB LED SK6812 RGBW (LEDs): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (6 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 107: | 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 121: | 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 135: | 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 149: | 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 163: | 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 232: | 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 286: | 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 350: | 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 409: | 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 433: | 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 457: | 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 486: | 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 500: | 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 514: | 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 528: | 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 542: | 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 576: | 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 595: | 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 614: | 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 653: | 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 677: | 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 706: | 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 741: | 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 786: | 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 805: | 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 814: | 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
