Project 1 - Interfacing a 16*2 LCD with Arduino using I2C protocol
AIM: In this project implementing the Code for “Interfacing a 16*2 LCD with two Arduino’s (one for Master and one for Slave) using Inter-Integrated Circuit (I2C) communication protocol” by sending the message to LCD using I2C communication protocol and display the message on LCD screen.
Goals:
- Communication between Arduino and 16*2 LCD using I2C protocol.
- Displaying the message sent by Master and received by slave i.e. LCD display.
Key Highlights of the Project:
- Using the inter-integrated circuit communication protocol, transferring the data i.e. the message we want to display is sent to the LCD.
- Two Arduino’s connected to the LCD display and the communication is executed using I2C protocol between Arduino and the LDC display.
Hardware Components:
• Two Arduino Uno boards
• 16x2 LCD Display
• Four Male-Female Jumper Wires
Software Components:
• Arduino IDE
• Library for I2C communication
Procedure:
1. Connect the 16x2 LCD display to the Slave Arduino board using four male-female jumper wires.
2. Connect the Master and Slave Arduino boards together using the I2C communication protocol.
3. Write the code for the Master and Slave Arduino boards and upload the code to the boards using the Arduino IDE.
4. The Master Arduino code sends a message to the Slave Arduino using the I2C protocol.
5. The Slave Arduino receives the message and sends the message to the LCD display.
6. The LCD display displays the message sent by the Master Arduino.
The Code for Interfacing a 16*2 LCD
Master code:
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Define LCD Module Pins (RS,EN,D4,D5,D6,D7)
int val1=A4;
int val2=A5;
void setup()
{
lccd.begin(16,2);
}
void loop()
{
lcd.setCursor(0,0); //Sets Cursor at line one of LCD
lcd.print(">> Master <<"); //Prints >> Master << at LCD
lcd.setCursor(0,1); //Sets Cursor at line two of LCD
lcd.Print("SlaveVal: 99"); //Prints SlaveVal: in LCD
LCD
delay(1000);
}
Slave Code:
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Define LCD
Module Pins(RS,EN,D4,D5,D6,D7)
int val1=A4;
int val2=A5;
void setup()
{
lcd.begin(16,2);
}
void loop()
{
lcd.setCursor(0,0); //Sets Cursor at line one of LCD
lcd.print(">> Slave <<"); //Prints >> Slave << at LCD
lcd.setCursor?(0,1); // Sets Cursor ar line two of LCD
lcd.print("MasterVal: 100"); //Prints MasterVal: in LCD
delay(1000);
}