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

article/2025/10/15 20:13:43

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

  • 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 UNO1
HC-SR5011
导线若干

然后,将 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人体感应模块


http://chatgpt.dhexx.cn/article/JBM0LmsX.shtml

相关文章

HC-SR501人体红外感应模块程序

当感应到时,输出一个高电平。这里我对io口进行了配置,要不然读不到高电平。建议大家以后养成习惯,对io口进行配置,stm32中会用到。 在这里我额外提下,一般在stm32中 浮空输入 芯片内部没有接上下拉电阻。由于其输入阻…

单片机之人体感应传感器原理与实现

人体红外传感器,是一种新型传感器,能够有效的检测出周围环境的状态。 第一:人体红外模块工作原理 人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,被动式红外探头就是靠探测人体发射的…

【电路】自用人体感应灯(HC-SR501人体感应模块)

文章目录 低成本人体感应灯需求分析器件清单参数测量HC-SR501人体感应模块LED灯板 方案设计思路简介原理图PCB设计 成品 低成本人体感应灯 需求分析 老旧小区地下室没有灯,找钥匙不方便,地理环境因素使用声音传感灯易发生误触。 需要满足的需求&#x…

HC-SR501 人体红外感应模块

资料下载:http://pan.baidu.com/s/1bnkxeoR 完美版HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备&#x…

Arduino与人体感应模块

工具: 1.Arduino 开发板* 1 2.人体感应模块传感器 * 1 这个人体感应传感器有三个引脚,分别是VCC,OUT,GND,同之前的红外线传感器一样输出的是数字信号,所以要将OUT接入digital pwm引脚,这里我接…

SR505人体感应模块

实物外观 正: 反: 功能介绍 基于红外线的一个传感器,检测到人体的移动会输出高电平信号,持续8s左右,若人在其感应范围内长时间保持不动(或者不在其感应范围内)会输出低电平信号。 使用 该…

STM32与人体红外感应模块的简单使用——入门级

工作原理 人体有恒定的温度,可以发出10UM的红外波,而人体红外感应模块就可以探测出这些红外波,从而产生电平转换。由此人们可以使用人体红外检测模块来检测是否有人。 模块工作环境 工作电压:5V至20V电平输出:高3.3…

【传感器模块】 HC-SR501 人体红外感应模块 热释电 红外传感器

一、模块介绍 产品特点: HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口LHI778 探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的…

红外人体感应传感器SR602模块使用说明

​一.HC-SR602模块 红外人体感应传感器HC-SR602是基于红外线技术的自动控制模块,专用于感应周围人体的存在。该模块相较于HC-SR501,灵敏度较高,抗干扰能力大,且简单易用。 二.HC-SR602模块主要参数 工作电压&#xff1…

【单片机基础篇】 人体红外感应传感器模块

概述 红外热释电传感器是一款基于热释电效应的人体热释运动传感器,能检测到人体或动物身上发出的红外线,配合菲涅尔透镜能使传感器探测范围更远更广。可在控制器上编程应用,通过3P传感器连接线插接到专用传感器扩展板上使用,可以轻…

【单片机】人体感应模块

文章目录 前言模块介绍(可跳过)模块使用代码:h文件代码:c文件代码使用方法补充介绍(可/不可重复触发) 代码获取 前言 大家好,我是林白柏; 希望你看完之后,能有所收获&a…

人体红外传感模块原理分析

数字热释电传感器是将传统热释电传感器的敏感元与信号处理芯片集成化设计,将敏感元与 IC 芯片集成封装到传感器屏蔽罩内部,敏感元通过感应外界人体移动产生的红外信号,以差分输入的方式传送到高精度的数字智能处理芯片进行处理,信…

人体红外传感器HC-SR501

在学习STM32系列的芯片时,算是第一次和开发板打交道,所以很多时候不知道如何查看引脚和相关功能,虽然只是借助外设进行一些实验,但开始的时候还是感到很困难。 而且学习的过程中越来越感受到知识的积累是一个十分漫长的过程&…

HC-SR501人体感应模块介绍

HC-SR501人体感应模块简介 HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口 LHI778 探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产…

c语言换行符不起作用,回车符与换行符问题——C语言

回车符(carriage return,’\r’)与换行符 (line feed,’\n’) 换行对应的ASCII码值是10,回车符对应的ASCII码值是13,需要注意的是用户按下回车键时,对于不同的字符输入函数,读取的字符不同,下面上代码 测试一: int main() {char ch; ch = getchar(); printf("%d\n&q…

JavaScript字符串换行符与空格符

今天遇到个逻辑 后端传过来一个对象数组 要将每一个下标下的匹配信息拼接成一个字符串 然后输出出来 但是 每个信息之间要换行 突然就蒙了 泥马 js字符串怎么换行来着&#xff1f; 后面总算是找到了 js换行是 \r 或者 \n 标签是 <br/>参考代码如下 let name 你好java\…

css 换行符,CSS秘密花园: 插入换行符

《CSS Secrets》是@Lea Verou最新著作,这本书讲解了有关于CSS中一些小秘密。是一本CSSer值得一读的一本书,经过一段时间的阅读,我、@南北和@彦子一起将在W3cplus发布一系列相关的读后感,与大家一起分享。 需要通过CSS插入换行符的情况,通常出现在list列表定义中,如下图所,…

Vue js换行符在div渲染变成空格的问题

在js里更改全局变量时加入换行符&#xff0c;但在div里引用渲染失效。 </-- 在div里引用全局变量text --> <div> {{this.text}} </div>data() {return {// 全局变量初始值中有换行符text: 1\n给我换行&#xff01;&#xff01;&#xff01;,} }methods: {//…

js 字符串中的空格、换行符(\r,\s,\n,\r\n)

一、换行&#xff0c;回车 换行回车在不同操作系统下的含义 以下均为单击 Enter 键产生 Windows&#xff1a;系统行末结束符是 ‘\r\n’Linux&#xff1a;统行末结束符是 ‘\n’Mac&#xff1a;系统行末结束符是 ‘\r’ 关于软 / 硬回车的扩展知识 硬回车&#xff1a;就是普通…