1.Chuẩn bị

Màn hình LCD 16X2,16X4 5v

LCD

2.Module giao tiếp I2C

I2C_PCF

Kết nối

Kết nối Module I2C CF8574   & LCD16x2 & Kit Arduino

 Kit Arduino                       Module Lcd I2C -PCF8574

A4                                                SDA

A5                                                SCL

5V                                                VCC

GND                                            GND

Tìm địa chỉ  PCF8574

#include <Wire.h>
void setup()
{
Wire.begin();
Serial.println(“BALAJI DANY”);
Serial.begin(9600);
Serial.println(“\nI2C Scanner”);
}

void loop()
{
byte error, address;
int nDevices;

Serial.println(“Scanning…”);

nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print(“I2C device found at address 0x”);
if (address<16)
Serial.print(“0″);
Serial.print(address,HEX);
Serial.println(” !”);
nDevices++;
}
else if (error==4)
{
Serial.print(“Unknow error at address 0x”);
if (address<16)
Serial.print(“0”);
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println(“No I2C devices found\n”);
else
Serial.println(“done\n”);
delay(20000);
}

Có 2 mã PCF8574 và PCF8574A

AREESS

Mặc định PCF8574 là 0x27 và PCF8574A 0x3F

code ARUINO

#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x3F); // set the LCD address to 0x27 for a 16 chars and 2 line display

int show;

void setup()
{
int error;

Serial.begin(115200);
Serial.println(“LCD…”);

while (! Serial);

Serial.println(“Dose: check for LCD”);

// See http://playground.arduino.cc/Main/I2cScanner
Wire.begin();
Wire.beginTransmission(0x3F);
error = Wire.endTransmission();
Serial.print(“Error: “);
Serial.print(error);

if (error == 0) {
Serial.println(“: LCD found.”);

} else {
Serial.println(“: LCD not found.”);
} // if

lcd.begin(16, 2); // initialize the lcd
show = 0;
} // setup()

void loop()
{
if (show == 0) {
lcd.setBacklight(255);
lcd.home(); lcd.clear();
lcd.print(“Hello LCD”);
delay(1000);

lcd.setBacklight(0);
delay(400);
lcd.setBacklight(255);

} else if (show == 1) {
lcd.clear();
lcd.print(“Cursor On”);
lcd.cursor();

} else if (show == 2) {
lcd.clear();
lcd.print(“Cursor Blink”);
lcd.blink();

} else if (show == 3) {
lcd.clear();
lcd.print(“Cursor OFF”);
lcd.noBlink();
lcd.noCursor();

} else if (show == 4) {
lcd.clear();
lcd.print(“Display Off”);
lcd.noDisplay();

} else if (show == 5) {
lcd.clear();
lcd.print(“Display On”);
lcd.display();

} else if (show == 7) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“*** first line.”);
lcd.setCursor(0, 1);
lcd.print(“*** second line.”);

} else if (show == 8) {
lcd.scrollDisplayLeft();
} else if (show == 9) {
lcd.scrollDisplayLeft();
} else if (show == 10) {
lcd.scrollDisplayLeft();
} else if (show == 11) {
lcd.scrollDisplayRight();
} // if

delay(2000);
show = (show + 1) % 12;
} // loop()

Thư viện

LiquidCrystal_PCF8574-master

LiquidCrystal_I2C-master

 

Bình luận

Bình luận