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


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

相关文章
|
4月前
|
编译器 开发工具 C语言
探索STM32的无限可能:应用与发展
探索STM32的无限可能:应用与发展
36 2
|
4月前
|
传感器 数据采集 物联网
STM32:高性能微控制器与广泛的应用领域
STM32:高性能微控制器与广泛的应用领域
340 0
|
2月前
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
stm32f407探索者开发板(八)——按键输入实验--GPIO做输入
|
3月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
266 2
|
2月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
|
3月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
162 1
|
3月前
经验大分享:STM32F4寄存器初始化系列:GPIO
经验大分享:STM32F4寄存器初始化系列:GPIO
18 0
|
4月前
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
|
4月前
|
传感器 数据采集 算法
STM32应用效果
STM32应用效果
29 0
|
4月前
|
IDE 物联网 开发工具
STM32:微控制器领域的璀璨明星与其实践应用
STM32:微控制器领域的璀璨明星与其实践应用
122 0