Difference between revisions of "Component: LED Matrix (HT16K33) (LEDs)"
From Flowcode Help
Jump to navigationJump to search (Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix Ltd |- | width="20%" style="color:gray;" | Version | 2.0 |- | width="20%" style="color:gray...") |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
LED Matrix component designed to work using a HT16K33 LED driver IC. Can drive up to 16 x 8 (128) LEDs. Includes support for 8x16 Backpack, 16x8 Featherwing, 8x8 Backpack and Custom. | LED Matrix component designed to work using a HT16K33 LED driver IC. Can drive up to 16 x 8 (128) LEDs. Includes support for 8x16 Backpack, 16x8 Featherwing, 8x8 Backpack and Custom. | ||
− | == | + | ==Version information== |
+ | |||
+ | Library Version, Component Version, Date, Author, Info | ||
+ | |||
− | |||
==Detailed description== | ==Detailed description== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
''No detailed description exists yet for this component'' | ''No detailed description exists yet for this component'' | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Line 32: | Line 62: | ||
− | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==Macro reference== | ||
+ | |||
+ | ===ChangeAddress=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ChangeAddress''' | ||
+ | |- | ||
+ | | colspan="2" | Change the address and Configures the I2C peripheral and sets up the HT16K33 IC ready to drive the LEDs. Returns 0 for fail & 1 for success. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | SlaveAddress | ||
+ | |- | ||
+ | | colspan="2" | New slave address 0x70 - 0x78 (112-120) | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===ClearLEDs=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearLEDs''' | ||
+ | |- | ||
+ | | colspan="2" | Sets all of the LEDs in the matrix to the off state. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===DisplayString=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 72: | Line 146: | ||
+ | ===Initialise=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | ||
+ | |- | ||
+ | | colspan="2" | Configures the I2C peripheral and sets up the HT16K33 IC ready to drive the LEDs. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===SetBrightness=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 90: | Line 179: | ||
+ | ===ShiftColumns=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 108: | Line 198: | ||
+ | ===WriteColumn=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
+ | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteColumn''' | ||
+ | |- | ||
+ | | colspan="2" | Allows a single column of 8 LEDs to be controlled in a single action. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Column | ||
+ | |- | ||
+ | | colspan="2" | Range: 0-15 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Data | ||
+ | |- | ||
+ | | colspan="2" | Data to display on the column of LEDs | ||
+ | |- | ||
+ | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
+ | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===WriteCommand=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteCommand''' |
+ | |- | ||
+ | | colspan="2" | Writes a command. | ||
+ | |- | ||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
+ | | width="90%" | Command | ||
|- | |- | ||
+ | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
Line 121: | Line 241: | ||
+ | ===WriteLED=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 149: | Line 270: | ||
+ | ===WriteLEDXY=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 177: | Line 299: | ||
+ | ===WriteRegister=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRegister''' |
+ | |- | ||
+ | | colspan="2" | Writes a value to a register. | ||
+ | |- | ||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE |
+ | | width="90%" | Address | ||
|- | |- | ||
+ | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
− | | width="90%" | | + | | width="90%" | Value |
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
Line 194: | Line 322: | ||
|} | |} | ||
+ | |||
+ | ==Property reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | width="10%" align="center" style="background-color:#D8C9D8; | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' |
|- | |- | ||
− | |||
|- | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Display Module | ||
|- | |- | ||
− | | | + | | colspan="2" | Selects the layout of the module you are controlling. Several modules are available in pre wired formats to provide an off the shelf LED matrix. |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] |
+ | | width="90%" | LED Count | ||
|- | |- | ||
− | | | + | | colspan="2" | Total number of LEDs in the component |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
+ | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections | ||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | width="10% | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
− | | width="90% | + | | width="90%" | Slave Address |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Sets the software device slave address. Must be configured to match the wiring of the three hardware address pins. |
|- | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Channel | ||
|- | |- | ||
− | | | + | | colspan="2" | Channel selection |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
+ | | width="90%" | Baud Select | ||
|- | |- | ||
− | | | + | | colspan="2" | Baud rate option selector |
− | |||
|- | |- | ||
− | | | + | | width="10%" align="center" | [[File:Fc9-type-14-icon.png]] |
+ | | width="90%" | Baud Rate | ||
|- | |- | ||
− | | | + | | colspan="2" | Baud rate to be used |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | width="10% | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] |
− | | width="90% | + | | width="90%" | Stop Delay |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications. |
|- | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | ||
+ | | width="90%" | SDA | ||
|- | |- | ||
− | | | + | | colspan="2" | Pin used for SDA (data signal) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | width="10%" align="center | + | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]] |
− | | width="90% | + | | width="90%" | SCL |
|- | |- | ||
+ | | colspan="2" | Pin used for SCL (clock signal) | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
− | | width="90%" | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Colours |
− | |||
− | |||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | ||
Line 293: | Line 403: | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | ||
+ | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Simulation Type | ||
+ | |- | ||
+ | | colspan="2" | Sets the simulation type. Component GUI allows the object on the panel to reflect what the reakl life LED matrix should do. I2C Injector allows the I2C communications to be simulated via injectors. | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | ||
+ | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | GUI | ||
+ | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
Line 323: | Line 446: | ||
|- | |- | ||
| colspan="2" | Simulated LED basic shape | | colspan="2" | Simulated LED basic shape | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | |||
+ | ==Component Source Code== | ||
+ | |||
+ | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LED_Matrix_HT16K33.fcfx FC_Comp_Source_LED_Matrix_HT16K33.fcfx] | ||
+ | |||
+ | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LED_Matrix_HT16K33.fcfx FC_Comp_Source_LED_Matrix_HT16K33.fcfx] |
Latest revision as of 08:59, 9 June 2025
Author | Matrix Ltd |
Version | 2.0 |
Category | LEDs |
Contents
LED Matrix component
LED Matrix component designed to work using a HT16K33 LED driver IC. Can drive up to 16 x 8 (128) LEDs. Includes support for 8x16 Backpack, 16x8 Featherwing, 8x8 Backpack and Custom.
Version information
Library Version, Component Version, Date, Author, Info
Detailed description
No detailed description exists yet for this component
Examples
Example to display a bitmap image on the LED matrix using the Bitmap Drawer component.
Macro reference
ChangeAddress
ClearLEDs
![]() |
ClearLEDs |
Sets all of the LEDs in the matrix to the off state. | |
![]() |
Return |
DisplayString
Initialise
![]() |
Initialise |
Configures the I2C peripheral and sets up the HT16K33 IC ready to drive the LEDs. | |
![]() |
Return |
SetBrightness
![]() |
SetBrightness |
Configures the brightness of the LEDs by varying the On portion of the duty. | |
![]() |
Brightness |
Range: 0-15 - 0 = Min Brightness, 15 = Full Brightness | |
![]() |
Return |
ShiftColumns
![]() |
ShiftColumns |
Shifts the columns one place left or right. Used for things like displaying scrolling text. | |
![]() |
Direction |
0 = Shift Left, 1 = Shift Right | |
![]() |
Return |
WriteColumn
![]() |
WriteColumn |
Allows a single column of 8 LEDs to be controlled in a single action. | |
![]() |
Column |
Range: 0-15 | |
![]() |
Data |
Data to display on the column of LEDs | |
![]() |
Return |
WriteCommand
![]() |
WriteCommand |
Writes a command. | |
![]() |
Command |
![]() |
Return |
WriteLED
WriteLEDXY
WriteRegister
![]() |
WriteRegister |
Writes a value to a register. | |
![]() |
Address |
![]() |
Value |
![]() |
Return |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LED_Matrix_HT16K33.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LED_Matrix_HT16K33.fcfx