LCD1602显示屏是一款出现比较早的显示器件,它可显示2行信息,每行可有16个字符。
与OLED屏不同,LCD1602显示屏是靠背光的辅助来显示信息的,并通过电压的调节来改变显示的对比度。
由于出现的比较早,其驱动的方式是传统的总线式,因此比较耗费引脚资源。
好在有了IIC转换模块的出现,因而现在可以I2C的方式来驱动该显示屏。
对于I2C接口的LCD1602显示器,只需两根线就可以实现信息的显示,还可以串联多个I2C设备。
此外,在模块的背面配有电位器,可自主地调节显示器的对比度。模块的供电电压为5V,对于FireBeetle 2 ESP32-C5开发板来说需由外部来提供,模块的外观及器件布局见图1所示。

图1 外观及器件布局
对于模块的设备地址,是可以进行配置的,配置的方法为:

显示模块与开发板的连接关系为:

Arduino IDE的开发环境下,要驱动该显示模块是十分方便的,需事先下载相应的库支持。
实现模块显示测试的程序为:
#include <Wire.h> // I2C通信协议库(用于LCD与单片机的通信)
#include <LiquidCrystal_I2C.h> // 用于控制I2C接口的LCD显示屏库
#define SDA_PIN 9 // SDA线(数据信号线)连接的esp32c5引脚
#define SCL_PIN 10 // SCL线(时钟信号线)连接的esp32c5引脚
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
Wire.begin(SDA_PIN, SCL_PIN);
lcd.init(); // 初始化LCD
lcd.backlight(); // 打开背光(若想关闭可改为lcd.noBacklight())
lcd.setCursor(0, 0); // 光标定位
lcd.print("FireBeetle 2");
lcd.setCursor(0, 1);
lcd.print("ESP32-C5");
}
void loop() {
delay(1000);
}经程序上传,其测试效果如图2所示。

图2 测试效果
我要赚赏金
