
1、介绍
红外探测模块本质上是一个红外线收发装置,是具有一对红外线发射与接收管。发射管发射出一定频率的红外线,当发出的红外线在检测方向遇到反射面时,红外线反射回来被接收管接收,经过反相器(施密特触发器)电路处理之后,指示蓝灯会亮起,同时信号输出接口输出数字信号(一个低电平信号)。
红外探测(循迹)模块的红外发射和接收头受环境光干扰较大,一般来说,越靠近反射面,效果越好。红外探测(循迹)模块背面有一个电位器,通过调节电位器,可以调节模块的阈值,实现对应数字信号的输出。调节电位器的电压可以调节红外传感器的探测距离。当调节到LED蓝灯刚好熄灭时,检测距离最远。如果LED蓝灯常亮或者一直不亮可以调节电位器。使LED蓝灯处于刚好熄灭的状态。工作电压:3.3~5V。检测反应距离:1~50mm。
2、原理图
3、模块参数
引脚名称 | 描述 |
|---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 数字信号引脚 |
A | 模拟信号引脚 |
供电电压:3.3V / 5V
连接方式:2.54mm排针
安装方式:双螺丝固定
4、电路板尺寸

5、Arduino IDE示例程序
注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:点击查看
示例程序(UNO开发板):
void setup(){
Serial.begin(9600);
pinMode(3, INPUT);
}
void loop(){
delay(500);
if (digitalRead(3) == 1) {
Serial.println("未检测物体");
} else if (digitalRead(3) == 0) {
Serial.println("检测到物体");
}
}6、ESP32 Python 示例(适用于Mixly IDE /米思齐)
开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看
示例程序(ESP32-Python):
import machine
import time
pin2 = machine.Pin(2, machine.Pin.IN)
while True:
if pin2.value() == 1:
print('未检测到物体')
else:
print('检测到物体')
time.sleep_ms(400)7、米思齐 Mixly 示例程序(图形化语言)
示例程序(UNO开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:点击查看

8、测试环境搭建
Arduino UNO 测试环境搭建
准备配件:
HELLO STEM UNO R3 PRO 开发板 *1
USB type-c 数据线 *1
红外探测传感器模块(HS-S01A)*1
1P母对母杜邦线 *3条 或 3P母对母杜邦线 *1条
电路接线图:

ESP32 测试环境搭建
准备配件:待更新...
电路接线图:待更新...
9、视频教程
视频教程:点击查看
10、测试结果
Arduino UNO 测试结果:
在HS-S01A 红外传感器 (循迹模块)通电的情况下,用小螺丝刀调节HS-S01A 红外传感器 (循迹模块)的电位器,使手指离红外避障探头20mm左右,传感器信号指示蓝灯亮,手指离探头20mm外HS-S01A 红外传感器 (循迹模块)信号指示蓝灯熄灭。注意:HS-S01A 红外传感器 (循迹模块)的红外发射和接收探头对受环境光干扰较大,请不要在阳光太强的环境下调试。

器件连接好线之后,将上述程序烧录到 Arduino UNO 开发板之后,调节模块背面电位器的阈值,打开串口监视器,波特率设置为 9600。红外探测(循迹)传感器探头下方无物体或者为纯黑色物体时,红外探测(循迹)传感器信号蓝灯熄灭状态,输出高电平(1),串口打印“未检测物体”;如果红外探测(循迹)传感器探头检测到物体时,红外探测(循迹)传感器信号蓝灯亮起,输出低电平(0),串口打印“检测到物体”。
