ST7567 LCD 图形显示
st7567 显示平台允许你使用基于
Sitronix ST7567 芯片系列的 128x64 显示模块(ST7567A、ST7567S、ST7567G 等)(数据手册、
Sitronix)配合 ESPHome。
注意,此组件用于通过 I²C 总线(参见 通过 I²C) 或 3 线或 4 线 SPI 总线(参见 通过 SPI)连接的显示。 它是一种单色 LCD 图形显示。

NOTE
电压: 检查你的模块规格了解所需的电源。大多数模块对 3.3V 到 5V 的电压范围都能耐受,但有些可能需要 5V 或 3.3V。
电气干扰: 为减少噪声引起的故障,数据手册建议”在指定间隔内定期使用刷新序列”。
没人知道确切的间隔是什么 —— 它根据你的电气环境而变化 —— 例如,有些可能需要每小时一次。 如果不执行刷新序列,LCD 上的图像一段时间后可能会出现问题。
你可以使用 interval: 部分并调用 request_refresh() 函数来计划刷新,之后它将在下次组件更新时执行显示
刷新序列。
通过 I²C
Section titled “通过 I²C”将模块上的 SDA 和 SCL 引脚连接到为 I²C 总线 选择的引脚。
如果你的显示模块有 RESET 引脚,你可以选择将它连接到 ESP 的引脚,这可能
提高可靠性。对于电源,连接 VCC 到 3.3V,GND 到 GND。
# 示例最小配置条目i2c: sda: D1 scl: D2
display: - platform: st7567_i2c id: my_display lambda: |- it.print(0, 0, id(my_font), "Hello World!");
interval: - interval: 1h then: - lambda: id(my_display).request_refresh();-
address (可选, int): 手动指定显示的 I²C 地址。默认为 0x3F。
-
reset_pin (可选, Pin Schema): RESET 引脚。默认为未连接。
-
id (可选, ID): 手动指定用于代码生成的 ID。
-
update_interval (可选, Time): 重新绘制屏幕的间隔。默认为
1s。 -
pages (可选, list): 显示页面而非单个 lambda。请参见 显示页面。
-
lambda (可选, lambda): 用于在显示上渲染内容的 lambda。
-
invert_colors (可选, boolean): 显示硬件颜色反转。默认为
false。 -
rotation (可选): 设置显示的旋转角度。你在
lambda:中绘制的一切都将 根据此选项进行旋转。可选值为0°(默认)、90°、180°、270°。 -
transform (可选): 使用硬件转换显示。所有默认值均为
false。- mirror_x (可选, boolean): 如果为 true,则镜像物理 X 轴。
- mirror_y (可选, boolean): 如果为 true,则镜像物理 Y 轴。
加速总线: 为了加速显示更新过程,你可以选择更高的 I²C 频率,例如:
# 示例提高 I²C 总线速度i2c: sda: D1 scl: D2 frequency: 400kHz硬件旋转: 180 度旋转可以在硬件中实现,如下面的示例所示:
# 使用 transform 部分通过硬件实现 180° 旋转的示例display: - platform: st7567_i2c id: my_display transform: mirror_x: true mirror_y: true lambda: |- it.print(0, 0, id(my_font), "Hello World!");通过 SPI
Section titled “通过 SPI”将 D0 连接到为 SPI 总线 选择的 CLK 引脚,将 D1 连接到 MOSI 引脚,并将 DC 和 CS
连接到 ESP 上的某些 GPIO 引脚。对于电源,连接 VCC 到 3.3V,GND 到 GND。
你还可以选择将 RESET 引脚连接到 ESP 的引脚,这可能提高可靠性。
# 示例最小配置条目spi: clk_pin: D1 mosi_pin: D2
display: - platform: st7567_spi id: my_display dc_pin: D3 lambda: |- it.print(0, 0, id(my_font), "Hello World!");
interval: - interval: 1h then: - lambda: id(my_display).request_refresh();-
dc_pin (必需, Pin Schema): DC 引脚。
-
cs_pin (可选, Pin Schema): 片选(CS)引脚。
-
reset_pin (可选, Pin Schema): RESET 引脚。默认为未连接。
-
id (可选, ID): 手动指定用于代码生成的 ID。
-
update_interval (可选, Time): 重新绘制屏幕的间隔。默认为
1s。 -
pages (可选, list): 显示页面而非单个 lambda。请参见 显示页面。
-
lambda (可选, lambda): 用于在显示上渲染内容的 lambda。
-
invert_colors (可选, boolean): 显示硬件颜色反转。默认为
false。 -
rotation (可选): 设置显示的旋转角度。你在
lambda:中绘制的一切都将 根据此选项进行旋转。可选值为0°(默认)、90°、180°、270°。 -
transform (可选): 使用硬件转换显示。所有默认值均为
false。- mirror_x (可选, boolean): 如果为 true,则镜像物理 X 轴。
- mirror_y (可选, boolean): 如果为 true,则镜像物理 Y 轴。
硬件旋转: 180 度旋转可以在硬件中实现,如下面的示例所示:
# 使用 transform 部分通过硬件实现 180° 旋转的示例display: - platform: st7567_spi id: my_display dc_pin: D3 transform: mirror_x: true mirror_y: true lambda: |- it.print(0, 0, id(my_font), "Hello World!");