Challenge

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

//SLAVE CODE

#include<LiquidCrystal.h> // Header to use LCD functions

#include<Wire.h> // 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("hi"); //To display in LCD

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

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

}

void send()

{

char ch[17]="Skill "; //creating string

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

}

//MASTER

#include <LiquidCrystal.h>

#include <Wire.h>

#include<LiquidCrystal.h> // Header to use LCD functions

#include<Wire.h>

LiquidCrystal lcd(2,3,4,5,6,7); //pins connected to LCD

char MasterReceive[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("HELLO"); //To print in display

lcd.setCursor(0,1);

int i=0;

while(0<Wire.available())

{

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

i++;

}

lcd.print(MasterReceive);

delay(1000);

Wire.end();

}

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.