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 (**必填”, 引脚模式):CS 线连接的引脚。
-
data_pin (**必填”, 引脚模式):DATA 线连接的引脚。
-
read_pin (**必填”, 引脚模式):READ 线连接的引脚。
-
write_pin (**必填”, 引脚模式):WRITE 线连接的引脚。
-
update_interval (可选, 时间):重新绘制屏幕的间隔。默认为
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)