Arduino – Programming the LCD 1602 with I2C Interface

Identify your I2C Port Addresses
Before attempting to program and I2C device with the Nano or UNO, use this I2C device scanner to find or confirm you I2C device HEX address
LCD 1602 I2C and the UNO/nano – Wiring Connections
LCD 1602 I2C Pin UNO Header GND - GND VCC - 5V SDA - A4 SCL - A5
LCD 1602 I2C Address
To select the 1602 LCD for your project use:
LiquidCrystal_I2C lcd(0x27,16,2);
This is the hardware address (0x27) and the size of the LCD, Positions (16) and Lines (2)
If you need to verify the hardware address of the 1602 LCD follow this link:
That utility will list all I2C devices, and their hardware addresses
Sketch for Writing information to the 1602 LCD I2C
#include <LiquidCrystal_I2C.h> //library for LCD
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
Serial.begin(9600);
lcd.init(); //initialize driver
lcd.begin(16,2); //16 by 2 character display
lcd.backlight(); //turn on backlight
Serial.println("setup complete");
}
void loop()
{
delay(1000); //wait a sec
lcd.clear(); //clear display
lcd.setCursor(0,0); //position 0 line 0
lcd.print("Hello World");
Serial.print("Hello World");// print to serial monitor
lcd.setCursor(0,1); // position 0 line 1
lcd.print("Goodbye World");// print to serial monitor
// rotate display lines to show sketch working
delay(5000); //wait a sec
lcd.clear(); //clear display
lcd.setCursor(0,1); //position 0 line 1
lcd.print("Hello World");
Serial.print("Hello World");// print to serial monitor
lcd.setCursor(0,0); // position 0 line 0
lcd.print("Goodbye World");// print to serial monitor
Arduino – Programming the LCD 1602 with I2C Interface
![]()
