STM32--人体红外感应开关

本文主要介绍基于STM32F103C8T6和人体红外感应开关实现的控制算法

简介

人体红外模块选用HC-SR501人体红外传感器,人体红外感应的主要器件为人体热释电红外传感器。人体都有恒定的体温,一般在36~37度,所以会发出特定波长的红外线,被动式红外探头就是探测人体发射的红外线而进行工作的

该模块有3个引脚,:

(1)VCC:电源正,4.5V-20V电压,静态电流50uA

(2)GND:电源地

(3)OUT:信号输出,高电平3V3,低电平0V

对应引脚图如下:

人体红外传感器和STM32的接线方式见下表(输出脚接普通GPIO口即可,仅输入信号检测管脚)

STM32F103 人体红外传感器
5V VCC
GND GND
B14 OUT

人体红外传感器初始化函数

c 复制代码
void INFRARED_Init(void)
{  
    GPIO_InitTypeDef GPIO_InitStructure;   

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIO_B
     
    //INFRARED  IO 初始化
    GPIO_InitStructure.GPIO_Pin = INFRARED ;       	//发送高点平引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;	//推挽输出
    GPIO_Init(INFRARED_PORT, &GPIO_InitStructure);
    GPIO_ResetBits(INFRARED_PORT,INFRARED );
	
}

人体红外传感器读取数据函数

c 复制代码
		if( GPIO_ReadInputDataBit(INFRARED_PORT,INFRARED) != RESET)
		{
		   PBout(13)=0;  //低电平有效
		   delay_ms(600);
			 PBout(13)=1;  //低电平有效
		   delay_ms(2000);
		}
相关推荐
国科安芯33 分钟前
Buck 电路调试避坑手册:国产电源芯片纹波超标、斩波不稳定解决方案
网络·单片机·嵌入式硬件·fpga开发·性能优化
易知嵌入式小菜鸡2 小时前
STM32Ccubemx-H7-24-GPS模块-ATGM336H-5N卫星导航模块
stm32·单片机·嵌入式硬件
bai5459363 小时前
STM32 常用数据类型
stm32·单片机·嵌入式硬件
d111111111d5 小时前
关于STM32的选项字节的问题:如果我通过操作指针把数据写在了单片机的选项字节区域那么换别的程序时候数据会进行变化吗?
笔记·stm32·单片机·嵌入式硬件·学习
steins_甲乙8 小时前
stm32入门篇2
stm32·单片机·嵌入式硬件
一枝小雨9 小时前
单片机内存布局管理:sct分散加载详解
stm32·单片机·嵌入式·编译链接·sct分散加载·单片机内存布局
小尧嵌入式10 小时前
基于HAL库实现ETH以太网
网络·arm开发·stm32·单片机·嵌入式硬件
逼子格12 小时前
硬件工程师成长之路——知识汇总(持续更新)
嵌入式硬件·proteus·硬件工程·ad·keil·电路仿真·硬件工程师面试
飞凌嵌入式12 小时前
飞凌嵌入式RK3568开发板的TFTP烧写文件系统指南
linux·嵌入式硬件·嵌入式
lingzhilab19 小时前
零知IDE——基于STM32F103RBT6与RFID-RC522的校园餐卡系统实现
stm32·单片机·嵌入式硬件