【单片机毕业设计】基于单片机的空气质量(甲醛、甲苯)检测系统的设计
一、功能简介
项目编号: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; }
}
【单片机毕业设计】基于单片机的空气质量(甲醛、甲苯)检测系统的设计相关推荐
- 毕业设计-基于深度学习的网络流量异常检测系统
目录 前言 课题背景和意义 实现技术思路 一.相关技术与理论介绍 二.基于深度学习的网络流量二分类模型 三.网络流量异常检测系统 实现效果图样例 最后 前言
- 【毕业设计】基于STM32的空气质量检测仪 - 环境检测盒子 - 单片机 物联网
文章目录 1 简介 2 系统设计概述 3 系统总体方案 4 硬件设计方案 4.1 stm32 主控 4.2 温度采集模块 4.3 甲醛浓度检测模块 4.4 PM2. 5 浓度检测模块 4.5 液晶显示 ...
- 【毕设狗】【单片机毕业设计】基于单片机的室内空气质量检测系统的设计
软件安装: Keil:点击下载 Proteus:点击下载 AD:点击下载 Visio:点击下载 设计简介: 本设计是基于单片机的室内空气质量检测系统的设计,主要实现以下功能: 实现通过甲烷气体传感器检 ...
- 基于单片机的空气检测系统的设计
基于STM32的室内空气检测系统的设计 摘 要:为保证居民生活环境的安全性,应该对室内空气质量参数进行检测,使人们能够及时了解室内的空气质量,排除险情,该设计通过STM32单片机结合蓝牙通信和温湿度 ...
- 单片机ch2o程序_基于单片机的室内甲醛浓度检测系统
基于单片机的室内甲醛浓度检测系统 田秀荣 [期刊名称] <山西电子技术> [年 ( 卷 ), 期] 2014(000)003 [ 摘 要 ] As everyone knows , the ...
- 毕业设计 基于单片机的智能门禁系统
文章目录 1 简介 2 课题背景 3 详细设计 3.1 整体设计方案 3.2 功能模块 3.3 软件设计 4 实现效果 5 部分实现代码 6 最后 1 简介 Hi,大家好,学长今天向大家介绍一个学长做 ...
- 毕业设计 基于单片机的移动共享充电宝设计与实现
文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 5 最后 1 简介 Hi,大家好,今天向大家介绍一个学长做的单片机项目 基于单片机的移动充电宝设计与实现 大家可用于 课程设计 或 毕业设 ...
- matlab坐标污染物浓度,基于MATLAB城市空气质量评价体系.doc
基于MATLAB城市空气质量评价体系 基于MATLAB城市空气质量评价体系 本文针对大气污染问题,采用动态加权综合评价方法建立了合理的空气质量评价模型,同时,采用灰色关联度分析方法和BP神经网络模型较 ...
- HTML构建空气质量实时获取代码,基于C#的空气质量实时监测接口调用代码实例
代码描述:基于C#的空气质量实时监测接口调用代码实例 关联数据:空气质量 接口地址:http://www.juhe.cn/docs/api/id/33 1.[代码][C#]代码 using Syste ...
- 基于stm32的空气质量检测净化系统,检测温湿度和pm10和 pm2.5,资料包含(设计文档,源码,pcb电路)。
基于stm32的空气质量检测净化系统,检测温湿度和pm10和 pm2.5,资料包含(设计文档,源码,pcb电路).
最新文章
- 是什么阻碍了你的 AI 致富路?
- void关键字的使用规则
- html按钮颜色属性值,HTML button formmethod 属性 - HTML 颜色参考手册 - 自强学堂
- 安装Docker:解决container-selinux = 2.9问题
- matlab计算运行时间方法
- 数据库里账号的密码,这样存放最安全!
- 一不小心,它成为了 GitHub Alibaba Group 下 Star 最多的开源项目
- BD云20MB/s不限速,随时下架!
- API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务
- 在容器内源码安装PostgreSQL13.2
- SysV和BSD启动风格的比较
- mac格式化sd卡 linux,[原创翻译]为NOOBS格式化SDXC卡(树莓派官方文档)
- .NET BackgroundWorker
- 【青少年编程】【三级】猫咪抓老鼠游戏
- 火狐浏览器自动安装xpi扩展
- 注塑模具设计师要懂得的四个概念
- 生死大PK:软路由是否会威胁到硬路由
- Android小心心动画
- 微信小程序图片前端压缩(canvas)
- qsort的基本用法
热门文章
- c++函数名前面的问题
- 【Hadoop】第一篇--Hadoop生态系统学习路线
- 289页初中级前端题助你拿下Offer
- winform控件学习(2)—HScrollBar控件和MaskedTextBox控件
- python function at 0x00000_python高级编程技巧 - BugError
- 基于PIE-Engine的北京建筑用地可视化分析
- python series取值_pandas中的series数据类型
- C# 执行PING命令 查看IP是否在位
- Microsoft Power Platform MDA app添加自定义按钮
- java indexof 忽略大小写_忽略大小写Replace效率瓶颈IndexOf