LCD1602液晶屏(I2C版)怎么接线?Arduino显示文字的方法

2026-10-20 23:00:18 50阅读

想让单片机把温度、时间或状态消息显示出来,LCD1602是最经典的显示器件。带I2C转接板的版本更是把16根数据线收拢成4根——只要接上电源、GND、SDA、SCL就能点亮显示文字,是DIY台式仪表和传感器数据屏的首选。这篇讲接线、装库、扫地址和白屏修复。

LCD1602 I2C版:为什么只要4根线

1602屏幕本身是HD44780控制器,需要8根以上的并口线驱动;带I2C的版本在背面焊了一颗PCF8574端口扩展芯片,它在两线的I2C总线上听命令,把收到的字节复制到屏幕的控制脚上,于是整个16针接口就收拢成了SDA和SCL两根。它还能显示16列乘2行即32个字符。

这是I2C版液晶屏的引脚图,转接板引出GND、VCC、SDA、SCL四根针。屏幕背面还有一颗对比度电位器控制字迹深浅,一颗背光跳线帽控制背光开关,遇到"亮但看不清"就调电位器,而不是改代码。

LCD1602接Arduino的接线

接线就4根:GND接GND、VCC接5V(HD44780和背光都是5V器件)、SDA接A4、SCL接A5。Arduino UNO上SDA/SCL固定是A4/A5,靠I2C总线和屏幕通信。接好后从库管理器装LiquidCrystal_I2C库,注意不是IDE自带的那个普通LiquidCrystal库——那给并口版用,接I2C屏会一直白屏。

这是LCD1602 I2C版和Arduino的接线图,四根公对母杜邦线直插,A4/A5对应SDA/SCL。屏幕上电后如果只亮不显字,多半是I2C地址不对或没装对的库。

扫描地址、显示文字和白屏排查

同一片屏幕在Arduino上的I2C地址是硬件写死的,常见是0x27(也有些模块是0x20~0x27之一)。接好先跑一个I2C Scanner程序把真实地址打印出来,再把地址填进LiquidCrystal_I2C lcd(0x27,16,2)构造函数。显示用lcd.init()初始化、lcd.backlight()开背光、lcd.setCursor(列,行)定位、lcd.print()打文字。

白屏常见三坑:一查地址对不对,二查装的是不是LiquidCrystal_I2C库,三看背光跳线帽和对比度电位器。把这几样捋顺,LCD1602就成了项目里最靠谱的"输出口",接温湿度计、密码锁、小车速度都能往上显示。


作者:隔壁老王的教程
链接:https://www.aiddithome.com/p/1388312257f27.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
5条评论
阿强焊点总飞
1楼 · 2026-10-20 23:00:20

I2C版1602省IO真香,温湿度计面板全靠它

电烙铁爱好者
2楼 · 2026-10-20 23:00:20

记得装LiquidCrystal_I2C这个库,不是IDE自带那个普通LiquidCrystal

锡点
3楼 · 2026-10-20 23:00:19

A4/SDA、A5/SCL这两根别接反,接反了屏幕只亮不显字

板砖搬不动
4楼 · 2026-10-20 23:00:19

背面那个对比度电位器是调字迹深浅的,看不清先拧它别乱改代码

阿伟不emo
5楼 · 2026-10-20 23:00:18

白屏九成就俩原因:I2C地址不对或者装错库,先跑Scanner扫下地址