树莓派连接HC-SR501人体红外感应模块和蜂鸣器模块

本项目使用树莓派3 model B、HC-SR501人体红外传感器及蜂鸣器实现了一个简易的人体感应报警系统。通过编程,系统能够检测到移动的人体并触发蜂鸣器报警。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

连接前准备

树莓派3 modelB型一个

HC-SR501传感器一只

低电平蜂鸣器模块(有源)即接上电就会响,低电平触发

母对母杜邦线三根

实物图如下:

博主连接的不是特别美观

两个传感器的连接图分别如下


HC-SR501模块连接注意

最左边引脚接的是pin2,中间数据引脚接的是pin12,最右边引脚接pin6

蜂鸣器模块连接注意

vcc接3.3v也就是pin1,I/O引脚接pin11,GND引脚接pin9
将所有模块连接好连上树莓派

代码

import RPi.GPIO as GPIO
import time

def init():
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(12, GPIO.IN)
    GPIO.setup(11,GPIO.OUT)
    pass
def beep():
        for i in range(1,6):
            GPIO.output(11, GPIO.LOW) #蜂鸣器低电平响
            time.sleep(0.5)
            GPIO.output(11, GPIO.HIGH)
            time.sleep(0.5)
            print "the Buzzer will make sound"

def detct():
    for i in range(1, 31):
        if GPIO.input(12) == True:
            print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"  Someone is closing!"
            beep()
        else:
            GPIO.output(11, GPIO.HIGH)
            print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"  Noanybody!"
        time.sleep(6) #每6秒检查一次
time.sleep(2)
init()
detct()
GPIO.cleanup()

博主比较懒没有写注释,大概解释下HC-SR501模块感应到有人时(人必须要移动,不然也检测不到)会输出高电平,特别要注意的是HC-SR501模块有一个封锁时间(默认设置为3-4秒),就是当检测到有人时,持续输出信号后,接下来的一段时间内,树莓派不会接受任何信号了,又因为HC-SR501模块默认是可重复触发方式,检测到有人后会在接下来的一段时间(大概3秒)内一直输出高电平(这个时间也就是延时,可以通过模块上的按钮来调节,博主逆时针调到不能转动的样子,时间估计在3秒左右),这个延时时间和封锁时间加起来大概在6秒左右,所以博主设置为6秒检查一次,蜂鸣器检测到有人就响5次。

模块测试

先上图
博主经过一下午的测试这一次测试算是比较成功的,博主测试时是将传感器放在桌子上,自己在远处走过来走过去这样测试的,必须要动这样才能检测出来,HC-SR501传感器对环境要求比较高,我们可以从它的说明书中得知,环境影响很大,最开始我将采集数据的时间设置为2s的时候总是不对劲,改成6s之后数据就正常了,博主具体原因不清楚,但是我认为是封锁时间造成的,改成6s之后,避免封锁时间内,传感器没数据发送低电平出现测试不准确,感兴趣的人可以找找有关文章了解一下


HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。 电气参数 产品型号HC--SR501人体感应模块 工作电压范围直流电压4.5-20V 静态电流<50uA 电平输出高3.3 V /低0V 触发方式L不可重复触发/H重复触发(默认重复触发) 延时时间5-200S(可调)可制作范围零点几秒-几十分钟 封锁时间2.5S(默认)可制作范围零点几秒-几十秒 电路板外形尺寸32mm*24mm 感应角度<100度锥角 工作温度-15-+70度 感应透镜尺寸直径:23mm(默认) 功能特点: 1、全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。 2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。 3、温度补偿(可选择,出厂时未设):在夏天当环境温度升高至30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。 4、两种触发方式:(可跳线选择) a、不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平; b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。 5、具有感应封锁时间(默认设置:2.5S封锁时间):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(此时间可设置在零点几秒—几十秒钟)。 6、工作电压范围宽:默认工作电压DC4.5V-20V。 7、微功耗:静态电流<50微安,特别适合干电池供电的自动控制产品。 8、输出高电平信号:可方便与各类电路实现对接。 实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-981744861.13.F4vK7o&id=10566272393
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值