Difference between revisions of "Unit I2CLCD"
Line 75: | Line 75: | ||
---- | ---- | ||
− | '' | + | |
+ | '''I2CLCD display''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PI2CLCDDisplay = ^TI2CLCDDisplay;</code> | ||
+ | |||
+ | <code>TI2CLCDDisplay = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Signature:LongWord;</code> | ||
+ | | style="width: 50%;"|Signature for entry validation | ||
+ | |- | ||
+ | | <code>Width:LongWord;</code> | ||
+ | | Width in columns of this display | ||
+ | |- | ||
+ | | <code>Height:LongWord;</code> | ||
+ | | Height in rows of this display | ||
+ | |- | ||
+ | | <code>I2C:PI2CDevice;</code> | ||
+ | | I2C device for this display | ||
+ | |- | ||
+ | | <code>GPIO:PGPIODevice;</code> | ||
+ | | GPIO (PCF8574) device for this display | ||
+ | |- | ||
+ | | <code>Console:PConsoleDevice;</code> | ||
+ | | Console (HD44780) device for this display | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Public variables === | === Public variables === |
Revision as of 06:18, 21 July 2021
Return to Unit Reference
Contents
[hide]Description
Generic I2C LCD Driver
Generic 16x2 or 20x4 LCD displays with an I2C interface are available from many suppliers and commonly include a Hitachi HD44780 LCD and NXP PCF8574 I/O expander to convert the I2C data into GPIO inputs for the display.
This unit combines the drivers for the HD44780 and PCF8574 to create a console device which can be used with the standard console and console window API.
Only text mode is supported as the HD44780 does not support setting individual pixels.
Some examples of generic displays that will work with the unit include the following:
https://www.amazon.com/SunFounder-Serial-Module-Display-Arduino/dp/B019K5X53O
https://www.auselectronicsdirect.com.au/2-x-16-lcd-display-module-with-i2c-interface-for-a
But you can find these units from many suppliers worldwide.
Constants
I2CLCD_*
I2CLCD_PIN_*
Type definitions
I2CLCD display
Public variables
I2CLCD specific variables
I2CLCD_AUTOSTART:LongBool = True;
|
If True then auto start the I2CLCD device on boot |
I2CLCD_I2C_ADDRESS:Word = $27;
|
I2CLCD_I2C_DEVICE:String = 'I2C0';
|
I2CLCD_LCD_WIDTH:LongWord = 16;
|
I2CLCD_LCD_HEIGHT:LongWord = 2;
|
Function declarations
Initialization functions
function I2CLCDStart(const Device:String; Address:Word; Width,Height:LongWord):THandle;
function I2CLCDStop(Handle:THandle):Boolean;
I2CLCD functions
function I2CLCDBacklightOn(Handle:THandle):Boolean;
function I2CLCDBacklightOff(Handle:THandle):Boolean;
Return to Unit Reference