前面几节课,我们用LED灯闪烁、用数码管显示数字、用点阵屏展示图案——但这些都是用“亮灭”来表达信息。如果能用屏幕显示完整的文字和数字,那感觉就完全不一样了。
今天这节课,我们就来学习如何用ESP32控制1602 LCD屏幕。它是最经典的字符型液晶屏,能显示2行、每行16个字符——你可以在上面显示传感器数据、状态信息、调试日志,甚至做一个微型交互界面。
废话不多说,直接开始!
第一步:找到课程,看看成品效果
打开逗脑IDE,点击顶部“教程”,在“硬件” → “ESP32 + MicroPython”分类下,找到第9节课——i2c控制1602显示屏。
打开课件后,你会看到本节课的最终效果:LCD屏幕上清晰地显示着两行文字——“loading…9”和“wangmingdong”,而且数字还在不断变化。
第二步:什么是1602 LCD?
1602 LCD是指能显示16列×2行字符的液晶模块——也就是两行,每行最多16个字符。
它主要用来显示字符和数字,比如温度、湿度、时间、状态信息等。市面上大多数字符液晶都基于HD44780芯片,所以代码通用性很强。
传统的1602 LCD需要8根数据线来传输要显示的数据,加上控制线,会占用很多GPIO引脚。但如果用I2C的方式,只需要2根线就能搞定——这就是本节课的重点。
第三步:什么是I2C?两根线搞定一切!
很多新手看到“I2C”这个名词可能会有点怕,觉得很高深。其实用大白话解释特别简单:
I2C就是一种只用2根线就可以传递很多数据给其他设备的方法。
它最大的好处是大大减少了ESP32上IO引脚的使用。如果没有I2C,控制1602屏幕要接8根数据线+若干控制线。有了I2C,只需要2根线:
本节课的逻辑是这样的:
ESP32 —— 通过I2C协议 ——> PCF8574模块 ——> 1602 LCD屏幕也就是说,ESP32通过I2C把数据发给PCF8574这个“翻译官”,然后PCF8574再控制LCD屏幕显示内容。
第四步:动手接线——只需要4根线!
最让新手开心的是:接线超级简单!
| ESP32引脚 | 连接 | 1602 LCD模块(I2C版) |
|---|---|---|
| 5V | → | VCC(注意:3.3V显示不清楚,务必接5V) |
| GND | → | GND |
| GPIO15 | → | SDA |
| GPIO2 | → | SCL |
💡 重要提示:VCC一定要接5V,接3.3V的话屏幕显示会非常模糊,看不清文字。这个问题很多新手会遇到,课件里特别强调了。
第五步:一键打开代码,如何跑通运行
接线完成了,接下来就是代码环节。
不过要注意,本节课的代码需要两个依赖文件:lcd_api.py和esp32_i2c_1602lcd.py。课件里提供了下载链接,把它们下载后放到项目目录下。
主代码如下:
importtimefrommachineimportSoftI2C,Pinfromesp32_i2c_1602lcdimportI2cLcd DEFAULT_I2C_ADDR=0x27i2c=SoftI2C(sda=Pin(15),scl=Pin(2),freq=100000)lcd=I2cLcd(i2c,DEFAULT_I2C_ADDR,2,16)foriinrange(1,10):lcd.clear()lcd.putstr("loading...{}\n".format(i))lcd.putstr("wangmingdong")time.sleep(1)# SDA GPIO15# SCL GPIO2# Vcc 5V (3V显示不清楚)# GND GND代码需要确认的只有两处:
- I2C地址:确认填的是
0x27还是0x3F(课件里讲得很清楚,根据模块型号选) - 引脚号:SDA=15,SCL=2(和你的接线保持一致)
第六步:保存到开发板,看文字出现!
按Ctrl + S保存,选择ESP32开发板设备,给文件命名(比如lcd_1602.py),点击保存。
保存成功后,点击运行按钮。
此时1602 LCD屏幕亮起来了!第一行显示着“loading…1”、“loading…2”……数字在不断增加;第二行显示着“wangmingdong”。
能显示文字之后,能做些什么?
你可能觉得“显示几行文字”没什么了不起,但1602 LCD能做的事情远超你的想象:
| 应用场景 | 显示内容 |
|---|---|
| 温湿度计 | 温度:25.3℃ 湿度:62% |
| 智能时钟 | 2026-08-15 10:30:00 |
| 传感器数据采集 | 光照强度:850 lux |
| 智能家居控制面板 | 空调状态:制冷 26℃ |
| 调试信息输出 | WiFi连接成功!IP:192.168.1.103 |
1602 LCD就像ESP32的“嘴巴”——它把ESP32感知到的一切,用文字清清楚楚地告诉你。
全程回顾
| 步骤 | 操作 | 效果 |
|---|---|---|
| 找到课程 | 教程→硬件→ESP32+MicroPython→第9课 | 了解1602 LCD原理 |
| 理解I2C | 两根线(SDA/SCL)传数据 | 只占2个GPIO引脚 |
| 动手接线 | 5V-GND-SDA(15)-SCL(2) | 硬件准备就绪 |
| 确定地址 | 查看模块型号:0x27或0x3F | 避免运行报错 |
| 打开代码 | 点击“打开”按钮 | 完整代码进入编辑器 |
| 保存运行 | Ctrl+S → 选择ESP32 → 运行 | LCD屏幕上显示文字! |
本节课最大的收获是:学会了用I2C协议只用2根线就驱动一个屏幕。这是嵌入式开发中非常重要的技能——I2C还用于控制温度传感器、陀螺仪、OLED屏幕等大量设备,一通百通。
有任何问题或建议,欢迎在评论区留言告诉我们。