精帖  树莓派4B使用人体红外感应传感器模块 控制继电器开关灯教程人体感应,GPIO编程,传感器

By 管理员7

2023-05-20 00:23:39

浏览量3727

已赞10

人体红外传感器工作原理:热释电探头在检测到人体发出的红外线时,会发出一个脉冲信号(脉冲宽度固定)。有人时,人体产生的红外线会交替出现在“盲区”和“高灵敏区”,就一直有脉冲信号输出(实测人静止不动时不会输出)。所以传感器检测的是移动的人体。如果在通过放大器BISS0001将脉冲信号转化为更直观的高低电平输出则显示为:有人时输出高电平,无人输出低电平。并在放大电路上设置电位器,调节输出信号的灵敏度(比如探头产生n个脉冲,模块才输出高电平),调节高电平持续时间。了解大概原理后我们可以利用人体红外传感器来做一些智能化的方案。

教程实验效果:使用人体红外传感器实时对周围进行检测是否有人经过。 在没有人的情况下树莓派端显示“正常”,如果检测到有人会发送信号给树莓派端让其显示“有人”从而让树莓派控制继电器打开电灯。

配件清单:

树莓派4B

人体红外传感器绿板

1路5V高电平继电器模块

LED灯

杜邦线

面包板

一:接线方法

树莓派与传感器/继电器的接线方式请按下面步骤接好(可参考下图)树莓派的引脚为BCM编码可对照下面的GPIO引脚定义图

人体红外传感器:

树莓派5V —— 传感器5V

树莓派GND —— 传感器GND

树莓派GPIO20 —— 传感器信号接口


继电器:

树莓派5V —— 继电器VCC

树莓派GND —— 继电器GND

树莓派GPIO21  —— 继电器IN


LED灯与面包板:

led正极  —— 继电器NO

led负极  ——  面包板-负极

面包板+正极  —— 继电器COM

注:下图的面包板正负极是需要单独供电

Image

树莓派GPIO引脚示意图:

Image

二:程序代码

输入命令新建一个py文件

sudo nano raspisr501.py
编辑程序(复制粘贴下面程序到文件内)

import RPi.GPIO as GPIO
import time
#source:www.raspi.cc
#name:raspi
GPIO.setmode(GPIO.BCM)

# 设置GPIO20作为输入
GPIO.setup(20, GPIO.IN)

# 设置GPIO21作为输出
GPIO.setup(21, GPIO.OUT)

while True:
    # 检测GPIO20的输入状态
    if not GPIO.input(20):
        print('正常')
    else:
        print('有人')
        # 让GPIO21输出高电平
        GPIO.output(21, GPIO.HIGH)
        # 停止10秒钟
        time.sleep(10)
        # 让GPIO21输出低电平
        GPIO.output(21, GPIO.LOW)

    # 暂停1秒钟
    time.sleep(1)

程序复制好后按Ctrl+X按Y保存下来。输入运行程序命令:

sudo python raspisr501.py
然后我们就能看到树莓派端输出为 正常, 如果靠近传感器时会 显示有人 并触发继电器点亮LED灯(如下图)

Image

总结:

在接线前可将传感器先调试好感应的距离和感应后持续输出的时间(可参考下图)调节旋钮全部转到低则为最短距离和延时最短。 传感器的感应距离范围为:(2m-7m),感应延时时间范围为: 0.5-200S

Image


传感器原理图资料下载


本文章最后由 超级版主2023-11-12 21:26 编辑
发表评论
请先 注册/登录 后参与评论

已有1 发布

默认   热门   正序   倒序
  • 2F
    guest2023-05-20 00:45:01   
    666
    0
查看更多评论
(10) 分享
分享

扫二维码或复制链接分享该篇文章

取消
已有0次打赏
本站免责声明
1、本站资源,均来自网络或个人用户发布,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:cxg88@qq.com