Component: LCD (Adafruit, 16x2) (Alphanumeric): Difference between revisions
Appearance
Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix Ltd |- | width="20%" style="color:gray;" | Version | 1.8 |- | width="20%" style="color:gray..." |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (18 intermediate revisions by 3 users not shown) | |||
| Line 15: | Line 15: | ||
Adafruit OLED LCD display capable of displaying 2 lines of 16 characters. | Adafruit OLED LCD display capable of displaying 2 lines of 16 characters. | ||
==Component | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_LCD_Adafruit_OLED.fcfx FC_Comp_Source_LCD_Adafruit_OLED.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_LCD_Adafruit_OLED.fcfx FC_Comp_Source_LCD_Adafruit_OLED.fcfx] | |||
==Detailed description== | ==Detailed description== | ||
''No detailed description exists yet for this component'' | ''No detailed description exists yet for this component'' | ||
| Line 26: | Line 42: | ||
{| class="wikitable | |||
===Connections=== | |||
For the LCDs to work with the Flowcode LCD component they need to be connected up in 4-bit data mode. | |||
The 4 data signals actually go to the upper data nibble on the LCD as shown below. | |||
[[File:LCDConns.jpg]] | |||
A simple example that shows how to use some common functions. | |||
{{Fcfile|Adafruit LCD Example.fcfx|Adafruit LCD Example}} | |||
==Macro reference== | |||
===Clear=== | |||
{| 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 44: | Line 99: | ||
{| class="wikitable | ===ClearLine=== | ||
{| 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" | Clears a single line on the display before moving the cursor back to the start of the line to allow new data to be displayed. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Line | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 62: | Line 118: | ||
{| class="wikitable | ===Command=== | ||
{| 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" | | | 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. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | instruction | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Send a defined command to the LCD Screen. See datasheet for supported commands. | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 80: | Line 137: | ||
{| class="wikitable" | ===Cursor=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Cursor''' | |||
|- | |||
| colspan="2" | Moves the cursor on the LCD Display | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | x | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | y | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 98: | Line 161: | ||
{| class="wikitable | ===PrintAscii=== | ||
{| 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" | | | colspan="2" | Takes the ascii value for a character and prints the character | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | character | ||
|- | |||
| colspan="2" | Holds an ascii value. | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===PrintFloat=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''PrintFloat''' | |||
|- | |||
| colspan="2" | Print a Float number rounded up to a specified amount of decimal places. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT | |||
| width="90%" | Number | |||
|- | |- | ||
| colspan="2" | | | colspan="2" | Enter the number or variable to print to the LCD | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | DecimalPlaces | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Enter how many decimal places to round up to (1 - 6) | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===PrintFormattedNumber=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| 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 | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | ||
| width="90%" | | | width="90%" | Number | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Enter the number or variable to print to the LCD | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | ||
| width="90%" | | | width="90%" | Format | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 0=Signed, 1=Unsigned | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===PrintNumber=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| 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 | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT | ||
| width="90%" | | | width="90%" | Number | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 156: | Line 247: | ||
{| class="wikitable | ===PrintString=== | ||
{| 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" | Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING | ||
| width="90%" | | | width="90%" | Text | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
| Line 174: | Line 266: | ||
{| class="wikitable" | ===RAMWrite=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| 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 | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Index | |||
|- | |||
| colspan="2" | Values 0 to 7 | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | d0 | |||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
| colspan="2" | | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | d1 | |||
|- | |||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | d2 | |||
|- | |||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | d3 | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | d4 | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | d5 | ||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | d6 | |||
|- | |- | ||
| colspan="2" | | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | d7 | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 215: | Line 325: | ||
{| class="wikitable | ===ScrollDisplay=== | ||
{| 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 238: | Line 349: | ||
{| class="wikitable | ===Start=== | ||
{| 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 when complete. | | colspan="2" | Startup routine required by the hardware device. Automatically clears the display when complete. | ||
| Line 249: | Line 361: | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
==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%" class="mtx-class-propfolder" | Connections | |||
| width="90%" | |||
|- | |- | ||
|- | |- | ||
| Line 330: | Line 410: | ||
| colspan="2" | Enable pin, used to clock data in and out of the device. | | colspan="2" | Enable pin, used to clock data in and out of the device. | ||
|- | |- | ||
| 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 | ||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Rows | |||
|- | |||
| colspan="2" | Number of lines of characters the LCD can display. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Columns | |||
|- | |||
| colspan="2" | Number of characters the LCD can display on a single line. | |||
|- | |||
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" class="mtx-class-propfolder" | Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Component Label | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | |||
| width="90%" | Component Label Scale | |||
|- | |||
| colspan="2" | The label scale can be change if the amout of text is too wide for the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Text Colour | |||
|- | |||
| colspan="2" | Colour of the font characters drawn on the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Text Background | |||
|- | |||
| colspan="2" | Colour surrounding the font characters drawn on the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-1-icon.png]] | |||
| width="90%" | Display Background | |||
|- | |- | ||
| colspan="2" | Colour of the background of the display | |||
|} | |} | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix Ltd |
| Version | 1.8 |
| Category | Alphanumeric |
LCD (Adafruit, 16x2) component
Adafruit OLED LCD display capable of displaying 2 lines of 16 characters.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_LCD_Adafruit_OLED.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_LCD_Adafruit_OLED.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Connections
For the LCDs to work with the Flowcode LCD component they need to be connected up in 4-bit data mode.
The 4 data signals actually go to the upper data nibble on the LCD as shown below.
A simple example that shows how to use some common functions.
Macro reference
Clear
| Clear | |
| Clears the entire contents of the display. | |
| Return | |
ClearLine
| ClearLine | |
| Clears a single line on the display before moving the cursor back to the start of the line to allow new data to be displayed. | |
| 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 | |
| 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 | |
| Return | |
PrintString
| PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Return | |
RAMWrite
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 when complete. | |
| Return | |
