跳转到内容

TM1621 LCD 显示屏

tm1621 显示平台允许您在 ESPHome 中使用流行的 TM1621 LCD 显示驱动器,可以在 Sonoff 设备如 THR316D、THR320D、POWR316D 或 POWR320D 中找到。

TM1621 LCD 显示屏。

LCD 有四个信号,cs 用于片选,data 用于数据信号,read 用于读取数据方向,write 用于写入数据方向。

# 配置示例
display:
platform: tm1621
id: tm1621_display
cs_pin: GPIOXX
data_pin: GPIOXX
read_pin: GPIOXX
write_pin: GPIOXX
lambda: |-
it.printf(0, "%.1f", id(my_sensor1).state);
it.display_celsius(true);
it.printf(1, "%.1f", id(my_sensor2).state);
it.display_humidity(true);
  • cs_pin (**必填”, 引脚模式):CS 线连接的引脚。

  • data_pin (**必填”, 引脚模式):DATA 线连接的引脚。

  • read_pin (**必填”, 引脚模式):READ 线连接的引脚。

  • write_pin (**必填”, 引脚模式):WRITE 线连接的引脚。

  • lambda (可选, lambda):用于在 TM1621 上渲染内容的 lambda。 详见渲染 Lambda

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

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

TM1621 具有与完整的显示渲染引擎类似的 API,但只是一个子集,因为 TM1621 LCD 显示屏没有单个像素的概念。在 lambda 中,与其他所有显示屏一样,您会收到一个名为 it 的变量。在这种情况下,it 是一个 TM1621 实例(请参阅 API 参考)。

TM1621 最基本的操作是在屏幕上写入一个简单的数字,如本页面顶部的配置示例所示。但即使您传入一个字符串(这里是 "0123"),ESPHome 也会将其转换为 TM1621 可以理解的表示形式。

这三种方法(printprintf)都可选地接受行号(0 表示第一行,1 表示第二行)。 此参数默认为 0

还要注意,.(点)字符是特殊的,因为当 ESPHome 在字符串中遇到它时,前一个位置的点段将被启用。

display:
- platform: tm1621
# ...
lambda: |-
it.printf(0, "%.1f", id(my_sensor1).state);
it.display_celsius(true);
it.printf(1, "%.1f", id(my_sensor2).state);
it.display_humidity(true);

有关 printf 格式规则的快速介绍,请参阅格式化文本

我们还有五个函数来显示或不显示某些单位:

  • 第一行的 °C:display_celsius(bool)
  • 第一行的 °F:display_fahrenheit(bool)
  • 第二行的 %HR:display_humidity(bool)
  • 第一行的 V 和第二行的 A:display_voltage(bool)
  • 第一行的 kW/h 和第二行的 W:display_kwh(bool)