Arduino 16×2 LCD 完整教程:连接、编程与数据显示
在本 Arduino 教程中,我们将学习如何连接并使用 LCD(液晶显示器) 与 Arduino 配合工作。这类 LCD 显示器因价格低廉、适合显示简单信息(如传感器数据),广泛应用于各类电子项目中。 我已在多个 Arduino 项目中使用过它们,可参考以下项目: 您可以观看下方视频或阅读以下图文教程。内容涵盖使用 LCD 字符显示器的所有核心知识:引脚定义、接线图及多个示例代码。 LCD 字符显示器仅能以固定尺寸输出单个 ASCII 字符,通过组合这些字符形成文本。 仔细观察可发现,显示屏由许多微小矩形区域组成,每个区域为 5×8 像素网格。每个像素可独立点亮,从而在每个网格内生成字符。 矩形区域的数量决定了 LCD 规格。最常见的是 16×2 LCD,拥两行、每行 16 个字符位。当然也有 16×1、16×4、20×4 等规格,工作原理相同。此外,这些 LCD 的背景色与字符色也有多种选择。 共有 16 个引脚,从左至右依次为: 得益于 按下图连接 16×2 LCD 至 Arduino: 仅占用 6 个数字引脚: 通过调节 Vo 引脚电压(0–5V)来设置对比度。电位器可实现精细调节。 可用两个电阻分压替代。实测 1kΩ 与 220Ω 分压得约 1V 效果良好。 还可用 Arduino PWM 引脚输出模拟电压控制对比度: 基础示例代码(对应视频第一个例程): 当文本超过 16 字符,可用 若需更精细控制,可用 除 ASCII 字符外,还可定义 8 个自定义字符(每字符 8 字节,对应 5×8 像素)。 本教程涵盖了 Arduino 驱动 LCD 字符显示器的核心知识。无论 16×2 还是其他规格,原理皆相同。这类显示器是电子项目中极具性价比的信息输出方案。 希望本教程对您有帮助。欢迎在评论区提问,别忘了查看我的 30+ Arduino 项目合集!
什么是 LCD 字符显示器?

16×2 LCD 引脚定义

LiquidCrystal 库,我们无需深究底层时序。该库支持 4 位与 8 位模式,本教程采用 4 位模式以节省 Arduino 引脚。Arduino 与 LCD 接线图

所需元件
调整 LCD 对比度

没有电位器怎么办?

analogWrite(11, 100); // D11 输出 PWM,占空比 100/255 ≈ 2VLCD Arduino 代码示例
/* Arduino LCD 教程
* 作者:Dejan Nedelkovski, www.HowToMechatronics.com
*/
#include 代码要点解析
LiquidCrystal 库(IDE 自带:草图 → 包含库 → LiquidCrystal)(RS, Enable, D4, D5, D6, D7)setup() 中调用 begin(列, 行) 初始化print() 显示文本,setCursor(列, 行) 定位光标blink()/noBlink() 控制闪烁块光标,cursor()/noCursor() 控制下划线光标clear() 清屏16×2 LCD 文本滚动示例
scrollDisplayLeft() 或 scrollDisplayRight() 实现滚动。#include for 循环手动移动字符:void loop() {
// 向右滚动
for (int i = 0; i <= 13; i++) {
lcd.setCursor(i, 0);
lcd.print("LCD");
delay(500);
lcd.clear();
}
// 向左滚动
for (int i = 12; i >= 1; i--) {
lcd.setCursor(i, 0);
lcd.print("LCD");
delay(500);
lcd.clear();
}
}自定义字符(图形)的生成与显示

#include createChar(编号 0-7, 字节数组) 定义字符,write(byte(编号)) 显示。
结语
制造工艺