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

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 (必需, Pin Schema): 你连接 CS 线的引脚。
-
data_pin (必需, Pin Schema): 你连接 DATA 线的引脚。
-
read_pin (必需, Pin Schema): 你连接 READ 线的引脚。
-
write_pin (必需, Pin Schema): 你连接 WRITE 线的引脚。
-
lambda (可选, lambda): 用于在 TM1621 上渲染内容的 lambda。 更多信息请参见 渲染 Lambda。
-
update_interval (可选, Time): 重新绘制屏幕的间隔。默认为
1s。 -
id (可选, ID): 手动指定用于代码生成的 ID。
渲染 Lambda
Section titled “渲染 Lambda”TM1621 与功能齐全的 显示渲染引擎 有类似的 API,但它只是子集,因为 TM1621
LCD 显示没有单个像素的概念。在 lambda 中,你收到一个名为 it 的变量,
与其他所有显示一样。不过在这种情况下,it 是 TM1621 实例(参见 API 参考)。
对 TM1621 最基本的操作是将简单的数字线接到屏幕,如本页面顶部的配置示例所示。但即使你传入的是一个字符串(这里是 "0123" ),ESPHome 也会将其
转换为 TM1621 能理解的表示。
三个方法(print 和 printf )都在开头
可选地接受行号(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)