当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在搭建显示屏(使用Arduino和硬件)时,我常常感到沮丧:需要刷写程序、线缆可能损坏、导线松脱,或者板子突然烧坏。最终我可能只能花10到20秒(如果运气好)来测试一下,把字体向左移动三个像素是否“感觉正确”。

pydafruit_gfx 是一个用于在 Python 中快速原型设计 Adafruit GFX GFX 显示屏的工具。(没错,是 Python!)

在搭建显示屏(使用Arduino和硬件)时,我常常感到沮丧:需要刷写程序、线缆可能损坏、导线松脱,或者板子突然烧坏。最终我可能只能花10到20秒(如果运气好)来测试一下,把字体向左移动三个像素是否“感觉正确”。

我一直想找到一种更快的方式来原型设计显示布局和图形,于是我开发了这个Python工具。

使用真实GFX代码

为什么不直接使用 Adafruit 的 GFX 代码,而不是去模仿呢?

Pydafruit Gfx 使用:

•Adafruit GFX 图形代码

•SDL(一个可在 macOS、Linux 和 Windows 上运行的显示窗口)

•pybind11

使用Adafruit的原始GFX代码非常棒,因为没有任何不确定性。字体复制正确了吗?那个函数真的实现了吗?所以直接用他们的代码吧。他们的代码就是真相的来源。

SDL 是一个支持基本像素绘制的后端窗口,非常适合本工具使用。SDLSDL 可以绘制任意颜色,放大显示(在电脑屏幕上 64x6444 像素非常小),并可将输出保存为图像。Adafruit 的 GFX 会直接写入 SDL SDL SDL 窗口。你无需安装 SDL,它已内置在 pip pip pip 轮中。

pybind111 将整个过程变成一个你可以直接用 pip pip 安装的 Python Python 库。

我已在 macOS、Windows 和 Ubuntu Linux 上测试过这些轮子,都正常工作。但我相信仍可能存在一些特殊情况、不常见的配置或较旧的操作系统会引发问题。

设置

选项1:安装轮子(pip install)

如果你使用的是 Mac、Linux 或 Windows,只需下载与你的 Python Python 版本和平台匹配的 wheel 文件,然后用 pip pip 安装即可。仓库中的 README.md 也提供了相关说明。

选项2:从源码构建

如果你想修改代码、添加功能(比如字体!)或查看整个系统如何运作,你可以自己动手来构建。

克隆仓库(包括 Adafruit GFX GFX 子模块),安装 SDL2,然后运行:

安装后,运行示例:

如果窗口打开并显示图形,说明您可以开始原型设计了。

我需要一个演示,于是开始用 pydafruit gfx gfx 编写 Python 代码。下面就是那段代码。大约一小时后,我就得到了一个自己满意的东西。

接下来,我将.py文件复制到chatGPT中,并说:“我想把它作为OLED显示屏的Arduino.ino文件。”

我上传了生成的代码,运行后它成功了。

现在我可以在 Python 中快速迭代,正确地设计布局和图形,然后在满意后将其转换为 Arduino 代码。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

空气污染是全球日益严峻的问题,细颗粒物(PM2.5)因其能够深入肺部并进入血液,成为最危险的污染物之一。无论您担心的是室内空气质量、野火烟雾还是城市污染,掌握实时数据都能让您采取有效行动。

关键字: PM2.5 传感器 Arduino

该项目提供了一套高效、远程遥测记录系统,用于跟踪离网太阳能系统的发电与耗电情况。通过利用Arduino Pro Mini 3.3V的超低静止电流特性,该记录器最大限度地降低了系统开销,确保监控硬件本身不会耗尽电池储备。

关键字: 太阳能 Arduino INA219

我从事电能计量IC的研发已有段时间。在尝试了接口较为简单的BL0937之后,今天终于拿到了BL0940。两者在结构上相似,都是单相电能计量IC,但最让我感到意外的是其功能特性。与BL系列中较为简单的BL0937不同,BL...

关键字: Arduino 交流电能 BL0937

DS18B20 是一种数字温度传感器,有两种版本:小型 TO-922 包装版和防水型,后者通常被金属管封装,并配有长电缆。两者均能提供数字温度读数,适用于多种室内外项目。DS18B20 采用了一种称为“单线通信”(1-W...

关键字: Arduino DS18B200 温度传感器

这个项目基于我之前制作的PICO VGA板,该板将树莓派Pico连接到DSUB15接口,用于驱动VGA显示器并作为普通显示屏使用。通过保留原有项目,并添加一个按钮板以及进行一些修改,我最终打造出了这款复古风格的游戏主机。

关键字: 显示屏 树莓派 DSUB15接口

作为创客,我们常常会看到满堆的损坏电子设备,等待着被重新利用。与其直接丢弃这些废弃物品,我决定将一部旧的、损坏的智能手表改造成一个功能齐全、小巧如钥匙扣的游戏主机。我的目标是打造一个体积微小却极具娱乐性的装置,同时通过回...

关键字: 智能手表 ESP32 Arduino

家里安装了Home Assistant,我用它来监控多个传感器,例如门开、运动、温度和湿度传感器,同时控制家中的许多灯光。在其中一个房间,我将其用作工作间,并存放油漆和溶剂等物品,这里还配备了一个空气质量传感器,用于测量...

关键字: 传感器 显示屏 EE05

想象一下,你的项目可以持续运行数月之久——完全独立于能源供应,彻底脱离电网。在本指南中,我们将利用太阳能的力量,为你的电子设备打造一个微型、自给自足的“发电站”。

关键字: 电子设备 物联网 Arduino

Now Playing Display 是一款小巧的 USB 供电桌面设备,可将 Mac 上播放的音乐内容(包括专辑封面、曲目名称、艺术家以及进度条)镜像显示在 240×240 的圆形触摸屏上。通过点击按钮即可实现播放/...

关键字: ESP32 显示屏 USB-C

工程团队日常会产生海量的测量数据。然而,现在市场上常用的数据分析工具并非专为工程工作流设计的工具,往往会拖慢从这些数据集中提炼可靠洞见的进程:

关键字: 数据分析 Python MATLAB
关闭