Close

Connecting LCD to Arduino

A project log for Arduino LCD Temperature Controller

Display Temperature on LCD Using an Arduino

Timothy CoyleTimothy Coyle 06/30/2017 at 03:170 Comments

How I connected and programmed the LCD to Arduino Uno R3:

lcd arduino

As you can see from the picture above it can be a little messy to connect up the LCD module to the Arduino Uno board. I usually try to keep my wire colors coordinated so I know what are power, ground, and data but didn't have everything I needed this time around. Below is the circuit diagram which is easier to look at:

lcd arduino

LCD Sketch

The LCD module that I used was a 20x4 which means 20 characters per row and 4 rows. To display a message on the LCD display you need to put the message into the LCD display registers then put instructions in the LCD instruction register. This can be a little complicated but the Arduino has a built-in library to handle the low level interaction for you. The key is to use the right setup with the LiquidCrystal() function as described below from the Arduino website:

lcd arduino

Below is the Sketch for the Arduino Uno to send a message to the LCD:

//
//Date: 8/2/15
//Version: 1.0
//
//Comments:
//This sketch writes a message to a 20x4 character LCD display. 
//
// LCD Pinout Connection:
// RS Pin: Connect to digital input 2.
// Enable Pin: Connect to digital input 3.
// D4 Pin: Connect to digital input pin 4.
// D5 Pin: Connect to digital input pin 5.
// D6 Pin: Connect to digital input pin 6.
// D7 Pin: Connect to digital input pin 7.
// R/W Pin: Connect to Ground so in write mode which is logic low "0".
// Vo Pin: Connect to the 10K pot that is connected between power and ground.
// Arduino LCD Display Library
#include 

// Call the library with the right pin configuration
// In this sketch we are using: lcd(RS,EN,D4,D5,D6,D7) in 4 bit mode
LiquidCrystal lcd(2,3,4,5,6,7);

// The setup runs once when you press reset or power on the board
void setup() {
  // Setup the LCD display column and row
  // We are using a 20x4 display in this example
  lcd.begin(20, 4);
 
}

// Main code for Arduino goes in the loop function to be run over and over again
void loop() {
  lcd.setCursor(0, 0);  // set the start of the message to be first column first row
  lcd.print("Line 1");  // print a message to the LCD  
  lcd.setCursor(0, 1);  // set the cursor to print beginning of second line
  lcd.print("Line 2");  // print a message to the LCD
  lcd.setCursor(0,2);   // set the cursor to print beginning of third line
  lcd.print("Line 3");  // print a message to the LCD
  lcd.setCursor(0,3);   // set the cursor to print beginning of fourth line
  lcd.print("Line 4");  // print a message to the LCD
}

                            

Discussions