ESP32-S3 控制 触摸开关传感器
ESP32-S3 触摸开关传感器实验 —— 触摸控制 LED
本实验通过 ESP32-S3 触摸开关传感器模块 实现 LED 灯的触摸控制,体验触摸感应开关的应用。
一、实验名称
触摸开关传感器实验
二、接线说明
| 设备 | ESP32-S3 引脚 |
|---|---|
| 触摸开关模块 DO | 15 |
| 触摸开关模块 GND | GND |
| 触摸开关模块 VCC | 3V3 |
| LED模块 D1 | 3 |
三、实验现象
- 程序下载成功后,触摸传感器模块 DO 输出信号。
- 当手指触碰触摸板时,LED 指示灯 D1 亮起。
- 再次触摸,LED 熄灭,实现开关切换控制。
四、注意事项
- 触摸开关模块需连接 3.3V 电源。
- 确保触摸引脚与 ESP32-S3 IO 对应正确。
- LED D1 接线与控制管脚一致。
五、完整代码示例
// 定义触摸控制管脚
#define touch_pin 15
// 定义LED1管脚
#define LED1 3
void setup() {
pinMode(touch_pin, INPUT); // 设置触摸引脚为输入
pinMode(LED1, OUTPUT); // 设置LED引脚为输出
digitalWrite(LED1, LOW); // LED初始熄灭
}
void loop() {
char ledState = 0;
while(1) {
if(digitalRead(touch_pin) == 0) { // 检测触摸信号低电平触发
ledState = !ledState; // 状态翻转
digitalWrite(LED1, ledState); // 控制LED
while(!digitalRead(touch_pin)); // 等待手指松开
}
}
}
六、代码讲解
- 触摸引脚输入
pinMode(touch_pin, INPUT);
- 设置触摸开关 DO 引脚为输入模式。
- LED 输出控制
pinMode(LED1, OUTPUT);
digitalWrite(LED1, LOW);
- LED 初始熄灭,后续通过触摸状态控制亮灭。
- 触摸检测逻辑
if(digitalRead(touch_pin) == 0) {
ledState = !ledState;
digitalWrite(LED1, ledState);
while(!digitalRead(touch_pin));
}
- 当触摸被按下(DO 为低电平)时,LED 状态取反。
while(!digitalRead(touch_pin));等待手指松开,避免误触发连续切换。
七、实验效果
- 手指触碰触摸开关,LED D1 点亮。
- 再次触碰,LED 熄灭。
- 实现了简单的触摸开关控制。
八、总结
本实验学习了:
- ESP32-S3 IO 输入模式配置
- 触摸开关信号检测
- LED 开关状态翻转控制
这是学习 触摸感应应用 和 智能交互控制 的基础。

浙公网安备 33010602011771号