Example 36: touch sensor
About 2 min
Example 36: touch sensor
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- Overview
- Wiring
- JSON Configuration Example
- PeriphExec Linkage
- Notes
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
示例36:触摸传感器
实验概述
ESP32 内置电容触摸传感器,支持 10 个触摸引脚(Touch0~Touch9),无需外部元件即可实现触摸检测。FastBee 提供 GPIO_TOUCH 外设类型(type: 21)直接支持。
硬件接线
| 触摸通道 | GPIO引脚 | 说明 |
|---|---|---|
| Touch0 | GPIO4 | 触摸输入0 |
| Touch2 | GPIO2 | 触摸输入2 |
| Touch3 | GPIO15 | 触摸输入3 |
| Touch4 | GPIO13 | 触摸输入4 |
| Touch5 | GPIO12 | 触摸输入5 |
| Touch6 | GPIO14 | 触摸输入6 |
| Touch7 | GPIO27 | 触摸输入7 |
| Touch8 | GPIO33 | 触摸输入8 |
| Touch9 | GPIO32 | 触摸输入9 |
触摸引脚直接连接金属片或导电材料即可感应触摸。
JSON 配置示例
{
"peripherals": [
{
"id": "touch_01",
"name": "触摸输入",
"type": 21,
"enabled": false,
"pins": [4],
"params": {}
}
]
}外设执行联动
场景:触摸开关灯(轮询触发)
功能:触摸传感器时切换LED开关
Web界面配置步骤
步骤1:确保已配置LED外设
- 外设ID:
led_d1 - 类型:GPIO输出
步骤2:创建规则
- 点击左侧菜单 外设配置 → 切换到 外设执行管理 标签
- 点击 新增规则 按钮
- 填写基础配置:
- 规则名称:
触摸开关灯 - 上报数据:✅ 启用
- 启用:✅ 启用
- 规则名称:
步骤3:配置触发器(轮询触发)
点击 添加触发 按钮
填写触发器配置:
字段 填写内容 说明 触发类型 选择 轮询触发 定时检测条件 目标外设 选择 touch_01触摸传感器 轮询间隔 100100ms 条件表达式 value < 40触摸阈值
步骤4:配置动作
点击 添加动作 按钮
填写:
- 动作类型:选择 切换电平
- 目标外设:选择
led_d1
点击 保存 按钮
ESP32触摸引脚列表
| 触摸通道 | GPIO引脚 | 触摸通道 | GPIO引脚 |
|---|---|---|---|
| Touch0 | GPIO4 | Touch5 | GPIO12 |
| Touch2 | GPIO2 | Touch6 | GPIO14 |
| Touch3 | GPIO15 | Touch7 | GPIO27 |
| Touch4 | GPIO13 | Touch8 | GPIO33 |
| Touch9 | GPIO32 |
⚠️ 注意:Touch1(GPIO0)不推荐使用,WiFi工作时可能影响触摸读数
注意事项
- 阈值:触摸时值降低(典型 <40),未触摸时较高(>60),需实际测试确定阈值
- 导线长度:触摸引脚到感应片的连线不宜过长(<30cm)
- ESP32-S3:S3 的触摸传感器有改进,阈值范围不同
- 防误触:建议增加触摸确认延时,避免误触发
- WiFi 影响:WiFi 工作时可能略微影响触摸读数
