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)); // 等待模块感应结束
}
}
}
六、代码讲解
- 输入读取
if(digitalRead(touch_pin) == 0)
- DO 引脚为数字输入,高低电平表示是否检测到障碍物。
- LED 控制
ledsta = !ledsta;
digitalWrite(LED1, ledsta);
- 状态翻转方式控制 LED 灯亮灭。
- 等待松开
while(!digitalRead(touch_pin));
- 防止 LED 状态重复切换,等待模块信号恢复。
七、实验效果
-
检测到障碍物时,LED D1 亮起。
-
障碍物移开,LED 熄灭。
-
该实验与 触摸开关实验 的控制逻辑类似,但信号来源是红外寻迹模块。

浙公网安备 33010602011771号