矩阵键盘
matrix_keypad 组件允许您集成按键连接在矩阵行列交叉点的键盘面板。
组件/集线器
Section titled “组件/集线器”# 示例配置条目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。
单个按键可以作为 binary_sensor 独立添加到 ESPHome:
# 示例配置条目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配置条目中的按键。 - 所有其他选项来自 二值传感器。
必须提供 row 和 col 参数,或者 key 参数。