arduino怎么驱动lcd屏?和爷爷一起学ArduinoLCD1602液晶屏的使用
arduino怎么驱动lcd屏?和爷爷一起学ArduinoLCD1602液晶屏的使用
LCD1602是16X2液晶屏,显示两行,每行16个字符。它采用I2C总线接收来自Arduino的信息。我们把程序搞得复杂一点,液晶屏显示的是来自电脑的消息。因此,程序里有与电脑通信的代码。
在setup()函数里,首先初始化LCD1602液晶屏,时钟线SCL接Arduino的A5口,数据线SDA接A4口,然后初始化串口。在loop()函数里,就是一个if语句,测试串口接收缓冲区内是否为空?如果无,就进入下一循环;如果有,首先清屏LCD1602,再在第一行显示“From UART Rx:”(来自串口接收缓冲区),然后从串口接收缓冲区读出所有数据,显示在液晶屏的第一行。
#include <LiquidCrystal_SoftI2C.h>
#include <SoftI2CMaster.h>
LiquidCrystal_SoftI2C mylcd(0x27 16 2 );
void setup(){
mylcd.init();
mylcd.backlight();
Serial.begin(9600);
}
void loop(){
if (Serial.available() > 0
mylcd.clear();
mylcd.setCursor(0 0);
mylcd.print("From UART Rx:");
mylcd.setCursor(0 1);
mylcd.print(Serial.readString());
}
}
下图是两种LCD1602液晶屏的背面。上面那种是老式的,没有I2C总线。它有16个引脚,显然不适合于Arduino。下面是新型的,也就是I2C版本。它加了一块8574小板子,把引脚转换为I2C总线接口,只有SCL、SDA、VCC、GND四个引脚。大家要买这一种的。
I2C总线,还有个地址问题。以后会专门说说I2C总线的事,包括地址。如果要连几个I2C组件,必须留意这事。