Challenge

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

ABINAYA INBAMANI, BATCH

ANSWER--->

 

CODE

//MASTER

#include      // Header to use LCD functions

#include                  // Header to use I2C communication

LiquidCrystal lcd(2,7,8,9,10,11); //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("MASTER");               //To display in LCD

lcd.setCursor(0,1);               //To move the cursor to the next line

lcd.println("Message sent    "); //To display in LCD

}

void send()

{

char ch[100]="Master is sending";//creating string

Wire.write(ch);                       //To send message to Slave

}

//SLAVE

#include         // Header to use LCD functions

#include                     // Header to use I2C communication

 

LiquidCrystal lcd(2,7,8,9,10,11);    //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);          //8 address 16 characters

lcd.setCursor(0,0);                   //To move the cursor to the begining

lcd.print("SLAVE");                //To print in display

lcd.setCursor(0,1);                   //To move the cursor to the next line

int i=0;

while(0

{

SlaveReceive[i]=Wire.read(); //To print character by character

i++;

}

lcd.print(SlaveReceive);         //To print the received message

delay(1000);                          //Delay for 1 second

Wire.end();                            //To end the I2C transmission

}

 

 

 

 

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.