Arduino 驱动 1602 LCD 显示自定义动画 — 从绘图到代码生成全流程
元器件清单
| 元件 | 数量 | 备注 |
|---|---|---|
| Arduino UNO(或任意兼容板) | 1 | 主控 |
| 1602 字符型 LCD(HD44780 兼容) | 1 | 白字蓝背光 |
| 电阻 220 Ω | 1 | 背光限流,220 Ω~1 kΩ 均可,阻值越大越暗 |
软件与在线工具
- Arduino IDE
- 在线字符生成器:Custom Glyph Generator
项目简介
LiquidCrystal 库的 createChar() 函数允许定义 8 个自定义字符(每字符 5×8 像素)。手写字节数组极其繁琐,作者开发了在线可视化编辑器,绘制完即可一键生成 Arduino 代码。
利用 8 个自定义字符可组成 16×2 屏幕上的小动画:游戏角色、故事场景、音乐可视化、状态面板装饰等。
LCD 接线
接线因屏幕批次略有差异,文中给出两种常见接法:
- 直连法:RS→D7, E→D8, D4-D7→D10-D13,对比度接电位器或固定分压电阻。
- 电位器微调对比度(见 Tinkercad 仿真链接)。

制作动画步骤
- 绘制首帧:打开在线工具,最多同时使用 8 个自定义字符(Section)。
- 生成完整代码:取消勾选 "just the function",复制完整草图上传,LCD 即显示首帧。
- 制作后续帧:保存当前代码,继续绘制下一帧,勾选 "just the function" 仅复制函数体,粘贴到草图末尾并重命名(如
image01())。 - 编写循环播放:将首帧函数也重命名为
image00(),在loop()中依次调用并加延时:
void loop() {
image00(); delay(250);
image01(); delay(250);
// 继续添加 image02()...
}
上传后即可看到动画效果,可继续增加帧数或调整延时。
示例:蝴蝶变态发育动画
文中提供完整 8 帧代码(含 image00()~image07()),展示毛毛虫→蛹→蝴蝶的过程。代码已整理上传至 GitHub,可直接烧录体验。
原理图

制造工艺
- Arduino Nano飞行模拟2020控制面板——LCD与CDI显示
- Arduino UNO 驱动 16x2 LCD 实现动画与小游戏
- Arduino UNO 驱动 1.17 英寸 TFT 屏显示图片 (SD 卡读取)
- DIY Arduino Nano 示波器:10 Hz–50 kHz / 128×64 LCD
- 构建基于 PHP 的 Web 界面控制 Arduino Uno
- 基于 Arduino Nano 和 MAX30102 的心率监测仪(16x2 LCD 显示)
- 打造可靠的 Arduino 气象站:DHT 传感器 + LCD + RTC
- Arduino UNO 驱动 Nokia 5110 LCD 旋钮编码器菜单系统构建指南
- 用 Arduino Nano 制作可靠的 LCD 秒表 —— 无需电位器
- 用 DS1302 RTC 和 Arduino UNO 制作可靠闹钟
- 定制 PCB 原型设计的 5 个关键步骤
- CDS 推出 ClearVue3DP:高亮度 3D 透明 LCD,无缝集成