Panel Cookies

16x2 LCD
page 1/1

16x2 LCD parallel control Arduino

Help me by sharing this post

This is a very short example. How to wire up an 16x2 LCD to the arduino and display text, numbers and some special cahracters. This is used without any external driver. Below you have the schematic you need and an example code. Read the comments in the code for more or leave a question below.

16x2 LCD Arduino example

PART 1 - Schematic

Ok, make the paralel connections from the Arduino to the LCD as below. Add a 10k potentiometer in order to be able to set the contrast of the LCD: Also a small 220 resistor to limit the current fot the backlight LED. The rest of the pins are the parallel data and the wr/re pins.

scheamtic Arduino 16x2 LCD

PART 2 - Example CODE

First of all, you need the liquid crystral library in order to work. For that, go below and downlaod that library. It will be a .zip file. Open Arduino IDE and go to sketch, include library, add .zip library and select the downlaoded file. Now the library is installed. You could downlaod the example code or just copy/paste it from below.

Download liquid crystal library:
Download the example code:

/*  LiquidCrystal Library - display() and noDisplay()
 LiquidCrystal library:

// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int i = 0;

void setup() {
  // set up the LCD's number of columns and rows, in this case 16 columns and 2 rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("  ELECTRONOOBS  ");  

void loop() {
  lcd.clear();                    //Clean the display
  lcd.print("  ELECTRONOOBS  ");  //Print ELECTRONOOBS
  lcd.noDisplay();                //Turn off the display
  delay(500);                     //delay of 0.5s 
  lcd.display();                  // Turn on the display

  //Loop to print an "X" on each character position of first row of the LCD
  while(i < 16)
    i = i + 1;
  i = 0;

  //Loop to print an "X" on each character position of second row of the LCD
  while(i < 16)
    i = i + 1;
  i = 0;
  lcd.setCursor(3,0);               //Start on position column 3 and row 0 
  lcd.print("1234567890   ");       //Print the numbers
  lcd.setCursor(3,1);               //Start on position column 3 and row 1 
  lcd.print("0987654321   ");

  lcd.setCursor(0,0);               //Start on position column 0 and row 0 
  lcd.print("   !$%&/()=?!   ");
  lcd.setCursor(0,1);               //Start on position column 0 and row 0 
  lcd.print("   |@#~!$%&/%   ");


Next tutorial →
More tutorials ←

Help me by sharing this post


PCBWAY PCB service

Curso Arduino Online nivel Intermedio