人体红外传感器
人体红外感应模块使用的是热释电红外传感器,它是利用温度变化的特征来探测红外线的辐射,利用双灵敏元互补的方法抑制温度变化产生的干扰,提高了传感器的工作稳定性。产品应用广泛,例如:保险装置、防盗报警器、感应门、自动灯具、智能玩具等。
模块来源
规格参数
工作电压:4.5~20V
工作电流:<50uA
电平输出:高3.3V/低0V
感应角度:<100度锥角
输出方式: GPIO
管脚数量:3 Pin
硬件连接
HC-SR501人体感应模块使用说明
- 感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出0-3 次,一分钟后进入待机状态。
- 避免灯光等干扰源近距离直射模块表面的透镜,以免引进干扰信号产生误动作;尽量避免流动的风,风也会对感应器造成干扰。
- 感应模块采用双元探头,探头的窗口为长方形,双元(A 元B 元)位于较长方向的两端,当人体从左到右或从右到左走过时,红外光谱到达双元的时间、距离有差值,差值越大,感应越灵敏,当人体从正面走向探头或从上到下或从下到上方向走过时,双元检测不到红外光谱距离的变化,无差值,因此感应不灵敏或不工作;所以安装感应器时应使探头双元的方向与人体活动最多的方向尽量相平行,保证人体经过时先后被探头双元所感应。为了增加感应角度范围,本模块采用圆形透镜,也使得探头四面都感应,但左右两侧仍然比上下两个方向感应范围大。
- 全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电平,输出低电平;
4、两种触发方式:(可跳线选择)
不可重复触发方式: 即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平。
- VCC:连接到开发板的5V。
- OUT:连接到开发板的2号数字输入引脚。
- GND:连接到开发板的GND引脚。
使用方法
c
int pirPin = 2; // 将PIR传感器的OUT引脚连接到数字引脚2
int pirState = LOW; // 初始化变量,没有检测到运动的情况下为LOW
void setup() {
pinMode(pirPin, INPUT); // 设置PIR传感器接口为输入
Serial.begin(9600); // 初始化串行通信
Serial.println("Waiting for sensor to stabilize");
delay(2000); // 给PIR传感器预热时间,稳定后再开始读取
}
void loop() {
int val = digitalRead(pirPin); // 读取PIR传感器的状态
if (val == HIGH) { // 检查是否检测到运动
if (pirState == LOW) {
// 我们有一个运动信号!
Serial.println("Motion detected!");
pirState = HIGH; // 更新变量状态,表示已检测到运动
}
} else {
if (pirState == HIGH) {
// 动作已停止
Serial.println("Motion ended!");
pirState = LOW; // 更新变量状态,表示运动已停止
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
使用验证
可以检测到周围的动作,并且在一段时间后自动恢复。