||| ArdSimX Articles/Guides Project Archive SimVim Panel Baron-58 sim Forum

LCD Displays

With Arduino you can control several simple text or graphic LCD screens without using any additional shields.

One of the simple text LCDs is a well-known 16-char x2/4-line LCD screen of 1602/1604 type. For interfacing with this LCD you need the appropriate library to be included in your sketch.

Typically, this 1602/1604 screen is equipped with a parallel interface controller. To control it you can use the "LiquidCrystal" library. You will need at least 6 free Arduino pins to connect LCD with parallel interface.

Also, with an additional I2C controller board you can easily interface this LCD with just two wires. To control it you can use the "LiquidCrystal_I2C.h" library.

There is currently no direct support for LCD screens in ArdSimX (the main reason being the variety of how you want to display your data), but it's not really needed, as implementing LCDs in your cockpit using custom code isn't hard, as described further (especially with I2C).

Parallel 1602 LCD screen connection
This example shows how you can wire an Arduino Mega/Uno with Ethernet Shield used and Uno without Ethernet shield to an 16×2 4-bit LCD screen. To use the LCD library you need to define a LiquidCrystal variable with numbers of pins used:

Wiring is simple, just take care about +5v power/GND and use a couple of potentiometers - one (0-1k) for backlit, another (10k) - for brightness/contrast.

Wiring diagrams for Arduino Mega with Ethernet Shield (ArdSim LAN connection is used) and diagram for Arduino Uno without Ethernet Shield (ArdSim USB or I2C Out used):

LiquidCrystal Screen ( 5,  NULL,  6,  7,  8,  9,  11) ;   							   LiquidCrystal Screen ( 5,  NULL,  6,  7,  8,  9,  10) ;   

I2C 1602 LCD screen connection

To convert your "standard" LCD display with parallel interface you can buy the I2C module for it and solder this module to the LCD board:

These diagrams show how you can wire an Arduino Mega and Uno to a 16×2 4-bit LCD. To use the LCD with I2C module you can use this LiquidCrystal_I2C library (download it here):

LiquidCrystal_I2C lcd ( 0x27, 16, 2 );   // i2c address 0x27
Wiring diagram for Arduino Mega (ArdSim LAN or USB used):

Examples of LCD output using ArdSim library

Parallel connection, RPM output demonstration:

I2C connection, Nav1/Nav2_stb and Nav2/Nav2_stb output demonstration (blue backlit screen with red glass cover):

© Copyright 2012 - Vlad Sychev