TFT_eSPI 图形库
TFT_eSPI
ESP32
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32
TFT_eSPI 是一个功能丰富的 Arduino 图形库,专为驱动各类 TFT 液晶显示屏而设计。它由 Bodmer 开发维护,是目前 Arduino 生态中最成熟、性能最优秀的 TFT 驱动库之一。该库支持 ESP32(包括 S2、S3、C3 变体)、RP2040、ESP8266 等多种主流微控制器,并兼容 ILI9341、ILI9488、ST7789 等常见显示驱动芯片,通过灵活的配置文件即可快速适配不同硬件。
标签
项目特点
**高性能优化**:针对 RP2040、ESP32、STM32 等 32 位处理器进行了深度性能优化,支持 DMA 以提升 SPI 和并行接口的显示速度。
**广泛的硬件支持**:支持多种主流 TFT 控制器(如 ILI9341、ST7789、ST7735、ILI9488 等)和接口(SPI、8位/16位并行),并兼容 Raspberry Pi 设计的部分显示器。
**丰富的图形与字体功能**:提供抗锯齿图形(弧线、圆、圆角矩形)、抗锯齿字体渲染,并可通过第三方库 [OpenFontRender](https://github.com/takkaO/OpenFontRender) 渲染 TrueType 字体。
**精灵(Sprite)类**:支持在 RAM 中创建不可见的图形缓冲区,实现无闪烁的复杂图形更新,并可将其作为帧缓冲区使用。
**易于配置**:所有显示器和引脚配置均在库内完成,示例代码无需修改即可运行,支持 Arduino IDE 和 PlatformIO。
**内置触摸支持**:集成了 XPT2046 触摸控制器驱动,方便实现触摸交互。
**丰富的示例**:提供了大量示例草图,涵盖基本图形、字体、精灵、PNG 图片显示、GUI 控件(滑块、按钮、图表)等。
技术规格
| 目标平台 | |
|---|---|
| 支持处理器 | |
| 支持接口 | |
| DMA 支持 | |
| 支持显示控制器 | |
| 触摸控制器 | |
| 颜色深度 | |
| 字体支持 | |
| 精灵支持 | |
| 许可证 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Raspberry Pi Pico / ESP32 / STM32 开发板 | 1 | — | 根据项目选择 |
| SPI 或并行接口 TFT 显示屏 (如 ILI9341, ST7789) | 1 | — | 推荐 ILI9341 或 ST7796 SPI 显示屏 |
| 杜邦线或排线 | 若干 | — | 用于连接 MCU 和显示屏 |
| 面包板 | 1 | — | 可选,用于原型搭建 |
| USB 数据线 | 1 | — | 为开发板供电 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 计算机 | 编写、编译和上传代码 | ✅ 是 |
| Arduino IDE 或 PlatformIO | 开发环境 | ✅ 是 |
| USB 数据线 | 连接开发板与计算机 | ✅ 是 |
| 焊台 | 焊接排针或连接器(可选) | ▢ 推荐 |
| 3D打印机 | 打印外壳(可选) | ▢ 推荐 |
能力画像
记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新
项目图库
所需技能
🔧 **动手能力**:需要基本的电路连接能力,如使用杜邦线连接开发板和显示屏,可能需要焊接排针。
💻 **编程能力**:需要具备 Arduino 或 C/C++ 编程基础,能够理解库的配置和使用示例代码。
⚡ **电子电路**:了解 SPI 或并行通信协议的基本原理,熟悉 GPIO 引脚的定义和连接。
适用场景
**嵌入式 GUI 开发**:为基于 32 位 MCU 的嵌入式系统创建图形用户界面。
**数据可视化**:实时显示传感器数据、图表和仪表盘。
**DIY 电子项目**:制作智能家居面板、小型游戏机、手持仪表等。
**教育与学习**:学习微控制器图形编程、显示驱动和 DMA 技术。