MPR121 电容式触摸传感器
mpr121 传感器平台允许你在 ESPHome 中使用你的 MPR121
(数据手册,
Adafruit) 电容式触摸传感器。此传感器要正常工作,需要在配置中
设置 I²C。

# 示例配置条目mpr121: id: mpr121_component address: 0x5A touch_debounce: 1 release_debounce: 1 touch_threshold: 10 release_threshold: 7
binary_sensor: - platform: mpr121 id: touch_key0 channel: 0 name: "Touch Key 0" touch_threshold: 12 release_threshold: 6配置由两部分组成:中心组件和每个通道单独的二进制传感器。
-
address(可选,int):传感器的 I²C 地址。默认为
0x5A。 -
id(可选,ID):设置此传感器的 ID。
-
touch_debounce(可选,int):识别触摸前的最小时长。范围为 0 到 7。 默认为 0。
-
release_debounce(可选,int):在创建释放事件之前,不识别触摸的最小时长。 范围为 0 到 7。默认为 0。
-
touch_threshold(可选,int):所有通道的触摸阈值。它定义了触摸检测的灵敏度 ,应在 5 到 30 之间(越低越灵敏)。默认为 12。通常触摸阈值略大于释放阈值。
-
release_threshold(可选,int):释放定义了触摸检测的灵敏度,应在 5 到 30 之间。默认为 6。
二进制传感器
Section titled “二进制传感器”mpr121 二进制传感器允许你在 ESPHome 中使用你的 MPR121。
首先设置 组件/中心,然后使用此二进制传感器平台为每个触摸传感器创建单独的
二进制传感器。
配置变量:
- mpr121_id(可选,ID):上面定义的 MPR121 的 ID。适用于 I²C 总线上有多个 MPR121 的情况
- channel(必选,int):触摸按键所连接的 MPR121 的通道编号。
- touch_threshold(可选,int):对全局 touch_threshold 值的每通道覆盖。如果未指定,则使用全局值。
- release_threshold(可选,int):对全局 release_threshold 值的每通道覆盖。如果未指定,则使用全局值。
- 来自 Binary Sensor 的所有其他选项。
mpr121 还支持将其触摸电极配置为 GPIO 输入和输出。为此,
请在 mpr121 组件的配置中指定一个 id。然后,在 mpr121 字段中使用此 ID 配置 GPIO 输出或
输入。
output: - id: ext_5v_power platform: gpio pin: mpr121: mpr121_component number: 10 mode: OUTPUT inverted: truenumber 指的是 MPR121 芯片上的 ELEx 引脚编号。仅 ELE4 到 ELE11(含)可作为
GPIO 使用。
GPIO 和触摸功能可以同时使用,但不能在相同的引脚上。
当使用较高编号的引脚作为触摸 通道时,也不允许将引脚配置为 GPIO。这是因为触摸功能是配置为一个范围,从 ELE0 开始。 例如:
- 将通道 2 和 5 用作触摸并将通道 6 用作 GPIO 是可以的
- 将通道 2 和 5 用作触摸并将通道 4 用作 GPIO 是不可以的