100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > HC-SR501人体感应模块代码(STM32单片机驱动)

HC-SR501人体感应模块代码(STM32单片机驱动)

时间:2019-04-20 10:40:00

相关推荐

HC-SR501人体感应模块代码(STM32单片机驱动)

HC-SR501人体感应模块代码(STM32单片机驱动)

HC-SR501人体感应模块简介模块特点 MCU与接线代码

HC-SR501人体感应模块简介

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

模块特点

全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电平,输出低电平。

MCU与接线

使用了STM32F103ZET6单片机作为MCU,接线引脚为PA2

代码

People_Check.c

//--------------------------------------------------------------------------------------------------// 包含的头文件 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 //--------------------------------------------------------------------------------------------------#include "People_Check.h"#include "main.h"// // //初始化PA2为输出口.并使能这两个口的时钟 //LED IO初始化void PeoPle_Check_Init(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED0-->PA.2 端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //浮空输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHzGPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.2GPIO_ResetBits(GPIOA,GPIO_Pin_2); //PA.2 输出高//GPIO_SetBits}void PeoPle_Check_Show(void){LCD_ShowString(0,184,64,16,16,"People:");if(pinLevel==1){numToString(1);printf("People: %s\r\n\r\n", strValue);LCD_ShowString(64,184,32,16,16,"Yes");esp8266_str_data("People", strValue);}else if(pinLevel==0){numToString(0);printf("People: %s\r\n\r\n", strValue);LCD_ShowString(64,184,32,16,16,"Not");esp8266_str_data("People", strValue);}}

People_Check.h

#ifndef __PEOPLE_CHECK_H#define __PEOPLE_CHECK_H #include "sys.h"// #define PeopleCheck PAout(2)// PA2//#define LED1 PEout(5)// PE5#define pinLevel GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)//读取按键void PeoPle_Check_Init(void);//初始化void PeoPle_Check_Show(void);#endif

遇事不决,可问春风

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。