STM32(HAL)GPIO应用-红外入侵报警

简介: STM32(HAL)GPIO应用-红外入侵报警

1、简介

刚刚接触STM32都是从GPIO的输入输出开始进行学习应用,本文就是通过HAL库方式通过红外模块、LED灯、蜂鸣器设计一个红外入侵报警小应用。


2、实现过程

2.1具体功能

红外模块作为GPIO输入,LED灯、蜂鸣器作为GPIO输出,当红外模块检测到入侵,LED灯、蜂鸣器会进行警报。


2.2硬件接线:

蜂鸣器接PB5,红外模块(D0)接PB15,LED灯接PB0。


2.3 Cubemax配置过程:

初始配置:STM32(CubeMax)基础配置。


接着按照硬件接线图对GPIO进行配置,如下所示:


6c680db84fcc8fc82b9d890a4ad01007.png


2.4 keil5程序书写:

1.在main.h进行宏定义,如下图所示:


e4a8322fdd1e45f3c213d0c5ed1ebf78.png


代码如下所示:

#define LED_ON  HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET);
#define LED_OFF HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET);
#define BEEP_ON  HAL_GPIO_WritePin(BEEP1_GPIO_Port,BEEP1_Pin,GPIO_PIN_SET);
#define BEEP_OFF HAL_GPIO_WritePin(BEEP1_GPIO_Port,BEEP1_Pin,GPIO_PIN_RESET);
#define HY_ON  HAL_GPIO_ReadPin(HY_GPIO_Port,HY_Pin);
#define HY_OFF HAL_GPIO_ReadPin(HY_GPIO_Port,HY_Pin);


2.应用程序

红外模块检测到物体,输出低电平,特别注意本次设计蜂鸣器低电平有效,因此BEEP_OFF会驱动蜂鸣器报警。代码如下所示:

while (1)
  {
        if(HAL_GPIO_ReadPin(HY_GPIO_Port,HY_Pin)==0)
        {
            LED_ON;
            BEEP_OFF;
        }
        else
        {
            LED_OFF;
          BEEP_ON;
        }

演示效果如下:

链接:https://pan.baidu.com/s/18LP8RSaIGSmQ48h_6sXiFQ

提取码:4ns4


上文如有错误,恳请各位大佬指正。

相关文章
|
1月前
|
传感器 数据采集 物联网
STM32:高性能微控制器与广泛的应用领域
STM32:高性能微控制器与广泛的应用领域
174 0
|
1月前
|
数据采集 IDE 编译器
STM32微控制器入门及应用实例
STM32微控制器入门及应用实例
|
1月前
【STM32】基于HAL库的360度编码器、摇杆代码编写
【STM32】基于HAL库的360度编码器、摇杆代码编写
|
1月前
|
传感器 算法
【STM32】I2C练习,HAL库读取MPU6050角度陀螺仪
【STM32】I2C练习,HAL库读取MPU6050角度陀螺仪
|
1月前
|
芯片
STM32F103标准外设库——中断应用/事件控制器(七)
STM32F103标准外设库——中断应用/事件控制器(七)
110 0
STM32F103标准外设库——中断应用/事件控制器(七)
|
1月前
|
存储
STM32F103标准外设库——GPIO 输入、输出 (五)
STM32F103标准外设库——GPIO 输入、输出 (五)
108 0
STM32F103标准外设库——GPIO 输入、输出 (五)
|
1月前
|
数据处理 C语言 智能硬件
STM32微控制器在智能家居中的应用
STM32微控制器在智能家居中的应用
110 0
|
8月前
|
数据格式
STM32外设系列—红外遥控
本文详细介绍了红外通信的应用,原理。介绍了一种常用的二进制脉冲码形式。最后,给出了红外遥控的实现思路和程序设计。
233 1
STM32外设系列—红外遥控
|
7天前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
16 2
|
7天前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
19 1