How to do connections of 16 x 2 LCD Display

 

LCD (Liquid Crystal Display)


LCD (Liquid Crystal Display) is a type of flat panel display which uses liquid crystals in its primary form of operation. LEDs have a large and varying set of use cases for consumers and businesses, as they can be commonly found in smartphones, televisions, computer monitors and instrument panels.

 

Principle of LCD

A liquid crystal display (LCD) has liquid crystal material sandwiched between two sheets of glass. Without any voltage applied between transparent electrodes, liquid crystal molecules are aligned in parallel with the glass surface.


What is the LCD 16×2?

The term LCD stands for liquid crystal display. It is one kind of electronic display module used in an extensive range of applications like various circuits & devices like mobile phones, calculators, computers, TV sets, etc. These displays are mainly preferred for multi-segment light-emitting diodes and seven segments. The main benefits of using this module are inexpensive; simply programmable, animations, and there are no limitations for displaying custom characters, special and even animations, etc.

LCD 16×2 Pin Diagram

The 16×2 LCD pinout is shown below.

  • Pin1 (Ground/Source Pin): This is a GND pin of display, used to connect the GND terminal of the microcontroller unit or power source.
  • Pin2 (VCC/Source Pin): This is the voltage supply pin of the display, used to connect the supply pin of the power source.
  • Pin3 (V0/VEE/Control Pin): This pin regulates the difference of the display, used to connect a changeable POT that can supply 0 to 5V.
  • Pin4 (Register Select/Control Pin): This pin toggles among command or data register, used to connect a microcontroller unit pin and obtains either 0 or 1(0 = data mode, and 1 = command mode).
  • Pin5 (Read/Write/Control Pin): This pin toggles the display among the read or writes operation, and it is connected to a microcontroller unit pin to get either 0 or 1 (0 = Write Operation, and 1 = Read Operation).
  • Pin 6 (Enable/Control Pin): This pin should be held high to execute Read/Write process, and it is connected to the microcontroller unit & constantly held high.
  • Pins 7-14 (Data Pins): These pins are used to send data to the display. These pins are connected in two-wire modes like 4-wire mode and 8-wire mode. In 4-wire mode, only four pins are connected to the microcontroller unit like 0 to 3, whereas in 8-wire mode, 8-pins are connected to microcontroller unit like 0 to 7.
  • Pin15 (+ve pin of the LED): This pin is connected to +5V
  • Pin 16 (-ve pin of the LED): This pin is connected to GND.      
 

 
In this blog I'll show you How to do 16 x 2 LCD display connections.

Many of you don't know How to connect 16 x 2 LCD.

So, I am going to show you How you can connect 16 x 2 LCD display easily.

 


 

Below is my YouTube channel link, visit to see more exciting projects.


https://studio.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g


Video :-

 


 

 

If you want to buy components, visit Amazon India Affiliate Links:-

 

Parts List:-

1. Arduino Uno : https://amzn.to/3fxA4JZ
 
2. LCD Display : https://amzn.to/3AH4kJQ
 
3. Jumper wires : https://amzn.to/2WmLSI2


Circuit of this project:-

 


Code of this Project:-

 

/*

  LiquidCrystal Library - Custom Characters


 Demonstrates how to add custom characters on an LCD  display.

 The LiquidCrystal library works with all LCD displays that are

 compatible with the  Hitachi HD44780 driver. There are many of

 them out there, and you can usually tell them by the 16-pin interface.


 This sketch prints "I <heart> Arduino!" and a little dancing man

 to the LCD.


  The circuit:

 * LCD RS pin to digital pin 12

 * LCD Enable pin to digital pin 11

 * LCD D4 pin to digital pin 5

 * LCD D5 pin to digital pin 4

 * LCD D6 pin to digital pin 3

 * LCD D7 pin to digital pin 2

 * LCD R/W pin to ground

 * 10K potentiometer:

 * ends to +5V and ground

 * wiper to LCD VO pin (pin 3)

 * 10K poterntiometer on pin A0


 created 21 Mar 2011

 by Tom Igoe

 modified 11 Nov 2013

 by Scott Fitzgerald

 modified 7 Nov 2016

 by Arturo Guadalupi


 Based on Adafruit's example at

 https://github.com/adafruit/SPI_VFD/blob/master/examples/createChar/createChar.pde


 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystalCustomCharacter


 Also useful:

 http://icontexto.com/charactercreator/


*/


// 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);


// make some custom characters:

byte heart[8] = {

  0b00000,

  0b01010,

  0b11111,

  0b11111,

  0b11111,

  0b01110,

  0b00100,

  0b00000

};


byte smiley[8] = {

  0b00000,

  0b00000,

  0b01010,

  0b00000,

  0b00000,

  0b10001,

  0b01110,

  0b00000

};


byte frownie[8] = {

  0b00000,

  0b00000,

  0b01010,

  0b00000,

  0b00000,

  0b00000,

  0b01110,

  0b10001

};


byte armsDown[8] = {

  0b00100,

  0b01010,

  0b00100,

  0b00100,

  0b01110,

  0b10101,

  0b00100,

  0b01010

};


byte armsUp[8] = {

  0b00100,

  0b01010,

  0b00100,

  0b10101,

  0b01110,

  0b00100,

  0b00100,

  0b01010

};


void setup() {

  // initialize LCD and set up the number of columns and rows:

  lcd.begin(16, 2);


  // create a new character

  lcd.createChar(0, heart);

  // create a new character

  lcd.createChar(1, smiley);

  // create a new character

  lcd.createChar(2, frownie);

  // create a new character

  lcd.createChar(3, armsDown);

  // create a new character

  lcd.createChar(4, armsUp);


  // set the cursor to the top left

  lcd.setCursor(0, 0);


  // Print a message to the lcd.

  lcd.print("I ");

  lcd.write(byte(0)); // when calling lcd.write() '0' must be cast as a byte

  lcd.print(" Arduino! ");

  lcd.write((byte)1);


}


void loop() {

  // read the potentiometer on A0:

  int sensorReading = analogRead(A0);

  // map the result to 200 - 1000:

  int delayTime = map(sensorReading, 0, 1023, 200, 1000);

  // set the cursor to the bottom row, 5th position:

  lcd.setCursor(4, 1);

  // draw the little man, arms down:

  lcd.write(3);

  delay(delayTime);

  lcd.setCursor(4, 1);

  // draw him arms up:

  lcd.write(4);

  delay(delayTime);

}

 
 

 

Post a Comment

0 Comments