Component: LCD (Adafruit, 16x2) (Alphanumeric): Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 16: | Line 16: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/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] | 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== | ||
| Line 32: | Line 36: | ||
==Examples== | ==Examples== | ||
| Line 58: | Line 64: | ||
==Macro reference== | ==Macro reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Clear''' | |||
|- | |||
| colspan="2" | Clears the entire contents of the display. | |||
|- | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintString''' | |||
|- | |||
| 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-string-icon.png]] - STRING | |||
| width="90%" | Text | |||
|- | |||
| colspan="2" | | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PrintAscii''' | |||
|- | |||
| colspan="2" | Takes the ascii value for a character and prints the character | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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-s16-icon.png]] - INT | |||
| width="90%" | Number | |||
|- | |||
| colspan="2" | | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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" | | |||
|- | |||
| 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="90%" | d3 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | d4 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| 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="90%" | d7 | |||
|- | |||
| colspan="2" | | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearLine''' | |||
|- | |||
| 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-u8-icon.png]] - BYTE | |||
| width="90%" | Line | |||
|- | |||
| colspan="2" | | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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-u8-icon.png]] - BYTE | |||
| width="90%" | y | |||
|- | |||
| colspan="2" | | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | instruction | |||
|- | |||
| 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="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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-u32-icon.png]] - ULONG | |||
| width="90%" | Number | |||
|- | |||
| colspan="2" | Enter the number or variable to print to the LCD | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL | |||
| width="90%" | Format | |||
|- | |||
| colspan="2" | 0=Signed, 1=Unsigned | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ScrollDisplay''' | |||
|- | |||
| colspan="2" | Scrolls the display left or right by a number of given positions. | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Position | |||
|- | |||
| colspan="2" | Holds the number of positions to shift the display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | direction | |||
|- | |||
| colspan="2" | 0 = left, 1 = right | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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" | Enter the number or variable to print to the LCD | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | DecimalPlaces | |||
|- | |||
| colspan="2" | Enter how many decimal places to round up to (1 - 6) | |||
|- | |||
| 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'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Start''' | |||
|- | |||
| colspan="2" | Startup routine required by the hardware device. Automatically clears the display when complete. | |||
|- | |||
|- | |||
| 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'' | |||
|} | |||
==Property reference== | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |||
|- | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 0 (11) | |||
|- | |||
| colspan="2" | Data pin 0 connects to data pin 4 on the hardware | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 1 (12) | |||
|- | |||
| colspan="2" | Data pin 1 connects to data pin 5 on the hardware | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 2 (13) | |||
|- | |||
| colspan="2" | Data pin 2 connects to data pin 6 on the hardware | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Data 3 (14) | |||
|- | |||
| colspan="2" | Data pin 3 connects to data pin 7 on the hardware | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Register Select (4) | |||
|- | |||
| colspan="2" | Register select pin, determines if the incoming value is a command or a data byte | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Read / Write (5) | |||
|- | |||
| colspan="2" | Read / Write pin determines the data direction | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Enable (6) | |||
|- | |||
| colspan="2" | Enable pin, used to clock data in and out of the device. | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | 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 | |||
|}==Macro reference== | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
Revision as of 15:22, 20 January 2023
| 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 | |
| Clears the entire contents of the display. | |
| Return | |
| PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Return | |
| PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Holds an ascii value. | |
| Return | |
| PrintNumber | |
| Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Return | |
| 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 | |
| Cursor | |
| Moves the cursor on the LCD Display | |
| x | |
| y | |
| Return | |
| 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 | |
| Startup routine required by the hardware device. Automatically clears the display when complete. | |
| Return | |
Property reference
==Macro reference==
| Clear | |
| Clears the entire contents of the display. | |
| Return | |
| PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Return | |
| PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Holds an ascii value. | |
| Return | |
| PrintNumber | |
| Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Return | |
| 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 | |
| Cursor | |
| Moves the cursor on the LCD Display | |
| x | |
| y | |
| Return | |
| 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 | |
| Startup routine required by the hardware device. Automatically clears the display when complete. | |
| Return | |
Property reference
==Macro reference==
| Clear | |
| Clears the entire contents of the display. | |
| Return | |
| PrintString | |
| Breaks down a string of text and sends it to the LCD via the private RawSend(byte, mask) macro | |
| Text | |
| Return | |
| PrintAscii | |
| Takes the ascii value for a character and prints the character | |
| character | |
| Holds an ascii value. | |
| Return | |
| PrintNumber | |
| Based on v5 macro, will allow you to print a number. This is limited to a signed-INT, -32768 to 32767 | |
| Number | |
| Return | |
| 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 | |
| Cursor | |
| Moves the cursor on the LCD Display | |
| x | |
| y | |
| Return | |
| 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 | |
| Startup routine required by the hardware device. Automatically clears the display when complete. | |
| Return | |
