树莓派4B-Python-控制HC_SR501(微型人体红外感应模块)



文章目录

  • 树莓派4B-Python-控制HC_SR501(微型人体红外感应模块)
  • 前言
  • 一、微型HC_SR501模块
  • 二、参数介绍
  • 三、与树莓派连接
  • 四、代码
  • 总结



前言

该树莓派控制HC_SR501人体红外感应模块是为了V4小车预加功能而下单购买并研究其用法的,但发现这HC_SR501人体红外感应模块与红外传感模块极为相似,只是它本身增加了延迟变为低电平的功能。


一、微型HC_SR501模块

树莓派控制红外传感器python 树莓派红外测体温_Python


更为详细的介绍.

工作原理:
人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的10UM左右的红外线而进行工作的。人体发射的10UM左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。
红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。


二、参数介绍

工作电压范围:DC 3 ~ 12V
实际延迟时间:1 ~ 2s
实际封锁时间:2 ~ 3.5s
实际感应范围:一米左右


三、与树莓派连接

树莓派控制红外传感器python 树莓派红外测体温_树莓派控制红外传感器python_02


红色线————5V

蓝色线————GND

黄色线————GPIO14(BCM)


四、代码

如下为写成代码形式:

#!/usr/bin/python
#encoding:utf-8

# 目前用的人体红外传感器模块是最迷你型的,因此感应的距离只有一米
# 当检测到人体活动时,会持续高电平2~4秒

import RPi.GPIO as GPIO
import time

HC_SR501 = 14

GPIO.setmode(GPIO.BCM)
GPIO.setup(HC_SR501,GPIO.IN)

try:
    while True:
        if(GPIO.input(HC_SR501) == True):
            print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" 警告!附近一米内有人 ")
        else:
            print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" 无情况,周围没人! ")
        time.sleep(1)
            
except:
    pass

GPIO.cleanup()

总结

好伐,研究了个目前没有太大用处的模块,它主要用于自动感应人体的夜灯啊之类的(目前只想到这个)…但也可以装在小车上检测到范围内有人体活动时,让车速降低啊什么的,应该可以专门用来检测范围内是否有人体活动,就不知道太阳光的照射会不会对它造成干扰…太阳光中也会有红外线,万一它误认为太阳光也是人就尴尬了,一般检测红外的都见不了太阳光…唉,一大通病。