一、功能简介

项目编号:mcuclub-hj-007-3

单片机类型:STC89C52、STM32F103C8T6

具体功能:

1、通过MS1100检测甲醛值,超过设置最大值进行声光报警,并开启风扇和净化器
2、通过MQ-135检测甲苯值,超过设置最大值进行声光报警,并开启风扇和净化器
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(c7h8_value > c7h8_max || ch2o_value > ch2o_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. 毕业设计-基于深度学习的网络流量异常检测系统

    目录 前言 课题背景和意义 实现技术思路 一.相关技术与理论介绍 二.基于深度学习的网络流量二分类模型 三.网络流量异常检测系统 实现效果图样例 最后 前言

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

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

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

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

  4. 基于单片机的空气检测系统的设计

    基于STM32的室内空气检测系统的设计 摘  要:为保证居民生活环境的安全性,应该对室内空气质量参数进行检测,使人们能够及时了解室内的空气质量,排除险情,该设计通过STM32单片机结合蓝牙通信和温湿度 ...

  5. 单片机ch2o程序_基于单片机的室内甲醛浓度检测系统

    基于单片机的室内甲醛浓度检测系统 田秀荣 [期刊名称] <山西电子技术> [年 ( 卷 ), 期] 2014(000)003 [ 摘 要 ] As everyone knows , the ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 是什么阻碍了你的 AI 致富路?
  2. void关键字的使用规则
  3. html按钮颜色属性值,HTML button formmethod 属性 - HTML 颜色参考手册 - 自强学堂
  4. 安装Docker:解决container-selinux = 2.9问题
  5. matlab计算运行时间方法
  6. 数据库里账号的密码,这样存放最安全!
  7. 一不小心,它成为了 GitHub Alibaba Group 下 Star 最多的开源项目
  8. BD云20MB/s不限速,随时下架!
  9. API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务
  10. 在容器内源码安装PostgreSQL13.2
  11. SysV和BSD启动风格的比较
  12. mac格式化sd卡 linux,[原创翻译]为NOOBS格式化SDXC卡(树莓派官方文档)
  13. .NET BackgroundWorker
  14. 【青少年编程】【三级】猫咪抓老鼠游戏
  15. 火狐浏览器自动安装xpi扩展
  16. 注塑模具设计师要懂得的四个概念
  17. 生死大PK:软路由是否会威胁到硬路由
  18. Android小心心动画
  19. 微信小程序图片前端压缩(canvas)
  20. qsort的基本用法

热门文章

  1. c++函数名前面的问题
  2. 【Hadoop】第一篇--Hadoop生态系统学习路线
  3. 289页初中级前端题助你拿下Offer
  4. winform控件学习(2)—HScrollBar控件和MaskedTextBox控件
  5. python function at 0x00000_python高级编程技巧 - BugError
  6. 基于PIE-Engine的北京建筑用地可视化分析
  7. python series取值_pandas中的series数据类型
  8. C# 执行PING命令 查看IP是否在位
  9. Microsoft Power Platform MDA app添加自定义按钮
  10. java indexof 忽略大小写_忽略大小写Replace效率瓶颈IndexOf