Project 1 - Interfacing a 16*2 LCD with Arduino using I2C protocol
Interfacing a 16*2 LCD with Arduino using I2C protocol
Objective: To send a message from master to slave using Inter-Integrated Circuit (I2C) communication protocol in arduino and display the message on 16*2 LCD screen.

//MASTER
#include // Header to use LCD functions
#include // Header to use I2C communication
LiquidCrystal lcd(2,3,4,5,6,7); //pins connected to LCD
char MasterSent[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); //8 address 16 characters
lcd.setCursor(0,0); //To move the cursor to the begining
lcd.print("MASTER"); //To print in display
lcd.setCursor(0,1); //To move the cursor to the next line
int i=0;
while(0
//SLAVE
#include // Header to use LCD functions
#include // Header to use I2C communication
LiquidCrystal lcd(2,3,4,5,6,7); //pins connected to LCD
void setup()
{
Serial.begin(9600);
Wire.begin(8); //To begin I2C communication
Wire.onRequest(send); //To call the send function
lcd.begin(16,2); //To start the LCD display
lcd.clear(); //To clear the display
}
void loop()
{
lcd.setCursor(0,0); //To move the cursor to the begining
lcd.print("SLAVE"); //To display in LCD
lcd.setCursor(0,1); //To move the cursor to the next line
lcd.println("Slave receive "); //To display in LCD
}
void send()
{
char ch[17]="Slave Message ";//creating string
Wire.write(ch); //To send message to Master
}