美文网首页人工智能-AIarduino玩转Arduino
Arduino 使用人体红外感应模块 HC-SR501

Arduino 使用人体红外感应模块 HC-SR501

作者: speculatecat | 来源:发表于2017-09-22 10:37 被阅读490次

    通过这篇文章,可以了解到以下内容:

    • HC-SR501 传感器的基本信息及接线方法
    • HC-SR501 跳线选择的两种时间模式
    • HC-SR501 简单功能实验

    HC-SR501 传感器的基本信息及接线方法

    HC-SR501 是一款基于热释电效应的人体热释运动传感器,能检测到人体或者动物上发出的红外线。这个传感器模块可以通过两个旋钮调节检测 3 ~ 7 米的范围,5秒至5分钟的延迟时间,还可以通过跳线来选择单次触发以及重复触发模式

    HC-SR501 针脚以及控制

    HC-SR501 针脚以及调节的细节参考下表,资料来源于 henrysbench.capnfatz.com,由本文作者翻译。

    HC-SR501-Motion-Detector-Pin-Outs_zh.png
    针脚以及控制 功能
    时间延迟调节 用于调节在检测到移动后,维持高电平输出的时间长短,可以调节范围 5秒 ~ 5分钟
    感应距离调节 用于调节检测范围,可调节范围 3米 ~ 7米
    检测模式条件 可选择单次检测模式和连续检测模式
    GND 接地针脚
    VCC 接电源针脚
    输出针脚 没有检测到移动为低电平,检测到移动输出高电平

    时间延迟、距离调节方法

    时间延迟调节
    将菲涅尔透镜朝上,左边旋钮调节时间延迟,顺时针方向增加延迟时间,逆时针方向减少延迟时间。

    HC-SR501-Time-Delay-Adjustment.png

    距离调节
    将菲涅尔透镜朝上,右边旋钮调节感应距离长短,顺时针方向减少距离,逆时针方向增加距离。

    HC-SR501-Sensitivity-Adjust.png

    检测模式跳线调节

    HC-SR501-Trigger-Mode-Selection.png

    如上图,旋钮旁边三针脚为检测模式选择跳线,将跳线帽插在如图上方两针脚,即为单次检测模式,下方两针脚为连续检测模式。

    单次检测模式
    传感器检测到移动,输出高电平后,延迟时间段一结束,输出自动从高电平变成低电平。
    连续检测模式
    传感器检测到移动,输出高电平后,如果人体继续在检测范围内移动,传感器一直保持高电平,知道人离开后才延迟将高电平变为低电平。
    区别
    两种检测模式的区别,就在检测移动触发后,人体若继续移动,是否持续输出高电平。

    HC-SR501 简单功能实验

    接下来,我们将尝试完成一个简单的实验来使用这个传感器。
    首先我们需要以下原件:

    名称 数量
    Arduino UNO 1
    HC-SR501 1
    导线 若干

    然后,将 Arduino 与 传感器按如下图连接:

    HC-SR501-Arduino-Tutorial-Hook-Up.png

    接下来,将以下程序编译上传到 Arduino 上。

    int ledPin = 13;
    int pirPin = 7;
    
    int pirValue;
    int sec = 0;
    
    void setup()
    {
        pinMode(ledPin, OUTPUT);
        pinMode(pirPin, INPUT);
    
        digitalWrite(ledPin, LOW);
        Serial.begin(9600);
    }
    
    void loop()
    {
        pirValue = digitalRead(pirPin);
        digitalWrite(ledPin, pirValue);
            // 以下注释可以观察传感器输出状态
        // sec += 1;
        // Serial.print("Second: ");
        // Serial.print(sec);
        // Serial.print("PIR value: ");
        // Serial.print(pirValue);
        // Serial.print('\n');
        // delay(1000);
    }
    

    完成以上步骤后,将 Arduino 通电,如果一切正常,那么在传感器前移动时,Arduino 上的 LED 等会亮,然后可以通过更改跳线接法体验不同检测模式的区别。

    小结

    这篇文章我们了解了 HC-SR501 人体移动感应传感器的用法及调节接线方法,然后分析并了解了两种不同的检测模式的区别,最后完成了一个小实验体验使用人体移动感应传感器的功能。

    参考资料

    Arduino HC-SR501 Motion Sensor Tutorial
    完整版HC-SR501人体感应模块

    相关文章

      网友评论

      本文标题:Arduino 使用人体红外感应模块 HC-SR501

      本文链接:https://www.haomeiwen.com/subject/gyvxextx.html