【Arduino】4.I2C LCD1602屏幕的使用

本文为旧博客迁移的文章

upload successful

upload successful

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

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

void setup(){
lcd.init(); // initialize the lcd
lcd.backlight(); //Open the backlight
lcd.print("Welcome to "); // Print a message to the LCD.
lcd.setCursor(0,1); //newline
lcd.print("www.csdn.com");// Print a message to the LCD
}

void loop(){ }

upload successful

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//Find Address
#include <Wire.h>
void setup() {
Wire.begin();
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++ ) {
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the 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(5000);
// wait 5 seconds for next scan
}

upload successful

开发中遇到的问题

  • 屏幕无显示
    调节后面的对比度,查看

  • 一行黑点
    地址错误,使用代码二查看地址,然后修改代码一。

  • 如何连接跳线

1
2
3
4
5
6
7
GND-GND

VCC-5V

SDA-A4

SCL-A5