一、功能简介

项目编号:mcuclub-hj-006-1

单片机类型:STC89C52、STM32F103C8T6

具体功能:

1、通过MQ-2检测烟雾值,超过设置最大值进行声光报警,并开启风扇和净化器
2、通过MQ-4检测甲烷值,超过设置最大值进行声光报警,并开启风扇和净化器
3、通过按键设置上限值,可以手动控制风扇和净化器、切换模式
4、通过显示屏显示数据
扩展功能:通过蓝牙模块将测量数据发送到手机端,并可以控制风扇和净化器、切换模式

二、系统框图设计

本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由三部分组成,第一部分是气体检测模块,通过该模块检测当前环境的烟雾和甲烷,通过模数转换传到单片机中;第二部分是按键模块,通过该模块可以切换界面、设置阈值、切换模式等;第三部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及设置的阈值;第二部分是继电器模块,通过两个继电器分别控制通风和净化;第三部分是声光报警模块,当监测值不在设置的阈值内时进行声光报警。除此之外,蓝牙模块既作为输入又作为输出,蓝牙模块和手机进行连接,可以将监测的数据传输到用户手机端,用户也可以通过手机端发送指令控制继电器的工作及其模式的切换。具体系统框图如图所示。

三、软件流程设计

系统的主流程图如图所示。在主程序中:首先对各个模块进行初始化,随后进入while主循环,在主循环中,首先进入第一个函数按键函数,该函数主要分为两部分,第一部分为调用按键扫描函数获取按键键值,第二部分通过键值进行相应的处理操作,包括切换界面、设置阈值等;紧接着进入第二个函数监测函数,该函数主要通过调用相应的驱动函数获取测量值,并通过蓝牙模块将监测的数据传输到手机端,用户也可以通过手机端发送指令,设备根据用户发送的指令执行对应的处理;紧接着进入第三个函数显示函数,该函数显示监测值及阈值;最后进入第四个函数处理函数,该函数主要判断当前烟雾和甲烷浓度是否在设置的阈值之内,如果烟雾和甲烷浓度大于设置的最大值,则声光报警,并且打开加热继电器进行通风和净化,如果烟雾和甲烷浓度在设置的阈值之内,则取消声光报警,并关闭通风和净化继电器。

四、51单片机实物展示

单片机型号:STC89C52

PCB板是嘉立创打板,板子颜色为绿色,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C,5V电压,使用充电宝供电即可。

五、51单片机仿真展示

仿真软件版本:proteus8.9

电路连线方式:网络标号连线方式

注意:部分实物元器件仿真中没有,仿真中会用其他工作原理相似的元件代替,这样可能导致实物程序和仿真程序不一样

六、32单片机实物展示

单片机型号:STM32F103C8T6

PCB板是嘉立创打板,板子颜色为绿色,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C,5V电压,使用充电宝供电即可。

七、原理图和PCB展示

软件版本:AD2013

电路连线方式:网络标号连线方式

​​​​

八、部分程序展示

软件版本:keil5

逻辑程序和驱动程序分开,分布于main.c和其他.c文件

void Manage_function(void)
{if(flag_display == 0)                                    //测量界面{if(flag_mode == 0 )                                    //自动模式{if(smog_value > smog_max || ch4_value > ch4_max)                   //烟雾值或甲烷值大于设置的最大值{if(time_num % 20 == 0){LED = ~LED;BEEP = ~BEEP;}RELAY_TF = 0;RELAY_JH = 0;}else                                                         //烟雾值或甲烷值小于等于设置的最大值{LED = 1;BEEP = 1;RELAY_TF = 1;RELAY_JH = 1;}            }else                                                               //手动模式{LED = 1;BEEP = 1;          switch(flag_relay){case 0:                                                  //通风关,净化关    RELAY_TF = 1;RELAY_JH = 1;break;case 1:                                                   //通风开,净化开RELAY_TF = 0;RELAY_JH = 0;break;              default:break;}             }}else                                                                  //设置界面{LED = 1;BEEP = 1;RELAY_TF = 1;RELAY_JH = 1;      }
}

【单片机毕业设计】基于单片机的空气质量(烟雾、甲烷)的设计相关推荐

  1. 【毕业设计】基于STM32的空气质量检测仪 - 环境检测盒子 - 单片机 物联网

    文章目录 1 简介 2 系统设计概述 3 系统总体方案 4 硬件设计方案 4.1 stm32 主控 4.2 温度采集模块 4.3 甲醛浓度检测模块 4.4 PM2. 5 浓度检测模块 4.5 液晶显示 ...

  2. 【毕设狗】【单片机毕业设计】基于单片机的室内空气质量检测系统的设计

    软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 设计简介: 本设计是基于单片机的室内空气质量检测系统的设计,主要实现以下功能: 实现通过甲烷气体传感器检 ...

  3. 毕业设计 基于单片机的智能门禁系统

    文章目录 1 简介 2 课题背景 3 详细设计 3.1 整体设计方案 3.2 功能模块 3.3 软件设计 4 实现效果 5 部分实现代码 6 最后 1 简介 Hi,大家好,学长今天向大家介绍一个学长做 ...

  4. 毕业设计 基于单片机的移动共享充电宝设计与实现

    文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 5 最后 1 简介 Hi,大家好,今天向大家介绍一个学长做的单片机项目 基于单片机的移动充电宝设计与实现 大家可用于 课程设计 或 毕业设 ...

  5. matlab坐标污染物浓度,基于MATLAB城市空气质量评价体系.doc

    基于MATLAB城市空气质量评价体系 基于MATLAB城市空气质量评价体系 本文针对大气污染问题,采用动态加权综合评价方法建立了合理的空气质量评价模型,同时,采用灰色关联度分析方法和BP神经网络模型较 ...

  6. HTML构建空气质量实时获取代码,基于C#的空气质量实时监测接口调用代码实例

    代码描述:基于C#的空气质量实时监测接口调用代码实例 关联数据:空气质量 接口地址:http://www.juhe.cn/docs/api/id/33 1.[代码][C#]代码 using Syste ...

  7. 基于stm32的空气质量检测净化系统,检测温湿度和pm10和 pm2.5,资料包含(设计文档,源码,pcb电路)。

    基于stm32的空气质量检测净化系统,检测温湿度和pm10和 pm2.5,资料包含(设计文档,源码,pcb电路).

  8. java美食网站设计与实现_毕业设计 基于JAVA的美食娱乐分享网站的设计与实现

    毕业设计-基于JAVA的美食娱乐分享网站的设计与实现 相关表格 7 孙骎骅--答辩记录表.doc  [33.00KB] 6 孙骎骅--中期检查表.doc  [33.50KB] 5 孙骎骅--开题论证审 ...

  9. java计算机毕业设计基于Web的社区商超系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计基于Web的社区商超系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计基于Web的社区商超系统的设计与实现源码+数据库+系统+lw文档 ...

  10. 单片机毕业设计 基于stm32的自动泊车系统

    文章目录 1 简介 1 背景 2 设计概要 3 硬件选型 3.1 主控 - STM32 3.2 电机驱动 3.3 红外遥控设计 3.4 传感器部分 3.4.1 循迹模块 3.4.2 红外避障模块 3. ...

最新文章

  1. u-boot启动过程
  2. 我可以从iOS DeviceSupport中删除数据吗?
  3. 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 )
  4. NYOJ128前缀式计算
  5. android 创建文件夹_Android安全(四)数据库 之 SQLite数据库
  6. 去除inline-block间隙的几种方法
  7. LeetCode 1176. 健身计划评估(滑动窗口)
  8. android检测手机网络连接不上,Android WIFI及手机网络连接情况检查
  9. 使用 JNA 模拟C语言结构体的完整源代码
  10. IT架构的本质--我的五点感悟
  11. Build Path
  12. 数能一体化物联网感知层路由协议研究
  13. 土方回填施工方案范本_外购土方回填施工方案
  14. 谷歌中设置utf8编码
  15. 2019秋招|从春招到秋招,Java岗经验总结(收获AT)
  16. Django源码cookie解读:关于中文cookie会被吞掉并截断的问题。
  17. 计算机二级讲座宣传语,计算机二级讲座策划书.doc
  18. 严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/sshnews,J2EEApplicatio —
  19. Linux环境下部署redis教程详解
  20. RISC-V CSR 相关指令集

热门文章

  1. 2021智慧养殖领域最具商业合作价值企业盘点
  2. php 区位码字符,PHP里实现汉字转区位码的示例代码
  3. 微信小程序动物萌宠宠物店商城+后台管理系统SSM-JAVA【数据库设计、论文、源码、开题报告】
  4. 解决mysql插入中文出现错误Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
  5. UnicodeDecodeError: ‘charmap‘ codec can‘t decode byte 0x8f in position 156: character maps to
  6. 新闻稿 | 芯片和软件开发资源短缺威胁下的互联设备革命(内含英文研究报告下载链接)
  7. 软件测试 | 测试开发 | 视频编辑SDK测试
  8. 安利一个小众又高薪的职业
  9. 先锋商泰面试实习经历
  10. 【Python机器学习】决策树、逻辑回归、神经网络等模型对电信用户流失分类实战(附源码和数据集)