Component: LCD I2C (LCM1602) (Alphanumeric): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/ | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LCD_I2C_LCM1602.fcfx FC_Comp_Source_LCD_I2C_LCM1602.fcfx] | ||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/ | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LCD_I2C_LCM1602.fcfx FC_Comp_Source_LCD_I2C_LCM1602.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
| Line 73: | Line 73: | ||
''<span style="color:red;">No additional examples</span>'' | ''<span style="color:red;">No additional examples</span>'' | ||
| Line 86: | Line 88: | ||
===Backlight=== | ===Backlight=== | ||
{| 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" | '''Backlight''' | ||
|- | |- | ||
| colspan="2" | Controls the backlight on the display module | | colspan="2" | Controls the backlight on the display module | ||
| Line 105: | Line 107: | ||
===Clear=== | ===Clear=== | ||
{| 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" | '''Clear''' | ||
|- | |- | ||
| colspan="2" | Clears the entire contents of the display. | | colspan="2" | Clears the entire contents of the display. | ||
| Line 119: | Line 121: | ||
===ClearLine=== | ===ClearLine=== | ||
{| 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" | '''ClearLine''' | ||
|- | |- | ||
| colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. | | colspan="2" | Clears a single line on the display and then moves the cursor to the start of the line to allow you to start populating the line with data. | ||
| Line 138: | Line 140: | ||
===Command=== | ===Command=== | ||
{| 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" | '''Command''' | ||
|- | |- | ||
| colspan="2" | Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet. | | colspan="2" | Use this method/macro to send a specific command to the LCD. Refer to the Matrix Multimedia EB006 datasheet for a list of supported instructions. For Non-Matrix LCD's refer to the manufacturers datasheet. | ||
| Line 157: | Line 159: | ||
===Cursor=== | ===Cursor=== | ||
{| 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" | '''Cursor''' | ||
|- | |- | ||
| colspan="2" | Moves the cursor on the LCD Display | | colspan="2" | Moves the cursor on the LCD Display | ||
| Line 181: | Line 183: | ||
===PrintAscii=== | ===PrintAscii=== | ||
{| 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" | '''PrintAscii''' | ||
|- | |- | ||
| colspan="2" | Takes the ascii value for a character and prints the character | | colspan="2" | Takes the ascii value for a character and prints the character | ||
| Line 200: | Line 202: | ||
===PrintFloat=== | ===PrintFloat=== | ||
{| 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" | '''PrintFloat''' | ||
|- | |- | ||
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places. | | colspan="2" | Print a Float number rounded up to a specified amount of decimal places. | ||
| Line 224: | Line 226: | ||
===PrintFormattedNumber=== | ===PrintFormattedNumber=== | ||
{| 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" | '''PrintFormattedNumber''' | ||
|- | |- | ||
| colspan="2" | Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295 | | colspan="2" | Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295 | ||
| Line 248: | Line 250: | ||
===PrintNumber=== | ===PrintNumber=== | ||
{| 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" | '''PrintNumber''' | ||
|- | |- | ||
| colspan="2" | Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | | colspan="2" | Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | ||
| Line 267: | Line 269: | ||
===PrintString=== | ===PrintString=== | ||
{| 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" | '''PrintString''' | ||
|- | |- | ||
| colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | | colspan="2" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | ||
| Line 286: | Line 288: | ||
===RAMWrite=== | ===RAMWrite=== | ||
{| 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" | '''RAMWrite''' | ||
|- | |- | ||
| colspan="2" | Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory | | colspan="2" | Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory | ||
| Line 345: | Line 347: | ||
===RawSend=== | ===RawSend=== | ||
{| 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" | '''RawSend''' | ||
|- | |- | ||
| colspan="2" | Sends data to the LCD display | | colspan="2" | Sends data to the LCD display | ||
| Line 369: | Line 371: | ||
===RemapCharacter=== | ===RemapCharacter=== | ||
{| 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" | '''RemapCharacter''' | ||
|- | |- | ||
| colspan="2" | Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. | | colspan="2" | Assigns a remap character allowing the PrintString function to automatically swap between pre-defined characters. The characters can be custom (in the range 0-9) or can point to an existing character in the LCD character map. | ||
| Line 398: | Line 400: | ||
===ScrollDisplay=== | ===ScrollDisplay=== | ||
{| 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" | '''ScrollDisplay''' | ||
|- | |- | ||
| colspan="2" | Scrolls the display left or right by a number of given positions. | | colspan="2" | Scrolls the display left or right by a number of given positions. | ||
| Line 422: | Line 424: | ||
===Start=== | ===Start=== | ||
{| 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" | '''Start''' | ||
|- | |- | ||
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising. | | colspan="2" | Startup routine required by the hardware device. Automatically clears the display after initialising. | ||
| Line 437: | Line 439: | ||
==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" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 482: | Line 484: | ||
| 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. | | 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" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Display Settings | ||
|- | |- | ||
|- | |- | ||
| Line 526: | Line 528: | ||
| colspan="2" | Font to use for simulation, the actual hardware will have a inbuilt fixed font. | | colspan="2" | Font to use for simulation, the actual hardware will have a inbuilt fixed font. | ||
|- | |- | ||
| 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" | Simulation | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd |
| Version | 1.0 |
| Category | Alphanumeric |
LCD I2C (LCM1602) component
Generic alphanumeric LCD display based on the standard Hitachi HD44780 controller IC. Connected using an I2C based PCF8574 IO Expander IC.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LCD_I2C_LCM1602.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LCD_I2C_LCM1602.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
Backlight
| Backlight | |
| Controls the backlight on the display module | |
| Mode | |
| 0 = Backlight Off / 1 = Backlight On | |
| Return | |
Clear
| Clear | |
| Clears the entire contents of the display. | |
| Return | |
ClearLine
Command
Cursor
PrintAscii
| PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Holds an ascii value. | |
| Return | |
PrintFloat
PrintFormattedNumber
PrintNumber
| PrintNumber | |
| Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Enter the number or variable to print to the LCD | |
| Return | |
PrintString
| PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Enter the text or variable to print to the LCD | |
| Return | |
RAMWrite
RawSend
| RawSend | |
| Sends data to the LCD display | |
| data | |
| The data byte to send to the LCD | |
| type | |
| A boolean to indicate command type: true to write data, false to write a command | |
| Return | |
RemapCharacter
ScrollDisplay
| ScrollDisplay | |
| Scrolls the display left or right by a number of given positions. | |
| Position | |
| Holds the number of positions to shift the display | |
| Direction | |
| 0 = left, 1 = right | |
| Return | |
Start
| Start | |
| Startup routine required by the hardware device. Automatically clears the display after initialising. | |
| Return | |