ESP32-S3 控制 红外寻迹模块

ESP32-S3 红外寻迹模块实验 —— 指示灯控制

本实验通过 ESP32-S3 与红外寻迹模块 实现对障碍物的检测,并通过 LED 指示灯显示模块状态。


一、实验名称

红外寻迹模块实验


二、接线说明

红外寻迹模块 ESP32-S3 引脚
VCC 3V3
GND GND
DO 15
LED1 (指示灯) 3

三、实验现象

  • 程序下载成功后,当红外寻迹模块感应到障碍物时,LED 指示灯 D1 会亮起,感应结束时熄灭。

四、注意事项

  • DO 引脚输出数字信号,高电平或低电平表示检测状态。
  • LED 指示灯需要通过 GPIO 控制,确保连接正确。

五、完整代码示例

// 定义控制管脚
#define touch_pin  15
#define LED1       3

void setup() {
  // 设置红外模块输入引脚
  pinMode(touch_pin, INPUT);
  
  // 设置LED1输出引脚
  pinMode(LED1, OUTPUT);
  
  // 初始状态LED熄灭
  digitalWrite(LED1, LOW);
}

void loop() {
  char ledsta = 0;

  while (1) {
    // 当红外模块检测到障碍物
    if (digitalRead(touch_pin) == 0) {
      ledsta = !ledsta;           // 翻转LED状态
      digitalWrite(LED1, ledsta); // 控制LED
      while (!digitalRead(touch_pin)); // 等待模块感应结束
    }
  }
}

六、代码讲解

  1. 输入读取
if(digitalRead(touch_pin) == 0)
  • DO 引脚为数字输入,高低电平表示是否检测到障碍物。
  1. LED 控制
ledsta = !ledsta;
digitalWrite(LED1, ledsta);
  • 状态翻转方式控制 LED 灯亮灭。
  1. 等待松开
while(!digitalRead(touch_pin));
  • 防止 LED 状态重复切换,等待模块信号恢复。

七、实验效果

  • 检测到障碍物时,LED D1 亮起。

  • 障碍物移开,LED 熄灭。

  • 该实验与 触摸开关实验 的控制逻辑类似,但信号来源是红外寻迹模块。

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