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);
		}
相关推荐
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11014 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元4 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133974 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315204 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书4 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang4 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟4 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126914 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315204 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机