stm32的人体红外传感器的初步使用
目录
- 一、简介
- 二、规格
- 三、功能特点
- 四、连接
- 五、代码
一、简介
HC-SR501是基于红外线技术的自动控制模块,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。
二、规格
工作电压范围
直流电压 4.5-20V
静态电流 <50uA
电平输出 高 3.3V/低 0V
触发方式 L 不可重复触发/H 重复触发
延时时间 0.5-200S(可调)可制作范围零点几秒-几十分钟
封锁时间 2.5S(默认)可制作范围零点几秒-几十秒
感应角度 <100 度锥角
工作温度 -15-+70 度
三、功能特点
1、全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电平,输出低电平。
2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。
3、温度补偿(可选择,出厂时未设):在夏天当环境温度升高至 30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。
4、 两种触发方式:(可跳线选择)
a、不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;
b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
5、具有感应封锁时间(默认设置:2.5S 封锁时间):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(此时间可设置在零点几秒—几十秒钟)。
6、 工作电压范围宽:默认工作电压 DC4.5V-20V。
7、 微功耗:静态电流<50 微安,特别适合干电池供电的自动控制产品。
8、 输出高电平信号:可方便与各类电路实现对接。
9、 感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出
0-3 次,一分钟后进入待机状态。
四、连接
将VCC和GND连接在开发板对应的引脚上(此处选择普中STM32F103开发板),信号输出线接在PD3上
五、代码
老师给了寄存器开发的代码,自己简单修改成库函数开发
在pir.h 文件中,我们先进行宏定义,方便移植
#define pir_PORT GPIOD
#define pir_PIN GPIO_Pin_3
#define pir_RCC RCC_APB2Periph_GPIOD#define pir_STATE() GPIO_ReadInputDataBit(pir_PORT,pir_PIN)//读取人体红外的值
定义完了之后,再对pir.c文件中的PD3接收引脚进行初始化
//对人体红外模块引脚进行初始化
void pir_INIT(void)
{GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量RCC_APB2PeriphClockCmd(pir_RCC,ENABLE); GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING;GPIO_InitStructure.GPIO_Pin =pir_PIN ;GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;GPIO_Init(pir_PORT ,&GPIO_InitStructure);}
最后,在main.c函数里面进行情况选择
int main()
{SysTick_Init(72);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //中断优先级分组 分2组LED_Init();USART1_Init(115200);pir_INIT();while(1){if(GPIO_ReadInputDataBit(pir_PORT,pir_PIN)==0) {LED1=1; LED2=1;printf("附近没人!\r\n");}else {LED2=0; LED1=0; printf("附近有人!\r\n");}}
}
stm32的人体红外传感器的初步使用相关推荐
- 人体红外传感器HC-SR501
在学习STM32系列的芯片时,算是第一次和开发板打交道,所以很多时候不知道如何查看引脚和相关功能,虽然只是借助外设进行一些实验,但开始的时候还是感到很困难. 而且学习的过程中越来越感受到知识的积累是一 ...
- 基于STM32智能人体红外和声音感应声光控开关设计
模块: 人体红外传感器:arduino HC-SR501人体红外感应模块(又名热释电) 声音传感器模块 声音检测模块 咪头模块 声控口哨开关 2路带光耦继电器模块 当检测到生物体靠近时,打开继电器 ...
- 基于Arduino实现简单人体红外感应灯(人体红外传感器+LED)
这是一个使用arduino以及人体红外传感器实现的人体感应灯,详细细节如下: 1. 实验元件 UNO 实验套装(arduino控制板.USB数据线.面包板.跳线) 人体红外传感器1个 led灯1个 电 ...
- 人体红外传感器简明教程
学习物联网,来HaaSEDU就对了 人体红外热释电运动传感器 一.产品简介 热释电红外运动传感器能检测运动的人或动物身上发出的红外线,输出开关信号,可以应用于各种需要检测运动人体的场合.传统的热释电红 ...
- zigbee 源码 04_人体红外传感器
所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 04_ZigBee 传感器组网--人体红外传感器 实验现象: 人体红外传感器跟光敏传感器检测方法类似:终端节点采集人体走动 信号 ...
- 人体红外传感器+继电器
基于人体红外传感器,设计人体感应灯光控制系统,通过继电器控制开发板上的发光二极管点亮或熄灭, 当有人出现时,人体红外线传感器感测到后,将信号输入继电器的IN脚位,继电器COM脚位从NC连到NO,LED ...
- 红外线人体感应灯arduino_第五章 自制一盏人体感应灯(人体红外传感器SR501)(Arduino边做边学:从点亮Led到物联网)...
本系列文章为作者原创,未经作者书面同意,不得转载! 现在很多有老人的家庭都会在卫生间安装一种感应灯,当人进入卫生间时,灯就会发光,过一会儿就自动关闭了.这种灯比传统的声控灯要科学一下,尤其晚上,不会打 ...
- 人体红外传感器+蜂鸣器实现人体红外报警
实现代码如下: int buzzer = 7; //定义蜂鸣器输出引脚为7int frequency = 900; //定义蜂鸣器发声频率int PIR_sensor = A5; //定义人体传感器的 ...
- 技能梳理14@stm32+esp8266+ds18b20+红外传感器+烟雾传感器+CO传感器+蜂鸣器
画板子,有至少8个io口(分别连ds18b20.红外传感器.烟雾传感器.CO传感器,后面3个传感器都是检测到就发高电平),2个串口,1个蜂鸣器,nbiot用的YED-C724 核心板(AIR724) ...
- 【STM32学习】红外传感器实现——广告自动关闭和自动打开功能
所用硬件设备: 1.电脑 2.STM32嵌入式最小系统--其实51控制成本会更低,也同样稳定.(* ̄︶ ̄) 3.HC-SR501 RD-624人体红外感应电子模块 淘宝上多的一塌糊涂,几块钱即可购买 ...
最新文章
- 李飞飞团队从动物身上get AI新思路,提出RL计算框架,让机器在复杂环境学习和进化...
- 限流算法——漏桶算法和令牌桶算法介绍
- 【UVA - 11383】Claw Golden Tiger (二分图最优匹配,KM算法原理)
- 唯一索引与主键索引的比较
- keytool使用方法总结
- ENS与Cloudflare合作推出改进的ETH.LINK服务
- Windows用户密码基础知识
- 数组(有序数组)的公共部分
- 美团 | 搜索多业务商品排序探索与实践
- voc数据集转换为txt
- 计算机毕业设计Java教材管理系统(源码+系统+mysql数据库+Lw文档)
- 火狐浏览器国内版和国际版区别
- 日语翻译中文-大家都再用的日语转换中文的转换器
- 第09章节-Python3.5-Django目录详解 8
- 【IT互联网系列】什么是网关?网关的作用是什么?看完不懂,你捶我
- 报错javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
- jmeter抓取百度热点链接
- 人脸识别与Disentangled Representation
- 浏览器百家争鸣,国产能打的浏览器来了!
- 微信小程序定制开发的几大类型