基于STM32F103ZET6 HC_SR501人体红外感应

这是最后的实验现象,有人走过会一直输出有人,离开范围时则输出没人
开发板 PZ6086L ,HC_SR501模块

这是HC_SR501的示意图,,VCC和GND不再多做介绍,5V供电就行,
OUT接口,我接的时PA0,因为需要将该引脚配置为下拉输入模式才能正常使用
而我的开发板对应的需要PA0引脚

通过该模块的说明书,并不需要特殊的参数配置,

函数部分
HC_SR501配置函数

先是头文件,
#define HC_SR501 PAI(0) PAI(0)是位绑定,方便操作用的,
void HC_SR(void);是HC_SR501的PA0配置函数
u8 HC_SR501_Statue(void);是为了判断PA0输入状态,如果被拉高了,说明有人进入了
void HC_SR(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ,ENABLE);//打开GPIOA时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//选中0引脚
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;//配置为下拉输入模式
	GPIO_Init(GPIOA, &GPIO_InitStructure);
}
u8 HC_SR501_Statue(void)
{
	  if(PAI(0)==1)//如果GPIOA_0 引脚输入高电平,代表有人,返回1
	  {
		    return 1;
	  }
	  return 0;//没人就返回0
}
部分主函数
int main(void)
{
	delay_init(72); //滴答计时器配置函数
	RCC_Configuration();//时钟配置
	GPIO_Configuration();//GPIO配置
	HC_SR();//HC_SR501引脚配置
	USART1_Configuration();//串口配置函数
while(1)
	{
		GPIO_ResetBits(GPIOC,GPIO_Pin_0);//证明系统成功进入该循环
if(HC_SR501_Statue()==1)//如果返回状态为1 ,则该判断语句成立,输出有人
		  {
			  printf("有人\r\n");
		  }
		  else printf("没人\r\n");
		  delay_ms(500); //防止输出太过频繁
	}
}
以下是我的工程文件
包含全部程序,以及我使用的调试文件,HC_SR501模块手册,百度网盘 ,密码 lc5w
https://pan.baidu.com/s/1ALapR-4hFrfTKfuLVKRqqg
欢迎沟通交流,我们一起进步
基于STM32F103ZET6 HC_SR501人体红外感应的更多相关文章
- rfid 门卡系统和人体红外感应开发
		今天忙了一天了,因为毕昇杯我发现如果不加把劲,可能寒假之前代码搞不出了,今天突击了两个模块,一个人体感应模块,和rfid刷卡模块,这两个模块谈不上自己编写代码,今天的任务也仅仅是看懂了代码,现在我总结 ... 
- TC301A芯片做的一种人体接近感应方案
		基于TC301A芯片做的一种人体接近感应方案,此方案的原理是通过检测电容的变化量来检测人体的有无,此方案设计原理简单,使用方便,容易操作,成本较低.设计方案如下:可根据原理图做pcb板子,如图芯片的五 ... 
- 基于51,人体红外感应和RC522的门禁系统
		总结一下最近学的东西,这两天学的东西,rfid门卡系统终于弄出来来了,这个程序算现在写过的比较满意的程序,大家可以参考参考 主函数: #include<reg52.h> #include& ... 
- Homekit_温湿度_人体红外_光强_传感器
		市面上大多数,传感器产品多是简单的单个传感器进行售卖,这里我推荐一款四合一的产品,使用Homekit进行控制. 前置需求: 苹果手机一台 四合一传感器一个 USB数据线一根 介绍: 1.外观上是一个小 ... 
- 基于RT-Thread的人体健康监测系统
		随着生活质量的提高和生活节奏的加快,人们愈加需要关注自己的健康状况,本项目意在设计一种基于云平台+APP+设备端的身体参数测试系统,利用脉搏传感器.红外传感器.微弱信号检测电路等实现人体参数的采集,数 ... 
- 新建基于STM32F103ZET6的工程-HAL库版本
		1.STM32F103ZET6简介 STM32F103ZET6的FLASH容量为512K,64K的SRAM.按照STM32芯片的容量产品划分,STM32F103ZET6属于大容量的芯片. 2.下载HA ... 
- 基于Microchip单片机的触摸感应技术
		Microchip提供两种电容式触摸感应解决方案,一种为张驰振荡器方式,即通过检测触摸感应电容充放电的频率变化,来检测是否有键按下,根据单片机集成的硬件资源不同,另一种通过Microchip单片机集成 ... 
- 基于stm32f103zet6的FAT16文件系统学习0(读SD卡扇区)
		SD卡已经看了两天了,主要是因为测试出来的卡容量不对,所以一直找原因,最终还是发现了,总比不过是单位上面出现了问题,或许是之前没有接触到SD的缘故吧,所以对其中的一些寄存器很不了解,一切都是重新开始, ... 
- 基于STC89C52的oled红外遥控闹钟
		这个红外遥控主要是程序通过对按下的键的键码进行解析,并运行相应的功能代码 一次按键动作的遥控编码信息为 32 位串行二进制码.对于二进制信号“0”,一个脉冲占 1.2ms:对于二进制信号“1”,一个脉 ... 
随机推荐
- 设计模式(16)  观察者模式(OBSERVER)C++实现
			意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 动机: 将一个系统设计成一系列相互协作的类有一个常见的副作用:需要维护相关对象之间的一 ... 
- 安装PHPphp-5.4.4
			一.下载PHPphp-5.4.4 [root@aliyun software]# pwd /software[root@aliyun software]# wget http://mirrors.so ... 
- switch结构可以更好的解决等值判断问题
			switch 选择结构的语法:switch (表达式){case 常量 1://代码块1:break;case 常量 2://代码块2:break;......default://代码块n:break ... 
- 安装Jdk,tomcat【转载】
			一.下载安装对应的jdk,并配置Java环境. 官网下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-dow ... 
- css3   网格背景
			background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, rgba(255, 255, 255, .2)), ... 
- gluoncv 训练自己的数据集,进行目标检测
			跑了一晚上的模型,实在占GPU资源,这两天已经有很多小朋友说我了.我选择了其中一个参数. https://github.com/dmlc/gluon-cv/blob/master/scripts/de ... 
- Kali-linux破解LM Hashes密码
			LM(LAN Manager)Hash是Windows操作系统最早使用的密码哈希算法之一.在Windows 2000.XP.Vista和Windows 7中使用了更先进的NTLMv2之前,这是唯一可用 ... 
- html字段验证
			(1)连接去掉下划线:style="text-decoration:none" <a href="/example/html/lastpage.html" ... 
- LWIP2.0.2 & FreeRTOS & MQTT 客户端的 使用
			1.参考链接 :http://www.nongnu.org/lwip/2_0_x/group__mqtt.html 2.首先移植好lwip,然后添加lwip-2.0.2\src\apps\mqtt ... 
- redis集群环境搭建的错误
			安装redis集群需要版本号在3.0以上 redis-cluster安装前需要安装ruby环境 搭建集群需要使用到官方提供的ruby脚本. 需要安装ruby的环境. yum -y install ru ... 
