Challenge

Project 1 - Interfacing a 16*2 LCD with Arduino using I2C protocol

In this project implementing the Code for “Interfacing a 16*2 LCD with two Arduino’s (one for Master and one for Slave) using Inter-Integrated Circuit (I2C) communication protocol” by sending the message to LCD using I2C communication protocol and display the message on LCD screen.

Hardware Connection Processor:

  1. In order to build the circuit for interfacing LCD display with two Arduion boards in master and slave configuration, I have used 2 Arduino Uno boards and two I2C LCD display's.
  2. First analog pins A4 and A5 in arduino are used for used for I2C communication. The digital pin 2 is connected to RS of LCD. Digital pin 3 connected to E of LCD.
  3. I connected the A5 pin of the first board with the A5 pin of the second board and the A4 pin of the first board with the A4 pin of the second board using two wires.
  4. I connected the ground of the first board with the ground of the second board through the Bread-board.
  5. The Digital pins 4, 5, 6, 7 are connected to DB1, DB2, DB3, DB4 of LCD. Input supply 5v and Gnd are connected to the LCD's and Breadboards from arduino's. The potentiometer's is used to turn ON and OFF the LCD's.
  6. With this, all the hardware connection were complete and the circuit was ready to be programmed.

CODE FOR MASTER:

#include<LiquidCrystal.h>        
#include<Wire.h>                
 
LiquidCrystal lcd(2,3,4,5,6,7);    //pins connected to LCD
           //String to get the message
 
void setup()
{
Serial.begin(9600);
Wire.begin(8);                       //To begin I2C communication
Wire.onRequest(send);          
lcd.begin(16,2);                     //To start the LCD display
lcd.clear();                            //To clear the display
}
 
void loop()
{
lcd.setCursor(0,0);               
lcd.print("MASTER");               //To display in LCD
lcd.setCursor(0,1);              
lcd.println("Message sent "); //To display in LCD
}
void send()
{
char ch[17]="Master Message";
Wire.write(ch);                       
}
 

CODE FOR SLAVE:

#include<LiquidCrystal.h>        
#include<Wire.h> 
LiquidCrystal lcd(2,3,4,5,6,7);    //pins connected to LCD
char SlaveReceive[16];            //String to get the message
 
void setup()
{
Serial.begin(9600);
Wire.begin();                            //To begin I2C communication
lcd.begin(16,2);
lcd.clear();
}
 
void loop()
{
Wire.requestFrom(8,16);          
lcd.setCursor(0,0);                 
lcd.print("SLAVE MESSAGE");                //To print in display
lcd.setCursor(0,1);                  
int i=0;
while(0<Wire.available())         
{
SlaveReceive[i]=Wire.read(); //To print character by character
i++;
}
lcd.print(SlaveReceive);         
delay(1000);                        
Wire.end();                            
}
 

Conclusion: I have send the meaasge from master to slave using Inter-Integrated Circuit (I2C) communication protocol in arduino and display the message on 16*2 LCD's screen.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.