How to Connect I2C Lcd Display to Arduino Uno

167,399

60

27

Introduction: How to Connect I2C Lcd Display to Arduino Uno

About: HI! I am Junez Riyaz, currently doing Bachelor of Technology in the field of Electronics and Communication Engineering. I am much interested in inventing something new yet from my childhood. In my leisure time…

Hello Guys , In this Instructable you are going to see how to connect i2c lcd display to arduino and how to print on lcd display .

Before going to start this tutorial you must know a brief about i2c communication .

Each I2C bus consists of two signals: SCL and SDA. SCL is the clock signal, and SDA is the data signal. The clock signal is always generated by the current bus master; some slave devices may force the clock low at times to delay the master sending more data (or to require more time to prepare data before the master attempts to clock it out). This is called “clock stretching” and is described on the protocol page.

For more information visit Electronics Projects Hub

Now lets start this Instructable ..

Step 1: Components Required

Arduino Uno : https://goo.gl/TlOucU

I2C LCD Display : https://goo.gl/Fh6su4

Male to female jumpers - 4 : https://goo.gl/nsAkuw

Step 2: Circuiting

I2C Board of LCD Arduino

GND <---> GND

VCC <---> 5V

SDA <---> A4

SCL <---> A5

Step 3: Code

We must require to include two libraries ,in order to work the code attached .

Download the libraries from the attachment LCD library .

Basic functions we use in code

lcd.begin(16,2); //Defining 16 columns and 2 rows of lcd display

lcd.backlight(); //To Power ON /OFF the back light

lcd.setCursor(0,0); //Defining positon to write from first row,first column .

lcd.setCursor(0,1); //Defining positon to write from second row,first column .

lcd.print(" write here to print"); //You can write 16 Characters per line within quotations.

lcd.clear(); //Clean the screen

Step 4: Output

The outputs attached are done according to code attached above .

Step 5: Complete Video Tutorial

Don't forget subscribe my YouTube Channel

Check out my website Electronics Projects Hub

4 People Made This Project!

Recommendations

  • Battery Powered Contest

    Battery Powered Contest
  • Plywood Challenge

    Plywood Challenge
  • Plastic Contest

    Plastic Contest

27 Discussions

1
robert.reynolds1981
robert.reynolds1981

Question 5 months ago on Step 3

What is the purpose of declaring LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); if we are using pins A4 and A5? I know that 0x27 is the ic address but what is the rest for?

0
DanC292
DanC292

Answer 21 days ago

not sure if anyone is still interested but if you look in the LiquidCrystal_I2C.h file you will see the in comments for the initializer...
@param lcd_Addr[in] I2C address of the IO expansion module. For I2CLCDextraIO,
the address can be configured using the on board jumpers.
@param En[in] LCD En (Enable) pin connected to the IO extender module
@param Rw[in] LCD Rw (Read/write) pin connected to the IO extender module
@param Rs[in] LCD Rs (Reset) pin connected to the IO extender module
@param d4[in] LCD data 0 pin map on IO extender module
@param d5[in] LCD data 1 pin map on IO extender module
@param d6[in] LCD data 2 pin map on IO extender module
@param d7[in] LCD data 3 pin map on IO extender module

there is a bit more but i'll leave that for you to look into. in a more sophisticated IDE you normally can right click to a sub menu that will take you to the definition. it's a great way to help you get a deeper understanding of how things work.

0
GerardM51
GerardM51

Answer 5 months ago

Hi Robert did you manage to get an answer for this? I know that POSITIVE is used to turn on the backlight but mine wont illuminate. frustrating

0
whitewolf81
whitewolf81

Reply 4 months ago

No I never got an answer. Mine works with the code, I am just trying to get a little background on it.

0
EvanMaksud
EvanMaksud

Reply 2 months ago

same here! plus idont know how to turn backlight off .plus i m not a pro. triple trouble :(

0
GerardM51
GerardM51

Question 5 months ago on Step 2

Hi There. I uploaded the code onto my arduino LCD screen however the backlight will not illuminate and I can barely see the text. any suggestions?

0
EvanMaksud
EvanMaksud

Answer 2 months ago

try rotating the potmeter?

0
PKMAST
PKMAST

Question 1 year ago

Hello Guys,
I am getting a error while i m going to add zip file of lcd library error id this zip file does not contains a valid library please help me to resolve this issue as soon as possible.....

0
lemon p
lemon p

Answer 7 months ago

you should extract the zip file and click on it.
it would have two different zip file inside it
lastly, add both zip files into your library

0
SongOfSickness
SongOfSickness

1 year ago

Hey guys. My LCD works fine using the above instructions (when replacing the existing LCD library in the Arduino directory) but I can't get the backlight to ever switch off. Suggestions?

0
saltpiefarm
saltpiefarm

Reply 9 months ago


Hi
Pull the jumper off the i2c board which is marked LED
I hope this helps

0
PKMAST
PKMAST

Reply 1 year ago

Dear,

Rotate potentiotmeter

3
SaraS263
SaraS263

Question 11 months ago on Step 1

can i change the pin for SDA and SCL to A2 and A3 instead of A4 and A5

0
dimitris04k
dimitris04k

Question 1 year ago on Step 5

hey guys what can i do beacause when i am going to uploaded they said that have multiplie librarys ???

1
shaheen shah
shaheen shah

1 year ago

Hello bro My lcd is displaying nothing
Please help me i badly need it to display as my fyp is on way

0
Barrett winn
Barrett winn

1 year ago on Step 3

i cant seem to be able to add the library. it keeps saying that it isn't a valid library

0
AYAN129
AYAN129

Question 1 year ago on Introduction

I have written this code.But after compiling,it is showing the below written error message:
Arduino: 1.6.8 (Windows 10), Board: "Arduino/Genuino Uno"
I2C_LCD_TUTORIAL:6: error: 'POSITIVE' was not declared in this scope
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
^
exit status 1
'POSITIVE' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

0
SamirD28
SamirD28

Answer 1 year ago

Ho friend, My suggestion, use LiquidCrystal_I2C lcd(0x27,16,2);
Where 16,2 is LCD display 16x2, you need to change the same as per your LCD.
0x27 is the i2c address..
Hope this helps.

1
Broekgl
Broekgl

Answer 1 year ago

I had the same problem. I deleted all libraries with i2c lcd in the arduino IDE. Then imported the one linked in the files here.
Worked like a charm

0
plaahemantha
plaahemantha

2 years ago

Hi, Friends,

I tried to do this project few times using various method. But I can not succeed. Black boxes are displayed instead of text. I adjusted contrast, Address etc. But my LCD panel and Arduino are working. Black light can control. Please help.


Hemantha.