Difference between revisions of "Unit I2CLCD"

From Ultibo.org
Jump to: navigation, search
Line 24: Line 24:
 
----
 
----
  
''To be documented''
+
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''I2CLCD specific constants''' <code> I2CLCD_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>I2CLCD_CONSOLE_DESCRIPTION = 'Generic I2C LCD';</code>
 +
| style="width: 50%;"|Description of I2CLCD device
 +
|-
 +
| <code>I2CLCD_SIGNATURE = $00CF8574;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''I2CLCD GPIO''' <code> I2CLCD_PIN_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>I2CLCD_PIN_RS = GPIO_PIN_0;</code>
 +
| style="width: 50%;"|GPIO pin for the LCD RS line
 +
|-
 +
| <code>I2CLCD_PIN_RW = GPIO_PIN_1;</code>
 +
| GPIO pin for the LCD RW line
 +
|-
 +
| <code>I2CLCD_PIN_EN = GPIO_PIN_2;</code>
 +
| GPIO pin for the LCD EN line
 +
|-
 +
| <code>I2CLCD_PIN_BACKLIGHT = GPIO_PIN_3;</code>
 +
| GPIO pin for the LCD Backlight
 +
|-
 +
| <code>I2CLCD_PIN_D4 = GPIO_PIN_4;</code>
 +
| GPIO pin for the LCD D4 line
 +
|-
 +
| <code>I2CLCD_PIN_D5 = GPIO_PIN_5;</code>
 +
| GPIO pin for the LCD D5 line
 +
|-
 +
| <code>I2CLCD_PIN_D6 = GPIO_PIN_6;</code>
 +
| GPIO pin for the LCD D6 line
 +
|-
 +
| <code>I2CLCD_PIN_D7 = GPIO_PIN_7;</code>
 +
| GPIO pin for the LCD D7 line
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Type definitions ===
 
=== Type definitions ===

Revision as of 05:00, 19 June 2021

Return to Unit Reference


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 specific constants I2CLCD_*
I2CLCD_CONSOLE_DESCRIPTION = 'Generic I2C LCD'; Description of I2CLCD device
I2CLCD_SIGNATURE = $00CF8574;  


I2CLCD GPIO I2CLCD_PIN_*
I2CLCD_PIN_RS = GPIO_PIN_0; GPIO pin for the LCD RS line
I2CLCD_PIN_RW = GPIO_PIN_1; GPIO pin for the LCD RW line
I2CLCD_PIN_EN = GPIO_PIN_2; GPIO pin for the LCD EN line
I2CLCD_PIN_BACKLIGHT = GPIO_PIN_3; GPIO pin for the LCD Backlight
I2CLCD_PIN_D4 = GPIO_PIN_4; GPIO pin for the LCD D4 line
I2CLCD_PIN_D5 = GPIO_PIN_5; GPIO pin for the LCD D5 line
I2CLCD_PIN_D6 = GPIO_PIN_6; GPIO pin for the LCD D6 line
I2CLCD_PIN_D7 = GPIO_PIN_7; GPIO pin for the LCD D7 line


Type definitions


To be documented

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


To be documented


Return to Unit Reference