Challenge

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

//Sending Data to MAster using I2C

#include <Wire.h>

void setup() {
Wire.begin(8); // join i2c bus with address #8
Wire.onRequest(requestEvent); // register event
}

void loop() {
delay(100);
}

// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
Wire.write("Hemant "); // respond with message of 6 bytes
delay(1000);
// as expected by master
}

//Read and Display data received from I2C

// include the library code:
#include <LiquidCrystal.h>
#include <Wire.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output

}

void loop() {

Wire.requestFrom(8, 7); // request 6 bytes from peripheral device #8

while (Wire.available()) { // peripheral may send less than requested

char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
//lcd.setCursor(0,0);
lcd.print(c);
delay(100);

}

lcd.clear();

}

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.

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.