RealSimControl has native support of commonly used character LCDs with 4-bit parallel interface, such as 16x2, 16x4, 20x2, 24x2 and 40x2. No libraries are used, RealSimControl firmaware controls the LCD directly.
All standard ASCII Characters and a some of custom symbols can be used to display information on LCDs. Using online RealSimControl configurator you can easily assign any data to be displayed:
The RealSimControl LCD firmware for a separate slave board is included to the system as addition to old method (connecting displays to master board - see notes below). You need one Uno/Nano Arduino board with special RealSimControl LCD firmware onboard, that you should upload from the SimVimX plugin menu.
Separate, "slave" Uno or Nano board with "RealSimControl LCD" firmware for connecting up to 11 different size (L x H) character LCDs.
The board can be placed near to your LCD "stack" and linked with master board with 2-wire Serial interface (Rx/Tx #3 on the mastr board is used for communication). This allows to leave the master board bus for multiplexers addressing only, get more stable data flow for LCD, more control and configuration. Some pins on this LCD board are used as "power bus" to control LCDs backlight on/off on power loss or brightness
The wiring is quite simple - all signal wires (4+1) in this system are used in parallel for all connected displays, only one signal line for each display is used separatelly for every specific display.
Select the LCD slave board in the configurator right table, click on the free pin and assign needed LCD type.
Choose a parameter for LCD output in the configurator, then select an assigned display number and enter the line number and position for your data.
To output additional parameter value on the same display, you need to select second parameter, then select the same display output pin number, add parameter ("New Entry"), and then enter start position and line number.
You can configure LCD to display some custom text with the data value or as fixed text or text displayed by conditions.
You can select a "LED-type" parameter (annunciator) and configure it for LCD to display some custom text as annunciator.
These displays don't consume much power, so you can use +5v from the slave board. To be able to see something on the screen, you need to add contrast control to the input (V0) using a small potentiometer / trimpot (resistance can be from 1K to 10K Ohm) connected between +5V and GND:
On the other side of the LCD there are two inputs for the backlight LED ( +A - anode, -K - cathode). The "K" input connected to the common GND, and "A" - to the "+" of the power source, which can also be an additional power supply.
Although the backlight LEDs can consume quite much power, you can still connect the A input to the bus +5V instead of an external source. This is especially viable if you use a powerful source for +5v line in your system bus, not taken from the controller board +5 output. Use an additional resistor (50 - 100 Ohm) on the A input in this case.
Note 1 : We left the "direct" connection to the master board using the RealSimControl data bus (possibly only as temporary solution for some compatibility).
But, you can use only the pins with numbers 20,21 and 30-49 . So, if you have LCD connected to pins 2-13 and want to leave it connwcted to master board, you need to reconfigure it and connect to another pin.
You need to use only 5 signal lines and GND connected to the data bus and one signal line connected to the output pin assigned for this particular display (only pins with numbers 20,21 and 30-53 can be used!). Four address/data lines S0,S1,S2,S3 should be connected to 4 data inputs of every LCD - D4,D5,D6,D7. The "D" signal of the bus is connected to the "RS" (register select) input of the LCD.