矩阵键盘
matrix_keypad 组件允许你集成这样的键盘面板:
其按键连接在矩阵的行与列的交点处。
组件/Hub
Section titled “组件/Hub”# 示例配置条目matrix_keypad: id: mykeypad rows: - pin: GPIOXX - pin: GPIOXX - pin: GPIOXX - pin: GPIOXX columns: - pin: GPIOXX - pin: GPIOXX - pin: GPIOXX - pin: GPIOXX keys: "123A456B789C*0#D" has_diodes: false on_key: - lambda: ESP_LOGI("KEY", "key %d pressed", x);-
id (可选, ID): 设置此设备的 ID,供在 lambda 中使用。
-
rows (必选, list): 水平矩阵线所连接的引脚列表,按从上到下排列。这些引脚需要具备输出能力。
-
columns (必选, list): 垂直矩阵线所连接的引脚列表,按从左到右排列。这些引脚需要具备输入能力 并启用上拉。如果没有内部上拉,则需要外部上拉电阻。
-
keys (可选, string): 矩阵上的按键,从左到右、从上到下逐行排列。对于
key_collector和binary_sensor(如果使用按键选择)是必需的。 -
has_diodes (可选, boolean): 适用于行引脚为输出、且按键 通过二极管连接的键盘面板。默认为
false。 -
has_pulldowns (可选, boolean): 适用于列线带有外部下拉电阻的键盘面板。默认为
false。
二进制传感器
Section titled “二进制传感器”可以将单个按键独立加入 ESPHome,作为 binary_sensor:
# 示例配置条目binary_sensor: - platform: matrix_keypad keypad_id: mykeypad id: key4 row: 1 col: 0 - platform: matrix_keypad id: keyA key: A- keypad_id (可选, ID): 要从中处理按键的键盘的 ID。
- id (可选, ID): 设置此按键的 ID,供在 lambda 中使用。
- row (可选, integer): 按键所在的行。
- col (可选, integer): 按键所在的列。
- key (可选, string): 上面
keys配置条目中的按键。 - Binary Sensor 的所有其他选项。
必须提供 row 和 col 参数,或者 key 参数。
-
on_key (可选, Automation): 当某个按键被按下时执行的自动化。按键存放在名为
x的变量中。NOTE
可以通过 按键收集器 组件自动处理多个按键(例如 PIN 码输入)。