本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步
最近使用到人体感应模块HC-SR501,这个模块使用十分简单,看下面代码就可以看出了,而且应用广泛,在家里厕所搞一个感应灯的不二之选。
目录
- 1. 使用代码
- 2. HC-SR501
- 3. 两种触发模式
- 4. 两个调节引脚说明
- 存在一个小问题:
1. 使用代码
from machine import Pin
import time
p13 = Pin(13, Pin.IN) # 构建人体红外对象
led = Pin(2, Pin.OUT) # 构建 led 对象, GPIO2,输出
def fun(*args): # 当检测到人时,板载LED灯亮起
print("1")
led.on()
time.sleep_ms(500)
led.off()
p13.irq(fun,Pin.IRQ_RISING) # 定义中断,上升沿触发
原理:当检测到人体移动时会使得信号引脚输出高电平,此时有个上升沿的越变,检测此越变即可判断是否有人体在移动。
2. HC-SR501
-
HC-SR501 是一款基于热释电效应的人体热释运动传感器,能检测到人体或者动物上发出的红外线。
-
注意检测的是是否运动
-
检测范围
通过物理旋钮可以调节其感应范围。 -
背面位置
3. 两种触发模式
两种触发方式(可跳线选择)
-
不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平
-
可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平
4. 两个调节引脚说明
- 灵敏度:用于调节检测范围,可调节范围 3米 ~ 7米
- 时间延迟调节:用于调节在检测到移动后,维持高电平输出的时间长短,可以调节范围(0.5-200S)
存在一个小问题:
如果通过此模块检测人体是否一直存在,该如何实现?此模块虽然能检测到人体,但是每当人体移动都会触发高电平。
本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步