项目简介
VectorGFX 是基于 ESP32 微控制器的矢量图形显示库,借助 ESP32 的内置 DAC 驱动示波器显示矢量图形。此项目受 Trammell Hudson 等人的 V.st 项目启发,利用 ESP32 的 DMA 引擎实现更高效的图形刷新。
项目的主要特性和功能
- 提供简单 API 进行矢量图形绘制,如
moveto()
和lineto()
方法。 - 采用 4096x4096 坐标系统,虽实际显示分辨率为 256x256,但为未来扩展预留空间。
- 通过 ESP32 的 DMA 引擎驱动 DAC,保障图形显示的稳定性与亮度一致性。
- 包含多个示例代码,如
simpledemo
和serialvector
,便于用户快速上手。 - 提供 Python 库和示例代码,支持通过串口从 PC 发送矢量数据。
安装使用步骤
硬件连接
- 把示波器的 X 通道探头连到 ESP32 的 GPIO 25。
- 将示波器的 Y 通道探头连到 ESP32 的 GPIO 26。
- 把示波器设置为 X - Y 模式。
软件设置
- 下载并解压项目源码。
- 用 Arduino IDE 或其他支持 ESP32 的开发环境打开项目。
- 编译并上传
examples/simpledemo
或examples/serialvector
示例代码到 ESP32。
运行示例
- 上电后,ESP32 会自动显示简单测试图案。
- 通过串口发送矢量数据,示波器将显示对应图形。
自定义图形
- 参考
VectorGFX
类的 API 文档,用moveto()
和lineto()
方法绘制自定义图形。 - 调用
display()
方法刷新显示。
注意事项
- 因无法控制示波器亮度,长时间静止图形可能致永久性磷光烧伤,使用时需调整亮度。
- 当前仅支持 256x256 显示分辨率,未来可能通过外部 DAC 扩展。
- ESP32 的 DAC 输出可能有噪声,尤其在启用 WiFi 或蓝牙时。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】