Blog > Tutorials > Uno R3 control LCD1602 display
Uno R3 control LCD1602 display


2017-01-18 16:53:37




Uno R3 control LCD1602 display


Today we will learn how to use a character display device - LCD1602 on the Arduino platform. We first make the LCD1602 display a string "Hello Geeks!" scrolling and then "Adeept and “” statically.


- 1 * Adeept UNO R3 Board

- 1 * USB Cable

- 1 * LCD1602 Module

- 1 * 10kΩ Potentiometer

- 1 * Breadboard

- Several jumper wires


LCD1602 is a kind of character LCD display. The LCD has a parallel interface, meaning that the microcontroller has to manipulate several interface pins at once to control the display. The interface consists of the following pins:

● A register select (RS) pin that controls where in the LCD's memory you're writing data to. You can select either the data register, which holds what goes on the screen or an instruction register, which is where the LCD's controller looks for instructions on what to do next.

● A Read/Write (R/W) pin that selects reading mode or writing mode

● An Enable pin that enables writing to the registers

● 8 data pins (D0-D7). The state of these pins (high or low) is the bits that you're writing to a register when you write or the values when you read.

● There are also a display contrast pin (Vo), power supply pins (+5V and Gnd and LED Backlight (Bklt and BKlt-) pins that you can use to power the LCD, control the display contrast and turn on or off the LED backlight respectively.

The process of controlling the display involves putting the data that form the image of what you want to display into the data registers, then putting instructions in the instruction register. The LiquidCrystal Library simplifies this for you so you don't need to know the low-level instructions.

The Hitachi-compatible LCDs can be controlled in two modes: 4-bit or 8-bit. The 4-bit mode requires seven I/O pins from the Arduino, while the 8-bit mode requires 11 pins. For displaying text on the screen, you can do most everything in 4-bit mode, so example shows how to control a 2x16 LCD in 4-bit mode.

A potentiometer , informally a pot, is a three-terminal resistor with a sliding or rotating contact that forms an adjustable voltage divider. If only two terminals are used, one end and the wiper, it acts as a variable resistor or rheostat.


Step 1: Pin should be welded to the LCD1602

For detailed soldering steps,please refer to our recorded video:

Step 2: Build the circuit

Step 3: Program

File name: AdeeptLCD1602.ino
Description: LCD1602 display a string "Hello Geeks!" scrolling,
             then display “Adeept and “” static.
Author: Tom
Date: 2017/01/18 


char array1[]="     Adeept     ";                //the string to print on the LCD
char array2[]="  hello geeks!                ";  //the string to print on the LCD
char array3[]=" ";                //the string to print on the LCD

int tim = 250;  //the value of delay time

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(4, 6, 10, 11, 12, 13);

void setup()
  lcd.begin(16, 2);  // set up the LCD's number of columns and rows: 

void loop() 
    lcd.clear();  //Clears the LCD screen and positions the cursor in the upper-left corner
    lcd.setCursor(15,0);                   // set the cursor to column 15, line 1
    for (int positionCounter2 = 0; positionCounter2 < 30; positionCounter2++) { lcd.scrollDisplayLeft(); //Scrolls the contents of the display one space to the left. lcd.print(array2[positionCounter2]); // Print a message to the LCD. delay(tim); //wait for 250 microseconds } lcd.clear(); //Clears the LCD screen and positions the cursor in the upper-left corner. lcd.setCursor(0,0); // set the cursor to column 15, line 0 for (int positionCounter1 = 0; positionCounter1 < 16; positionCounter1++) { lcd.print(array1[positionCounter1]); // Print a message to the LCD. delay(tim); //wait for 250 microseconds } lcd.setCursor(0,1); // set the cursor to column 15, line 1 for (int positionCounter3 = 0; positionCounter3 < 16; positionCounter3++) { lcd.print(array3[positionCounter3]); // Print a message to the LCD. delay(tim); //wait for 250 microseconds } } 

Step 4: Compile the program and upload to Adeept UNO R3 board

Now, you can see the string "Hello Geeks!" shown on the LCD1602 scrolling and then the string "Adeept and "" displayed statically.

Download Link of Related Materials: Adeept Lcd1602 For UNO R3

Last article : How to install and use Geany IDE in the Raspberry Pi or Ubuntu?
Next article : Commissioning ESP8266 with a modified UNO



  Related Products
  Related Blogs
Copyright © 2016 All Rights Reserved.