Component: LCD I2C (Backpack) (Alphanumeric)

From Flowcode Help
Jump to navigationJump to search
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.

FC6 Icon.png Backpack LCD Example

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 FC6 Icon.png 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]:

Sniffer I2C backpack address.png

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

Fc9-comp-macro.png BacklightControl
 
Fc9-u8-icon.png - BYTE State
 
Fc9-void-icon.png - VOID Return


Clear

Fc9-comp-macro.png Clear
 
Fc9-void-icon.png - VOID Return


ClearLine

Fc9-comp-macro.png ClearLine
 
Fc9-u8-icon.png - BYTE Line
 
Fc9-void-icon.png - VOID Return


Command

Fc9-comp-macro.png Command
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. 
Fc9-u8-icon.png - BYTE instruction
 
Fc9-void-icon.png - VOID Return


Cursor

Fc9-comp-macro.png Cursor
Moves the cursor on the LCD Display 
Fc9-u8-icon.png - BYTE x
 
Fc9-u8-icon.png - BYTE y
 
Fc9-void-icon.png - VOID Return


PrintAscii

Fc9-comp-macro.png PrintAscii
Takes the ascii value for a character and prints the character 
Fc9-u8-icon.png - BYTE character
 
Fc9-void-icon.png - VOID Return


PrintFloat

Fc9-comp-macro.png PrintFloat
Print a Float number rounded up to a specified amount of decimal places. 
Fc9-f32-icon.png - FLOAT Number
Enter the number or variable to print to the LCD 
Fc9-u8-icon.png - BYTE DecimalPlaces
Enter how many decimal places to round up to (1 - 6) 
Fc9-void-icon.png - VOID Return


PrintFormattedNumber

Fc9-comp-macro.png PrintFormattedNumber
Will allow you to print a number up to 32-bits with signed or unsigned formatting. Signed = -2147483648 to 2147483647 Unsigned = 0 to 4294967295 
Fc9-u32-icon.png - ULONG Number
Enter the number or variable to print to the LCD 
Fc9-bool-icon.png - BOOL Format
0=Signed, 1=Unsigned 
Fc9-void-icon.png - VOID Return


PrintNumber

Fc9-comp-macro.png PrintNumber
Allows you to print a number. This is limited to a signed-INT, -32768 to 32767 
Fc9-s16-icon.png - INT Number
 
Fc9-void-icon.png - VOID Return


PrintString

Fc9-comp-macro.png PrintString
 
Fc9-string-icon.png - STRING Text
 
Fc9-void-icon.png - VOID Return


RAMWrite

Fc9-comp-macro.png RAMWrite
Modifies the internal memory of the LCD to allow for up to 8 customised characters to be created and stored in the device memory 
Fc9-u8-icon.png - BYTE Index
 
Fc9-u8-icon.png - BYTE d0
 
Fc9-u8-icon.png - BYTE d1
 
Fc9-u8-icon.png - BYTE d2
 
Fc9-u8-icon.png - BYTE d3
 
Fc9-u8-icon.png - BYTE d4
 
Fc9-u8-icon.png - BYTE d5
 
Fc9-u8-icon.png - BYTE d6
 
Fc9-u8-icon.png - BYTE d7
 
Fc9-void-icon.png - VOID Return


ScrollDisplay

Fc9-comp-macro.png ScrollDisplay
Scrolls the display left or right by a number of given positions. 
Fc9-u8-icon.png - BYTE position
 
Fc9-u8-icon.png - BYTE direction
 
Fc9-void-icon.png - VOID Return


SetI2CAddress

Fc9-comp-macro.png SetI2CAddress
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. 
Fc9-u8-icon.png - BYTE Address
New I2C Device Address excluding R/W bit - Range 0 - 127 
Fc9-void-icon.png - VOID Return


Start

Fc9-comp-macro.png Start
Startup routine required by the hardware device. 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png I2C Config
Fc9-type-21-icon.png LCD Address
 
Fc9-type-16-icon.png Channel
Channel selection 
Fc9-type-16-icon.png Baud Select
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
Baud rate to be used 
Fc9-type-7-icon.png Stop Delay
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.  
Fc9-conn-icon.png Connections
Fc9-type-5-icon.png SDA
Pin used for SDA (data signal) 
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-conn-icon.png LCD Configuration
Fc9-type-16-icon.png Rows
 
Fc9-type-16-icon.png Columns
 
Fc9-type-7-icon.png Use Backlight
Controls if the backlight is controlled as part of the main data routine or if it is handled separately. 
Fc9-conn-icon.png Simulation
Fc9-type-16-icon.png Component Label
 
Fc9-type-15-icon.png Component Label Scale
The label scale can be change if the amout of text is too wide for the display  
Fc9-type-1-icon.png Text Colour
Specifies the initial foreground color. 
Fc9-type-1-icon.png Text Background
Colour surrounding the font characters drawn on the display 
Fc9-type-1-icon.png Display Background
Colour of the background of the display 
Fc9-type-7-icon.png Simulate Comms
Allows the communications to be simulated via an injector component.