Challenge

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

//MASTER

#include<LiquidCrystal.h>

#include<Wire.h>

LiquidCrystal lcd(2,3,4,5,6,7);

char MasterReceive[16];

void setup()

{

Serial.begin(9600);

Wire.begin();

lcd.begin(16,2);

lcd.clear();

}

void loop()

{

Wire.requestFrom(8,16);

lcd.setCursor(0,0);

lcd.print("MASTER");

lcd.setCursor(0,1);

int i=0;

while(0<Wire.available())

{

MasterReceive[i]=Wire.read();

i++;

}

lcd.print(MasterReceive);

delay(1000);

Wire.end();

}

//SLAVE

#include<LiquidCrystal.h>

#include<Wire.h>

LiquidCrystal lcd(2,3,4,5,6,7);

void setup()

{

Serial.begin(9600);

Wire.begin(8);

Wire.onRequest(send);

lcd.begin(16,2);

lcd.clear();

}

void loop()

{

lcd.setCursor(0,0);

lcd.print("SLAVE");

lcd.setCursor(0,1);

lcd.println("Message sent");

}

void send()

{

char ch[17]="Slave Message";

Wire.write(ch);

}

components used:

Arduino Uno R3

Potentiometer

Breadboard small

LCD 16*2

Jumper wires.

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.