LCD character Display
A blurb about this page
Liquid crystal displays, LCD screens, are one of the most common ways for a gadget to speak to us. They come in many different shapes, sizes, colors and prices. It is a common and reliable technology. It is no surprise that the Arduino makes it super easy to connect to them with a build-in library that provides several capabilities, and several modes of operation.
In general, we can distinguish LCD screens in two categories: character and TFT screens.
Character screens are those that limit their display to show character icons only. You can write and manipulate characters in rows and columns. Here’s an example: [show LCD character screen image]. Their sizes (in terms of characters), vary, but most common are those with 2 lines, each fitting 16 characters, or the half one at 2 lines by 8 characters.
TFT LCD screens, on the other hand, provide you with an array of pixels on which you can draw whatever shape you like. You can draw text, of course, or circles, boxes, lines and triangles, so the information you display to the user can be a lot richer.
In this lecture I will show you how to use a
character LCD screen, and in a later lecture
we’ll look at the TFT screen.
Demo 1: quick start guide to the parallel LCD
In this first demo, I’ll show you how to connect an LCD screen to your Arduino. There are two ways to make this connection: parallel and serial.
With a parallel connection, we connect each of the screen’s data pins to an individual digital pin on the Arduino. The LCD screen I’ll be using is an 8-bit device, meaning that each message from the Arduino is made up of 8 bits. This LCD screen has one pin for each bit, so, this kind of connection will occupy 8
out of 13 digital pins on my Arduino Uno. Not much left to connect other devices,
Lucky enough, this LCD screen has a 4 bit mode. Using this mode, enables us to only connect 4 out of the 8 data pins. Communication will be a bit slower since
we will need to transmit the full 8 bits over two cycles, but the difference is hardly noticeable for most applications. I also mentioned a serial connection mode, right? Yes, with serial communication the LCD screen only needs one pin to be connected to the Arduino, and all 8 bits will be transmitted through that single pin. You need some additional hardware for this to work, so I am going to prepare a special lecture for this topic.
Let’s move ahead and have a look at the
In this schematic, the first pin from the left of the LCD is number one, and the last on the right is 16.
The green wires represent the 4 data lines. From the LCD screen, pins D4, D5, D6, D7, connect to Arduino digital pins 5, 4, 3, 2 respectively.
LCD pin 1 goes to ground, and pin 2 go to +5V. These two supply power to the display.
The potentiometer is used to control the contrast. Plug the middle pin of the potentiometer to LCD pin 3, and the other two to power and ground, as we have done in the past.
[Show assembly and sketch video]
A heading 3
Done with the basics? Looking for more advanced topics?
Arduino Step by Step Getting Serious is our comprehensive Arduino course for people ready to go to the next level.
Learn about Wifi, BLE and radio, motors (servo, DC and stepper motors with various controllers), LCD, OLED and TFT screens with buttons and touch interfaces, control large loads like relays and lights, and much much MUCH more.