HC-SR501热释电红外传感器驱动(STM32)

一、前期准备
单片机:STM32F103ZET6
开发环境:MDK5.14
库函数:标准库V3.5
HC-SR501热释电红外传感器模块:淘宝有售
在这里插入图片描述
二、实验效果
在这里插入图片描述
在这里插入图片描述

三、驱动原理
这个模块比较简单,当有人靠近时候其IO输出3.3V,STM32可以直接采集。
需要完整工程或者有问题的请加QQ:1002521871,验证:呵呵。

四、驱动代码
HC_SR501.h

#ifndef __HC_SR501_H__
#define	__HC_SR501_H__
#include "stm32f10x.h"
#include "gpio.h"
#include "delay.h"


#define			HC_SR501			PAin(0)
#define			HC_SR501_Pin		GPIO_Pin_0
#define    	 	HC_SR50PORT         GPIOA
#define     	HC_SR50CLKLINE      RCC_APB2Periph_GPIOA


extern void HC_SR501Configuration(void);
extern FunctionalState HC_SR501_Status(void);
#endif

HC_SR501.c

#include "hc_sr501.h"

void HC_SR501Configuration(void)
{
	GPIO_InitTypeDef    GPIO;
    
    //Enable APB2 Bus
    RCC_APB2PeriphClockCmd(HC_SR50CLKLINE, ENABLE);
    
    //Register IO 
    GPIO.GPIO_Pin   = HC_SR501_Pin;
    GPIO.GPIO_Mode  = GPIO_Mode_IPD;
    GPIO_Init(HC_SR50PORT, &GPIO);
}

FunctionalState HC_SR501_Status(void)
{
	if (HC_SR501 == 1)
	{
		return ENABLE;
	}
	else
	{
		return DISABLE;
	}
}	

由于作者能力有限,有不妥之处欢迎指正,邮箱alex_hua@foxmail.com

  • 38
    点赞
  • 231
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值