ESP32-S3 控制 触摸开关传感器

ESP32-S3 触摸开关传感器实验 —— 触摸控制 LED

本实验通过 ESP32-S3 触摸开关传感器模块 实现 LED 灯的触摸控制,体验触摸感应开关的应用。


一、实验名称

触摸开关传感器实验


二、接线说明

设备 ESP32-S3 引脚
触摸开关模块 DO 15
触摸开关模块 GND GND
触摸开关模块 VCC 3V3
LED模块 D1 3

三、实验现象

  1. 程序下载成功后,触摸传感器模块 DO 输出信号。
  2. 当手指触碰触摸板时,LED 指示灯 D1 亮起。
  3. 再次触摸,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));   // 等待手指松开
    }
  }
}

六、代码讲解

  1. 触摸引脚输入
pinMode(touch_pin, INPUT);
  • 设置触摸开关 DO 引脚为输入模式。
  1. LED 输出控制
pinMode(LED1, OUTPUT);
digitalWrite(LED1, LOW);
  • LED 初始熄灭,后续通过触摸状态控制亮灭。
  1. 触摸检测逻辑
if(digitalRead(touch_pin) == 0) {
    ledState = !ledState;
    digitalWrite(LED1, ledState);
    while(!digitalRead(touch_pin));
}
  • 当触摸被按下(DO 为低电平)时,LED 状态取反。
  • while(!digitalRead(touch_pin)); 等待手指松开,避免误触发连续切换。

七、实验效果

  1. 手指触碰触摸开关,LED D1 点亮。
  2. 再次触碰,LED 熄灭。
  3. 实现了简单的触摸开关控制。

八、总结

本实验学习了:

  • ESP32-S3 IO 输入模式配置
  • 触摸开关信号检测
  • LED 开关状态翻转控制

这是学习 触摸感应应用智能交互控制 的基础。

posted @ 2025-08-16 16:00  jeikerxiao  阅读(76)  评论(0)    收藏  举报