OLED 显示屏¶
OLED 显示屏是一个显示文本、数字、简单图标和设备状态的小屏幕。与普通 LCD 不同,OLED 自身发光,不需要单独的背光。所以小型 OLED 模块清晰易读、占用空间小,对于简单的 DIY 设备很方便。
在 iDryer 等设备中,OLED 可显示温度、湿度、工作模式、错误、Wi-Fi 状态、剩余灯丝或当前干燥阶段。
OLED 何时有用¶
如果用户需要直接在机箱上看到设备状态,OLED 值得添加:
- 当前腔室温度;
- 湿度;
- 目标温度;
- 工作模式;
- 计时器;
- 传感器错误;
- 风扇或加热器状态;
- 连接状态;
- 没有大屏幕的简单菜单。
如果设备始终通过 Klipper、网络界面或移动应用程序管理,单独的 OLED 可能不必要。它增加了接线、机箱空间、代码和另一个故障点。
典型大小和控制器¶
最常见的小型 OLED 模块:
128x32像素;128x64像素;- 对角线约
0.91"或0.96"; - 单色:白色、蓝色、黄蓝;
- 带控制器
SSD1306或类似SH1106。
SSD1306 和 SH1106 看起来相似,但在代码中并不总是完全兼容。如果库为 SSD1306 设置,但模块实际上是 SH1106,屏幕可能显示移位的图片、垃圾或不工作。
购买前,重要的是不仅检查屏幕大小,还要检查控制器、接口和供电电压。
I2C 和 SPI¶
小型 OLED 模块通常通过 I2C 或 SPI 连接。
I2C 模块通常有 4 个触点:
VCC;GND;SDA;SCL。
SPI 模块通常需要更多线路:
VCC;GND;SCK/CLK;MOSI/DIN;CS;DC;- 有时
RST。
I2C 更简单接线,通常足以显示状态、温度和简单菜单。SPI 更快,如果屏幕经常重绘会更好,但对于小型状态显示,这很少是关键。

来源: Adafruit Learning System, CC BY-SA 3.0
电源和逻辑电平¶
OLED 模块可能额定为 3.3V、5V 或在板上具有稳压器和电平转移。从外部,这样的模块看起来几乎相同。
连接前,检查:
- 模块或产品页面上列出的电源;
SDA/SCL线是否与控制器逻辑兼容;- 模块是否有 I2C 上拉;
- 上拉是否与控制器电压冲突。
对于 ESP32 和大多数现代微控制器,假设 3.3V 逻辑更安全。如果 OLED 模块将 I2C 拉到 5V,对于 3.3V 控制器可能有问题。
许多流行的 I2C OLED 模块从 3.3V 工作,并直接连接到 ESP32 没有问题,但你需要检查特定的模块。
I2C 地址¶
I2C OLED 通常有地址:
0x3C;0x3D。
如果屏幕不响应,在检查电源和线路后,地址是要检查的第一件事。一些模块允许你通过跳线或在板上焊接小跳线更改地址。
地址错误的迹象:
- 草图或固件启动但屏幕空白;
- I2C 扫描仪在不同地址看到设备;
- 库初始化显示而无可见结果;
- 将
0x3C改为0x3D时它工作。
在小屏幕上显示什么¶
128x32 或 128x64 OLED 空间非常小。不要尝试在上面制作完整的智能手机界面。
对于干燥机或加热器的好设置:
- 大的当前温度;
- 目标温度;
- 湿度如果有传感器;
- 模式:
HEAT、DRY、IDLE、ERROR; - 小风扇/加热图标;
- 错误代码或简短消息。
坏的设置:
- 长句子;
- 小表格;
- 一个屏幕上的许多菜单项;
- 不断滚动的文本;
- 有用状态而不是装饰动画。
对于有加热器的设备,快速看到错误比漂亮的启动屏幕更重要。
烧屏和亮度¶
OLED 像素从发光而老化。如果你在一个地方显示相同的明亮文本多个小时,最终可能会出现痕迹。
对于 DIY 设备,这并不总是关键,但最好:
- 在没有需要时不要保持亮度最大;
- 在空闲时间后关闭屏幕;
- 偶尔移动静态元素;
- 不显示白色填充持续;
- 使用简短更新而不是额外的动画。
在温暖的腔室或靠近加热器,OLED 也活得更差。最好将电子产品保持在不超过模块范围的受控温度区域。
线长和干扰¶
I2C 不喜欢长线,尤其是靠近电机、加热器和电源线。如果 OLED 在门或可移除面板上,长灵活的电缆可能成为噪声源。
实用规则:
- 保持
SDA和SCL短; - 将它们远离加热器电源线;
- 使用公共
GND; - 不要制作向后进入的连接器;
- 对于可移除的盖,使用适当的连接器和应变释放;
- 如果 I2C 不稳定,首先缩短线并检查上拉。
SPI 通常容许更高的更新速度,但有更多的线路,连接错误更常见。
OLED 或触摸屏¶
OLED 擅长显示状态。没有按钮、编码器或其他控制,它不解决输入问题。
如果用户经常需要直接在设备上改变设置,你可能需要:
- 编码器 + OLED;
- 几个按钮 + OLED;
- TFT 显示屏;
- 触摸屏;
- 网络界面或应用。
不要仅因为 OLED 看起来小而安装触摸屏。对于简单的设备,带一个按钮的小 OLED 有时更可靠和清晰。
购买前的检查清单¶
购买 OLED 模块前,检查:
- 大小:
128x32、128x64或其他; - 控制器:
SSD1306、SH1106、SH1107; - 接口:I2C 或 SPI;
- 电源:
3.3V、5V或范围; - 逻辑电平;
- I2C 地址如列出;
- 重置引脚支持;
- 在所选固件或库中的支持;
- 物理板尺寸和安装孔;
- 连接器位置;
- 工作温度;
- 颜色和你需要的角度的可读性。
对于 ESP32 设备,I2C OLED 128x64 在 SSD1306 上地址 0x3C 通常最方便。对于 Klipper 板,检查特定的板是否支持你选择的总线,以及显示器如何在配置中描述。
典型错误¶
- 混淆了
SDA和SCL; - 将电源连接到错误的电压;
- 没有检查 I2C 地址;
- 在代码中选择了
SSD1306但模块是SH1106; - 使 I2C 线路太长;
- 忘记了公共
GND; - 将 5V 上拉模块连接到 3.3V 控制器而不检查;
- 选择 SPI 模块期望像 I2C 一样的 4 针;
- 在热区放置屏幕;
- 添加显示器而不了解它为用户解决什么问题。
主要点¶
OLED 显示屏对于短状态和简单的本地界面很好。对于大多数 DIY 设备,I2C OLED 128x64 足够如果电源兼容且所选固件支持。
连接前,检查显示控制器、接口、电源、I2C 地址和线长。如果设备已通过网络界面很方便,OLED 可能不需要。
参考资料¶
- Adafruit: Monochrome OLED Breakouts - 小型 SSD1306 OLED、I2C/SPI 连接、大小和示例的实用指南。
- SparkFun: Qwiic Micro OLED Hookup Guide - I2C OLED 模块、库和文本/图形输出的示例。
- ESPHome: SSD1306 OLED Display -
ssd1306_i2c、ssd1306_spi、地址、SSD1306/SH1106 模型和配置的文档。 - Klipper Configuration Reference: display - Klipper 中的显示支持,包括
ssd1306和sh1106。 - SSD1306 Datasheet: Solomon Systech - SSD1306 控制器的技术描述:分辨率、I2C/SPI/并行接口和命令。