首页 > 编程知识 正文

stm32声音传感器源代码,气体灭火终端模块接线图

时间:2023-05-06 02:25:17 阅读:140806 作者:3199

实验材料STM32F03(我这里用的是正点原子的战舰)

火焰传感器

还有个蜂鸣器,我这个开发板自带,也是可外接的

火焰传感器介绍工作原理

如果环境火焰光谱或光源未达到配置阈值,则DO端口输出低电平,且如果外界环境火焰光谱或光源超过配置阈值,则模块DO端口输出高电平

引脚说明(这个传感器有三个引脚的也有两个引脚的)我这里介绍三个引脚的

原理图

实验测试思路:我们可以根据工作原理加上蜂鸣器的配合,当有火焰靠近时,DO引脚输出的高电平,然后让蜂鸣器响。这样就能大致模仿火灾报警。

连线

配置蜂鸣器的模块(时钟、输出模式、引脚初始化)

这里将传感器的DO端子连接到STM32的PA1端子上

fire.h

# include ' STM 32 F10 x.h ' # define gpio _ fire _ RC crcc _ AP B2 per iph _ gpioa # define gpio _ fire _ portgpioa////选择GPP

# include ' fire.h ' # include ' STM 32 F10 x.h ' void fire _ config (void ) ) {GPIO_InitTypeDef GPIO_FIRE; //RCC _ AP B2 periphclockcmd (uint 32 _ trcc _ AP B2 per iph,FunctionalState NewState ) )的RCC _ AP B2 periphclockcmd (gpint gpio _ fire.gpio _ pin=gpio _ fire _ pin; gpio _ fire.gpio _ mode=gpio _ mode _ in _ floating; //浮动输入模式//*gpio输入///void gpio _ init (gpio _ typedef * gpiox,gpio _ init typedef * gpio _ init struct ); gpio_init(GPIO_FIRE_port,gpio_fire ); }从原理图中得知蜂鸣器的输出端子为PB8

fire.c

配置蜂鸣器的模块(时钟、输出模式、引脚初始化)

# include ' STM 32 F10 x.h ' # define gpio _ beep _ RC crcc _ AP B2 per iph _ gpiob # define gpio _ beep _ portgpiob////选择GPP

# include ' beep.h ' # include ' STM 32 F10 x.h ' void beep _ config (void ) ) {GPIO_InitTypeDef GPIO_BEEP; /*配置时钟*///void RCC _ AP B2 periphclockcmd (uint 32 _ trcc _ AP B2 per iph,FunctionalState NewState ); RCC _ AP B2 periphclockcmd (gpio _ beep _ RCC,ENABLE ); gpio _ beep.gpio _ mode=gpio _ mode _ out _ PP; //推挽输出gpio _ beep.gpio _ pin=gpio _ beep _ pin; gpio _ beep.gpio _ speed=gpio _ speed _ 50m Hz; gpio _ init (gpio _ typedef * gpiox,gpio _ init typedef * gpio _ init struct )的gpio _ init (gpio ) } main.c

# include ' STM 32 F10 x.h ' # include ' fire.h ' # include ' beep.h ' /毫秒级延迟voiddelay_ms(u16time ) { u16 i=0; wile(time---- ) { i=12000; //自己定义while (I-- ); }初始化}intmain(void )/*火焰传感器(*/FIRE_CONFIG ); /*蜂鸣器传感器初始化*/BEEP_CONFIG (); gpio_resetbits(gpio_beep_port,GPIO_BEEP_PIN ); //接通电源后蜂鸣器不响//Delay_ms(2000; while(1) )/*检测到低电平时蜂鸣器报警(//uint8_ TGP io _ readinputdatabit (gpio _ typedef * gpiox,uint16_t GPIO_Pin gpio _ readinputdatabit (gpio _ fire _ port,GPIO_FIRE_PIN ) )/void gpio _ set bits gpio _ typedef * gggg //否则报警} else//void gpio _ reset bits (gpio _ typedef * gpiox,uint16_t GPIO_Pin ); gpio_setbits(gpio_beep_port,GPIO_BEEP_PIN ); //未检测到低电平蜂鸣器不响}}return 0; } beep.h

注意事项beep.c

如需要整个工程文件私聊

火焰传感器对火焰敏感,对普通光也是有反应的,一般用作火焰报警灯用途;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。