Component: LCD I2C (Backpack) (Alphanumeric): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 103: | Line 103: | ||
===BacklightControl=== | ===BacklightControl=== | ||
{| 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" | '''BacklightControl''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 122: | Line 122: | ||
===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" | | | colspan="2" | | ||
| Line 136: | Line 136: | ||
===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" | | | colspan="2" | | ||
| Line 155: | Line 155: | ||
===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 174: | Line 174: | ||
===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 198: | Line 198: | ||
===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 217: | Line 217: | ||
===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 241: | Line 241: | ||
===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 265: | Line 265: | ||
===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" | Allows you to print a number. This is limited to a signed-INT, -32768 to 32767 | | colspan="2" | Allows you to print a number. This is limited to a signed-INT, -32768 to 32767 | ||
| Line 284: | Line 284: | ||
===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" | | | colspan="2" | | ||
| Line 303: | Line 303: | ||
===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 362: | Line 362: | ||
===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 386: | Line 386: | ||
===SetI2CAddress=== | ===SetI2CAddress=== | ||
{| 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" | '''SetI2CAddress''' | ||
|- | |- | ||
| colspan="2" | Allows the I2C device address to be dynamically changed in software without having to re-compile. Can be called before the first Start macro or at any point after. | | colspan="2" | Allows the I2C device address to be dynamically changed in software without having to re-compile. Can be called before the first Start macro or at any point after. | ||
| Line 405: | Line 405: | ||
===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. | | colspan="2" | Startup routine required by the hardware device. | ||
| Line 420: | Line 420: | ||
==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" | I2C Config | ||
|- | |- | ||
|- | |- | ||
| Line 455: | Line 455: | ||
| 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" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 469: | Line 469: | ||
| colspan="2" | Pin used for SCL (clock signal) | | colspan="2" | Pin used for SCL (clock signal) | ||
|- | |- | ||
| 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" | LCD Configuration | ||
|- | |- | ||
|- | |- | ||
| Line 488: | Line 488: | ||
| colspan="2" | Controls if the backlight is controlled as part of the main data routine or if it is handled separately. | | colspan="2" | Controls if the backlight is controlled as part of the main data routine or if it is handled separately. | ||
|- | |- | ||
| 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 | 2.2 |
| Category | Alphanumeric |
LCD I2C (Backpack) component
Standard alphanumeric LCD based on a standard I2C control bus. Usually using either a PIC device or Microchip IO expander IC.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LCD_I2C.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LCD_I2C.fcfx
Detailed description
No detailed description exists yet for this component
Examples
A simple example that shows how to use some common functions.
If the display is not showing the expected characters, the I2c address or contrast could be wrong.
It's best to keep the jumper connected since the backlight is enabled by default.
Using an Arduino Uno the correct I2C address can be determined by using an
IC2 Address Sniffer
The I2C address to use is the one within the first set of square brackets.
For example, with my backpack display, the correct address to use is 0x3F [63]:
The other two Addresses i.e. 0x56 [86] and 0x68 [104] is for my 24C32 EEPROM and DS3231 RTC respectively.
Note The I2c addresses scan will repeat every 5seconds.
The sniffer will send data to your PC via UART to USB.
The Arduino range and clones will have it built-in.
More details on I2C can be found here,
Matrix Flowcode Blog: Simplified communications I2C and SPI
Macro reference
BacklightControl
| BacklightControl | |
| State | |
| Return | |
Clear
| Clear | |
| Return | |
ClearLine
| ClearLine | |
| Line | |
| Return | |
Command
Cursor
| Cursor | |
| Moves the cursor on the LCD Display | |
| x | |
| y | |
| Return | |
PrintAscii
| PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Return | |
PrintFloat
PrintFormattedNumber
PrintNumber
| PrintNumber | |
| Allows you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Return | |
PrintString
| PrintString | |
| Text | |
| Return | |
RAMWrite
ScrollDisplay
| ScrollDisplay | |
| Scrolls the display left or right by a number of given positions. | |
| position | |
| direction | |
| Return | |
SetI2CAddress
Start
| Start | |
| Startup routine required by the hardware device. | |
| Return | |
