树莓派实践系列2-人体红外感应传感器、声音传感器、红外避障传感器

简介

人体红外感应传感器、声音传感器、红外避障传感器是三个比较简单的传感器,之所以说其简单,是因为它们的功能为判断是否有人体靠近、是否有声音、是否有障碍物,功能明确、简单,均为被动式传感器,树莓派的仅仅通过读取GPIO接口的高低电平状态即可完成判断。
图1. 人体红外感应传感器、声音传感器、红外避障传感器(从左至右)

人体红外感应传感器

转自https://blog.csdn.net/sinat_33523805/article/details/78701878

简要说明

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

模块调节

1、 调节检测距离
2、 封锁时间:感应模块在每一次感应输出后(高电平变为低电平),可以紧跟着设置一个封锁时间,在此时间段内感应器不接收任何感应信号。此功能可以实现(感应输出时间和封锁时间)两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(默认封锁时间2.5S)

注:
1、调节距离电位器顺时针旋转,感应距离增大(约 7 米),反之,感应距离减小(约 3 米)。
2、调节延时电位器顺时针旋转,感应延时加长(约300S),反之,感应延时减短(约 0.5S)。
图2. 转自https://blog.csdn.net/sinat_33523805/article/details/78701878

实战
与树莓派的连接
  1. vcc~2号接口,对应5V电源;
  2. GND~6号接口,接地;
  3. OUT~12号接口(BCM编码为18号GPIO接口),数据接口。
源码
# -*- coding: utf-8 -*-
import time
import RPi.GPIO as GPIO

BODY_GPIO = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(BODY_GPIO, GPIO.IN)

def body_detect():
    signal = GPIO.input(BODY_GPIO)
    if signal == 1:
        print "DETECT BODY!"
    else:
        print "NO BODY!"

if __name__ == "__main__":
    count = 0
    while True:
        body_detect()
        time.sleep(6)
        count += 1
        if count == 20:
            break
    GPIO.cleanup()

声音传感器

转自 https://blog.csdn.net/zhang_z_qiang/article/details/51237026

简要说明

1.可以检测周围环境的声音强度 ,使用注意:此传感器只能识别声音的有无(根据震动原理)不能识别声音的大小或者特定频率的声音
2 .灵敏度可调(图中蓝色数字电位器调节)
3.工作电压3.3V-5V
4.输出形式数字开关量输出(0和1高低电平)

与树莓派的连接
  1. vcc~2号接口,对应5V电源;
  2. GND~6号接口,接地;
  3. OUT~12号接口(BCM编码为18号GPIO接口),数据接口。
源码
# -*- coding: utf-8 -*-
import time
import RPi.GPIO as GPIO
class SoundDetect(object):
    def __init__(self):
        self.port = 18
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(self.port, GPIO.IN)

    def detect(self):
        while True:
            signal = GPIO.input(self.port)
            if signal == 1:
                print "detect sound"
            else:
                print "no sound"
            time.sleep(1)


if __name__ == "__main__":
    sound = SoundDetect()
    sound.detect()

红外避障传感器

转自 https://blog.csdn.net/xieyan0811/article/details/56011900

简要说明

红外避障传感器具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收。它常用于安装在小车上,判断前方是否有障碍物。可通过电位器设置阀值。正前方有障碍时绿灯亮起,OUT引脚为低电平,反之为高电平。其灵敏度可通过蓝色旋钮调节。

实战
与树莓派的连接
  1. vcc~2号接口,对应5V电源;
  2. GND~6号接口,接地;
  3. OUT~12号接口(BCM编码为18号GPIO接口),数据接口。
源码

根据该传感器的工作原理,我们只需监测相应GPIO接口为高/低电平即可。

import time
import RPi.GPIO as GPIO
class ObstacleDetect(object):
    def __init__(self):
        self.port = 18
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(self.port, GPIO.IN)

    def detect(self):
        while True:
            signal = GPIO.input(self.port)
            if signal == 0:
                print "detect obstacle"
            else:
                print "no obstacle"
            time.sleep(1)


if __name__ == "__main__":
    obstacle = ObstacleDetect()
    obstacle.detect()

当没有物体靠近时,为检测到障碍物,当用手靠近传感器时,LED指示灯点亮,并且输出低电平,可以通过GPIO接口监测到。
图5. 红外避障传感器

  • 8
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
树莓派红外接收传感器是一种被动式传感器,用于检测人体发射的红外线。人体发射的特定波长的红外线通过菲涅尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,当接收到人体红外辐射温度发生变化时,热释电元件会失去电荷平衡,释放电荷。后续电路会对这个信号进行检测处理,从而产生报警信号。树莓派通过读取GPIO接口的高低电平状态来判断是否有人体靠近。因此,树莓派红外接收传感器可以用于入室监控系统,当有人进入时,可以触发相应的操作,比如开灯、拍照等。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [树莓派实践系列2-人体红外感应传感器声音传感器红外避障传感器](https://blog.csdn.net/Vancl_Wang/article/details/85556657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [入室监控—树莓派上挂红外传感器(python)](https://blog.csdn.net/weixin_43719793/article/details/88077758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值