跳转到内容

SSD1306 OLED 显示屏

ssd1306_i2c 显示平台允许您在 ESPHome 中使用 SSD1306(数据手册Adafruit)、SSD1305(数据手册)、 SH1107(数据手册Adafruit) 和 SH1106(数据手册electrodragon) 显示屏。请注意,此组件适用于通过 I²C 总线连接的显示屏。 如果您的 SSD1306/SSD1305 或 SH1106 通过 4 线 SPI 总线连接,请参阅 SPI 接口

SSD1306 OLED 显示屏

将 D2 连接到您为 I²C 总线选择的 SCL 引脚,将 D1 连接到 SDA 引脚。对于电源,将 VCC 连接到 3.3V,GND 连接到 GND。可选地,您也可以将 RESET 引脚连接到 ESP 上的引脚,这可能会提高可靠性。

# 配置示例
i2c:
sda: D1
scl: D2
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
reset_pin: D0
address: 0x3C
lambda: |-
it.print(0, 0, id(font), "Hello World!");
  • model (必填):显示屏型号。选项有:

    • SSD1306 128x32 - SSD1306,128 列 32 行
    • SSD1306 128x64
    • SSD1306 96x16
    • SSD1306 72x40
    • SSD1306 64x48
    • SH1106 128x32
    • SH1106 128x64
    • SH1106 96x16
    • SH1106 64x48
    • SH1107 128x64
    • SH1107 128x128
    • SSD1305 128x32
    • SSD1305 128x64
  • reset_pin (可选, 引脚模式):RESET 引脚。默认为未连接。

  • address (可选, int):手动指定显示屏的 I²C 地址。默认为 0x3C。

  • rotation (可选):设置显示屏旋转。您在 lambda: 中绘制的所有内容都将被此选项旋转。可选 (默认)、90°180°270°

  • contrast (可选, 百分比):设置显示屏对比度百分比。默认为 100%

  • brightness (可选, 百分比):设置显示屏亮度百分比。仅可用于 SSD1305。默认为 100%

  • external_vcc (可选, 布尔值):如果您的 VCC 引脚连接到外部电源,请将其设置为 true。 默认为 false

  • flip_x (可选, 布尔值):翻转屏幕上的水平轴。默认为 true

  • flip_y (可选, 布尔值):翻转屏幕上的垂直轴。默认为 true

  • offset_x (可选, int):如果某些水平像素缺失,请设置此选项。仅允许 0~128 之间的数字。默认为 0

  • offset_y (可选, int):如果某些垂直像素缺失,请设置此选项。仅允许 0~128 之间的数字。默认为 0

  • invert (可选, 布尔值):反转显示屏上所有像素状态。默认为 false

  • lambda (可选, lambda):用于在显示屏上渲染内容的 lambda。 详见显示渲染引擎

  • update_interval (可选, 时间):重新绘制屏幕的间隔。默认为 1s

  • pages (可选, 列表):显示页面而不是单个 lambda。详见显示页面

  • id (可选, ID):手动指定用于代码生成的 ID。

NOTE

要加快显示更新过程,可以选择更高的 I²C 频率。

ssd1306_spi 显示平台允许您在 ESPHome 中使用 SSD1306(数据手册Adafruit) 和 SH1106(数据手册electrodragon) 显示屏。请注意,此组件适用于通过 4 线 SPI 总线连接的显示屏。 如果您的 SSD1306 或 SH1106 通过 I²C 总线连接,请参阅 I²C 接口

SSD1306 OLED 显示屏

将 D0 连接到您为 SPI 总线选择的 CLK 引脚,将 D1 连接到 MOSI 引脚,将 DCCS 连接到 ESP 上的某些 GPIO 引脚。对于电源,将 VCC 连接到 3.3V,GND 连接到 GND。可选地,您也可以将 RESET 引脚连接到 ESP 上的引脚,这可能会提高可靠性。

# 配置示例
spi:
clk_pin: D0
mosi_pin: D1
display:
- platform: ssd1306_spi
model: "SSD1306 128x64"
cs_pin: D2
dc_pin: D3
reset_pin: D4
lambda: |-
it.print(0, 0, id(font), "Hello World!");
  • model (必填):显示屏型号。选项有:

    • SSD1306 128x32(SSD1306,128 列 32 行)
    • SSD1306 128x64
    • SSD1306 96x16
    • SSD1306 72x40
    • SSD1306 64x48
    • SH1106 128x32
    • SH1106 128x64
    • SH1106 96x16
    • SH1106 64x48
    • SH1107 128x64
    • SH1107 128x128
    • SSD1305 128x32
    • SSD1305 128x64
  • cs_pin (**必填”, 引脚模式):片选 (CS) 引脚。

  • dc_pin (**必填”, 引脚模式):DC 引脚。

  • reset_pin (可选, 引脚模式):RESET 引脚。默认为未连接。

  • rotation (可选):设置显示屏旋转。您在 lambda: 中绘制的所有内容都将被此选项旋转。可选 (默认)、90°180°270°

  • contrast (可选, 百分比):设置显示屏对比度百分比。默认为 100%

  • brightness (可选, 百分比):设置显示屏亮度百分比。仅可用于 SSD1305。默认为 100%

  • external_vcc (可选, 布尔值):如果您的 VCC 引脚连接到外部电源,请将其设置为 true。 默认为 false

  • flip_x (可选, 布尔值):翻转屏幕上的水平轴。默认为 true

  • flip_y (可选, 布尔值):翻转屏幕上的垂直轴。默认为 true

  • offset_x (可选, int):如果某些水平像素缺失,请设置此选项。仅允许 0~128 之间的数字。默认为 0

  • offset_y (可选, int):如果某些垂直像素缺失,请设置此选项。仅允许 0~128 之间的数字。默认为 0

  • invert (可选, 布尔值):反转显示屏上所有像素状态。默认为 false

  • lambda (可选, lambda):用于在显示屏上渲染内容的 lambda。 详见显示渲染引擎

  • update_interval (可选, 时间):重新绘制屏幕的间隔。默认为 1s

  • pages (可选, 列表):显示页面而不是单个 lambda。详见显示页面

  • spi_id (可选, ID):如果要使用多个 SPI 总线,手动指定 SPI 组件 的 ID。

  • id (可选, ID):手动指定用于代码生成的 ID。