0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32单片机的烟雾测量系统设计

精通单片机与嵌入式 来源:精通单片机与嵌入式 2023-09-04 09:53 次阅读

功能介绍

本设计选用MQ-2烟雾传感器温度传感器以及STM32F103单片机作为核心器件并与其他电子技术相结合,通过STM32F103单片机控制传感器对检测地点的烟雾进行实时检测,并把检测结果进行数据信息处理,可以实现浓度显示、报警及排气等功能。

系统框图

19f02ed2-4a5b-11ee-97a6-92fbcf53809c.png

1a037ca8-4a5b-11ee-97a6-92fbcf53809c.png

1a19f7bc-4a5b-11ee-97a6-92fbcf53809c.png

原理图

1a502fbc-4a5b-11ee-97a6-92fbcf53809c.png

系统主程序设计及流程图

1a912dc8-4a5b-11ee-97a6-92fbcf53809c.png

源代码

//C库
#include 
//单片机头文件
#include "sys.h"
//硬件驱动
#include "delay.h"
#include "usart.h"
#include "mq2.h"
#include "timer.h"
#include "gui.h"
#include "LCD.h"
#include "key.h"
#include "beep.h"
#include "exti.h"
#include "led.h"
#include "adc.h"


float value_mq2 = 0.0;    //烟雾浓度变量
float value_max = 50;    //阈值


//硬件初始化
void Hardware_Init(void)
{
  u8 i = 10;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级


  delay_init();      //延时函数初始化


  LCD_Init();           //液晶屏初始化
  LCD_Clear(GRAY0);    //清屏
  Gui_DrawFont_GBK16(3,10,BLUE,GRAY0,(u8 *)"系统正在初始化");
  EXTIX_Init();       //外部中断初始化
  Usart1_Init(115200);  //串口1初始化为115200
  LED_Init();        //LED灯初始化
  KEY_Init();        //按键初始化
  BEEP_Init();      //蜂鸣器初始化
  ADCx_Init();      // ADC 初始化


  //MQ2加热时间
  while(i --)
  {
    delay_ms(20000);    
    delay_ms(20000);
  }


  Gui_DrawFont_GBK16(4,30,RED,GRAY0,(u8*)"设备初始化完成");
}


int main(void)
{
  char str[] = "";


  Hardware_Init();    //初始化外围硬件  
  GENERAL_TIM_Init();    //1MS系统定时


  LCD_Clear(BLACK);    //清屏
    GUI_DrawRectangle(1, 1, 128-2, 128-2, WHITE);    //边框
   Gui_DrawFont_GBK16(25,4,BLACK,GRAY0,(u8 *)" 系统监控 ");
  Gui_DrawFont_GBK16(4,50,RED,BLACK,(u8 *)"阈值:50 ppm ");


  while(1)
  {      
    /*MQ2传感器获取烟雾数据*/  
    value_mq2 = MQ2_GetPPM();
    memset(str, 0, sizeof(str));
    sprintf(str, "烟雾:%.2fppm ",value_mq2);
    Gui_DrawFont_GBK16(4,30,BLUE,BLACK,(u8 *)str);//显示




    if(value_mq2 >= value_max)//判断是否超过阈值
    {
      BEEP = 0;        //超过阈值,蜂鸣器响叫
    }
    else
    {
      BEEP = 1;        //正常范围,蜂鸣器关闭
    }


    LED1 = !LED1;        //程序运行指示灯
    delay_ms(1000);
  }
}

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2547

    文章

    50549

    浏览量

    751507
  • 单片机
    +关注

    关注

    6031

    文章

    44508

    浏览量

    632494
  • STM32
    +关注

    关注

    2265

    文章

    10862

    浏览量

    354590
  • 测量系统
    +关注

    关注

    2

    文章

    532

    浏览量

    41348

原文标题:【毕业设计003】基于STM32单片机烟雾测量系统(原理图、源代码、实物照片、设计说明、参考资料等)

文章出处:【微信号:精通单片机与嵌入式,微信公众号:精通单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于51单片机烟雾报警系统设计

    系统使用的模块有AT89C51单片机+MQ-2烟雾传感器+LCD1602显示屏+ADC0809数模转换器。
    发表于 09-26 10:08 4154次阅读

    基于单片机烟雾报警系统

    本帖最后由 eehome 于 2013-1-5 09:44 编辑 基于单片机烟雾报警系统基于单片机烟雾报警
    发表于 08-17 15:36

    基于单片机的多点温度烟雾测控系统设计

    针对机舱消防应急救援模拟训练系统中训练环境控制的难题,设计了一种以AT89C52单片机为核心的多点温度烟雾测控系统。该系统可实现对模拟
    发表于 01-13 16:02 55次下载

    基于C51单片机烟雾报警器设计

    基于C51单片机烟雾报警器设计
    发表于 05-11 08:00 78次下载

    工程模板STM32单片机的AD测量

    STM32单片机的AD测量、两个ADC调试了很久。要多通道自行设置
    发表于 07-10 09:14 3次下载

    使用STM32单片机进行电能测量的资料说明

    本文档的主要内容详细介绍的是设计使用STM32单片机和CS9505进行电能测量的资料说明。
    发表于 04-25 08:00 4次下载
    使用<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>进行电能<b class='flag-5'>测量</b>的资料说明

    690【毕设课设】基于单片机烟雾报警器仿真系统

    690【毕设课设】基于单片机烟雾报警器仿真系统
    发表于 11-12 19:21 38次下载
    690【毕设课设】基于<b class='flag-5'>单片机</b><b class='flag-5'>烟雾</b>报警器仿真<b class='flag-5'>系统</b>

    基于单片机自动窗帘控制系统设计(烟雾+灯控)-毕设课设资料

    基于单片机自动窗帘控制系统设计(烟雾+灯控)-毕设课设资料
    发表于 11-23 17:36 28次下载
    基于<b class='flag-5'>单片机</b>自动窗帘控制<b class='flag-5'>系统</b>设计(<b class='flag-5'>烟雾</b>+灯控)-毕设课设资料

    单片机STM8S测量电压电路_STM32单片机的高精度超声波测距系统的设计

    和准确性。超声波测距是一种典型的非接触测量方式,在不同的传播介质中具有不同的传播速度其系统结构简单、成本低。只有了解超声波测距的原理、了解STM32单片机才能设计出性能良好的
    发表于 11-23 18:21 9次下载
    <b class='flag-5'>单片机</b>STM8S<b class='flag-5'>测量</b>电压电路_<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的高精度超声波测距<b class='flag-5'>系统</b>的设计

    基于STM32单片机的WIFI火灾系统设计

    通过STM32F103C8T6单片机进行主控,通过火焰传感器进行火光检测,通过DHT11进行温湿度检测,通过MQ-2烟雾检测系统完成烟雾浓度
    的头像 发表于 07-21 09:26 1025次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的WIFI火灾<b class='flag-5'>系统</b>设计

    基于STM32单片机的厨房系统设计

    本次厨房系统设计使用STM32单片机为主控,通过DHT11检测温湿度,通过烟雾浓度传感器检测烟雾浓度,通过按键调整温湿度和浓度阈值,检测到的
    的头像 发表于 07-24 15:10 1170次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的厨房<b class='flag-5'>系统</b>设计

    基于STM32单片机的家庭环境监测系统设计

    本次家庭环境监测系统的设计使用STM32单片机作为控制中心,通过ESP8266上传和下发数据,通过MQ-2测量室内烟雾浓度,通过DHT11
    的头像 发表于 07-25 11:08 2441次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的家庭环境监测<b class='flag-5'>系统</b>设计

    基于STM32单片机的仓库火情系统设计

    本次仓库火情系统的设计使用STM32单片机作为控制中心,通过MQ-2测量烟雾浓度,通过DHT11测量
    的头像 发表于 08-29 09:19 621次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的仓库火情<b class='flag-5'>系统</b>设计

    基于STM32单片机的厨房安全系统设计

    整个系统STM32 单片机作为核心控制器,通过DS18b20测温,通过CO传感器检测CO浓度,通过火焰传感器检测火焰,通过烟雾传感器检测烟雾
    发表于 08-30 09:21 1406次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的厨房安全<b class='flag-5'>系统</b>设计

    基于STM32单片机的智能厨房系统设计

    本次设计的系统是以 STM32 单片机作为核心控制器,可以控制温度传感器、烟雾传感器、可燃气体传感器完成对相关数据的采集,可以 对烟雾、天然
    的头像 发表于 06-24 09:48 1165次阅读
    基于<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的智能厨房<b class='flag-5'>系统</b>设计