基于STM32的室内空气检测系统的设计

摘  要:为保证居民生活环境的安全性,应该对室内空气质量参数进行检测,使人们能够及时了解室内的空气质量,排除险情,该设计通过STM32单片机结合蓝牙通信和温湿度、空气质量传感器来实现,利用传感器采集空气数据,了解居住环境的空气质量,将传感器采集到的数据通过主控单元进行模数转换,并输入到OLED显示器中显示,将处理后的数据通过蓝牙模块发送到手机APP,用户可以对数据进行实时检测。当检测到的数据超出设置范围时,蜂鸣器报警,排风扇启动,并通过蓝牙模块进行数据的传输,完成对室内空气质量的检测和改善。

关键词:STM32,蓝牙通信,智能报警通风,传感器技术

1 系统总体设计

1.1系统总体框图

该设计通过STM32单片机结合蓝牙通信和温湿度、空气质量检测传感器来实现,通过蓝牙模块和手机APP的连接,能让用户更方便的查看室内空气质量参数,当检测到的数据出现异常时,蜂鸣器报警,风扇启动,实现对室内进行自动通风。系统总体框图如图1-1所示。

图1-1 系统总体框图

1.2 系统功能实现

1.室内空气检测功能,通过空气质量检测模块,实现气体检测传感器对室内空气的检测功。

2.自动报警通风功能,通过设置阈值,当超过阈值时,实现蜂鸣器报警,自动通风功能。

3.显示功能,通过OLED显示屏显示当前空气质量参数以及温湿度信息。

4.蓝牙通信功能,通过蓝牙模块和手机APP的连接,实现数据的传输。

2硬件电路设计与实现

2.1单片机主控单元电路设计

本系统以STM32单片机作为主控单元,STM32F0系列单片机内核采用Cortex-M0,芯片内集成了定时器、ADC 模数转换器、FLASH为64KB,SRAM为8KB,最大CPU频率为48MHZ,工作电压在2.0 V 到 3.6 V之间,具有低功耗、低成本、高性能的优势,利用温湿度传感器模块、空气质量传感器模块采集数据、蓝牙模块用于数据的传输,利用各个模块之间的联系结合主控单元,以及按键模块的控制,实现单片机主控单元电路的设计。图2-1为主控单元引脚图。

图2-1 主控单元引脚图

2.2空气质量检测模块

空气质量传感器电路由MQ135传感器和MQ-2传感器电路共同组成,用于对室内有害气体的检测,MQ-2对烟雾、甲烷、酒精、液化气的灵敏度很高,MQ135也可以检测到很多有害气体,两者具有低成本,寿命长的优点。MQ135空气质量传感器具有两个输出端口,DO为数字信号的输出,映射着单片机的高低电平,就是超过设置的空气质量参数阈值时,单片机输出高电平,就能控制风扇的启停,AO为模拟信号的输出,两者的参考电压都为5V,本次设计用到的单片机的ADC为12位,因此电压的分辨率很高,在对空气质量数据采集时,采集到的数据对应的模拟电压量,数据浓度越高对应的模拟电压越高,再对模拟电压进行数字化,同理MQ-2传感器也具有类似的功能,利用STM32内部的ADC转换对采集到数据进行处理,这就是空气质量传感器电路的原理与设计。

2.3 温湿度传感器模块

本系统所用到的温湿度检测模块为DHT11传感器,有4个引脚,具有体积小低功耗的特点,供电电压3~5V,有一条传输数据的总线与单片机相连,可以通过这一条总线读取温湿度,发命令,一个引脚悬空,另外 两个引脚分别接VCC、GND,温湿度传感器电路还具有一个上拉电阻,目的是调节高低电平,如图2-3所示。

DHT11数字温湿度传感器利用数字模块采集技术进行数字信号的传输,采集的数据在传感器内部要进行数字信号处理,以及校验,并且具有严格的控制时序,这也是单总线协议的特点,数据采集及传输的过程中,在传感器的内部进行了AD转换,输出的是数字信号,单片机上电后,主控单元发送一次开始信号后,DHT11将进入高速模式,并发送一次响应信号,将40bit的温湿度数据发送给单片机,格式为8bit湿度整数数据+00000000+8bit温度整数+00000000+校验位,温湿度小数部分默认为0,将前四字节相加得到的结果与校验位进行比较,相等就代表正常接收数据,否则就表示接受数据失败,完成一次数据采集后,DHT11进入低速模式。

图2-3 温湿度传感器电路

2.4 光强检测电路设计

光强检测框图如图2-4所示,对光照强度的检测需要进行模数转换。

图2-4 光强检测框图

光强检测电路由一个光敏电阻组成,电路构造简单,与单片机的PB2端口连接,通过主控单元去检测光强检测电路的电压变换,再将检测到的模拟量利用ADC转换,转化为数字量输出,光强检测电路如图3-8所示。

图2-5 光强检测电路设计

2.5蓝牙通信模块

蓝牙模块与STM32单片机、手机APP可以进行数据传输,用户可以通过手机APP连接蓝牙模块查看空气质量数据,这里的手机APP是蓝牙串口助手,如图2-6所示。

图2-6 蓝牙通信模块设计

本设计所用到的通信模块为JDY-31蓝牙,一般用到的引脚有4个,只需连接VCC、GND、TXD、RXD就能实现蓝牙通信功能,TXD为串口输出引脚,RXD为串口输入引脚,供电电压为3.6~6V,如图2-7所示。

蓝牙无线通讯技术适用于短距离通信,主要优势为低功耗、低成本,JDY-31蓝牙工作频段为2.4GHZ,通信接口为UART,支持通用传输协议SPP协议,蓝牙模块上有一个指示灯,未连接时一直闪烁,当连接配对成功时指示灯常亮,在进行蓝牙数据传输时,必须有两个角色,一个主角色,一个从角色,两者刚开始进行通讯时,主机发现蓝牙设备后,由主机查找配对,建立连接,匹配成功后,由空气质量传感器检测到的数据,通过单片机的数据处理,再经过蓝牙模块进行数据的传输,就能实时显示到手机APP上,用户就能很方便的查看数据。

2-7蓝牙模块引脚图

3 系统软件设计

图3-1 主程序流程图

本系统软件程序实现流程如图3-1所示,系统初始化,对系统时钟和一些外设进行初始化,以及一些参数的配置,然后各模块开始工作,空气质量传感器(MQ-2、MQ135)、温湿度传感器、光敏检测电路采集数据,通过主控单元数据处理,数据超出阈值,蜂鸣器报警,风扇开启,并显示到OLED显示屏,配置蓝牙模块与手机APP建立连接,将由主控单元处理好的空气质量参数、温湿度、光照强度数据通过蓝牙模块传输到手机APP。

4 系统测试结果

在不同环境内,空气质量传感器(MQ-2,MQ135)、温湿度传感器、光强检测模块采集到的数据经主控单元处理,显示到OLED屏,空气质量测试结果,这里的测试结果应在0-4095之间,每个不同的空气质量检测环境的检测时间大于5S,如表4-1所示。

5-2 空气质量检测结果

阈值2000

检测环境

正常环境

烟雾测试

液化气测试

空气质量检测(测试次数>10)

60-600

2037-4095

2156-4095

是否超过空气质量阈值

蜂鸣器是否报警

风扇是否转动

蓝牙与手机APP(蓝牙串口)配对连接时,OLED显示屏显示的数据与蓝牙模块和手机APP(蓝牙串口助手)传输的数据一致,检测环境分别为正常室环境和、液化气测试环境,正常室内检测结果和手机APP接收到的数据如图5-8所示,检测到的空气质量数据正常,蜂鸣器和风扇不工作。

图5-8 正常检测结果与数据传输

液化气测试结果如图5-9所示,检测到的空气质量数据超出阈值,蜂鸣器报警,风扇开启。

图5-9 异常检测结果与数据传输

5 总结

本文以STM32F030C8T6为主控单元,结合蓝牙通信和温湿度、空气质量检测传感器来实现,当检测到的数据出现异常时,蜂鸣器自动报警,风扇自动开启进行自动通风,通过蓝牙模块和手机APP的连接,能让用户更方便的查看室内空气质量参数,实现了智能化的需求。

这里面用到的手机APP是蓝牙串口助手,软件方面主要通过串口服务函数去控制单片机,就是用手机发送数据,单片机通过蓝牙接收数据,之后会执行相应的操作,下图为控制单片机的手机APP制作,比如手机上发送的命令为1,当单片机通过蓝牙模块接收到数字1,就会把相应的端口置为高电平或者执行控制外围设备的函数,风扇就会打开。

喜欢的小伙伴点个赞再走哟~~~

基于单片机的空气检测系统的设计相关推荐

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

    目    录 1 绪论 1.1 课题研究背景 1.2 课题研究现状 1.2.1 国内研究现状 1.2.2 国外研究现状 1.3 课题的研究工作 1.4 主要研究内容 2 总体方案的设计 2.1 系统概 ...

  2. 电量监测程序 c语言,基于单片机的电量检测系统设计方案.doc

    基于单片机的电量检测系统设计方案 1绪论 自第一个微处理器问世以来,以微处理器为核心构成的计算机以各种各样的形式,无孔不入的渗入到人们的生产.生活.科研等各个领域,为人类带来了渗透到各个领域的&quo ...

  3. 【单片机毕业设计】基于单片机的智能灌溉系统的设计

    一.功能简介 题目拓展:基于单片机的土壤湿度控制的设计 基于单片机的农田灌溉系统的设计 基于单片机的智慧农业灌溉的设计 项目编号:mcuclub-hj-011 单片机类型:STC89C52.STM32 ...

  4. 【单片机毕业设计】基于单片机的农田环境监测系统的设计

    一.功能简介 题目拓展:基于单片机的土壤环境监测的设计 基于单片机的智能灌溉系统的设计 基于单片机的智慧农业监测的设计 项目编号:mcuclub-hj-012 单片机类型:STC89C52.STM32 ...

  5. 基于电容传感器的压力检测系统的设计

    基于电容传感器的压力检测系统的设计 本系统以电容式传感器为压力感应元件,将压力信号转换为相应的电信号,经ADC0809模数转化芯片将电信号转化为数学信号再经单片机在输出端显示电感式传感器所受到的压力值 ...

  6. (毕业设计资料)基于单片机智能输液器监控系统的设计

    026[毕设课设]基于单片机智能输液器监控系统的设计. 说明:基于单片机智能输液器监控系统的设计,目标滴速和设定滴速的调节通过使用PID算法,换页按钮可调节PID参数, 增加和减少分别在修改按钮按后进 ...

  7. c语言设计温控系统,基于单片机的智能温控系统的设计与实现

    吴虹佳++林军 摘要:本文设计了以STC89C52单片机作为控制平台的智能温控系统,该智能系统可以依据温湿度对电器设备的工作模式和工作状态进行控制.用E18-D80NK红外光电开关检测人体信号,选择温 ...

  8. 基于单片机的温湿度检测系统(电路+论文)

    博主福利:100G+电子设计学习资源包! http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5 ...

  9. 基于51单片机的蓄电池容量检测系统的设计(设计资料)

    51单片机设计,检测蓄电池的容量,并在液晶1602上显示,显示分为4档,0-25%,25%-50%,50%-75%,75%-100%. [资源下载]下载地址如下:https://docs.qq.com ...

最新文章

  1. Zabbix3.X---Zabbix _Agent主动模式的监控(Active)
  2. 虫师python appium自动化测试书_Appium移动自动化测试(一)--安装Appium
  3. json的键为变量而不是字符串时,怎么写?
  4. OpenCV中的随机数
  5. 【kafka】 kafka如何设置指定分区进行发送和消费
  6. ios python3闪退_解决Python3 cx_Freeze打包闪退/无法执行以及No module named 'matplotlib.backends.backend_tkagg'...
  7. support.SerializationFailedException: Failed to deserialize payload.
  8. 美国能限制linux内核,美国大学教授「故意」向 Linux 提交含 Bug 代码,内核管理员“封杀”明尼苏达大学...
  9. oracle数据库基础笔试题,Oracle数据库入门笔试试题及参考答案
  10. python histogram bins_5种方法教你用Python玩转histogram直方图
  11. 7天从代码入门到开发应用,怎样快速提高代码能力?
  12. 【DockerCE】Docker-CE 20.10.14正式版发布
  13. stm32外设的使能,失能,复位的区别
  14. 【Ubuntu22.04 安装星火商店报错解决办法】
  15. 互联网医院系统搭建,打造在线问诊系统新模式
  16. 商业银行内容管理和档案管理
  17. Android代码中实现WAP方式联网
  18. 视频剪辑技巧,教你视频画面用图片进行遮挡的方法
  19. 学习全栈在线教育实战项目(尚硅谷) 第一天
  20. 高斯分布——在误差测量中的推导

热门文章

  1. matlab编码流程图,高手来帮我看看该怎么画这些代码的流程图
  2. 笔记本电脑硬件软件全升级:内存条-固态硬盘-重装系统
  3. 六脚自锁开关 引脚定义
  4. 学习就是这样一条时而郁郁寡欢,时而开怀大笑的路
  5. 十六进制转十进制(栈实现)
  6. liferay调度器-定时任务
  7. CentOS 7.0全自动安装光盘制作详解
  8. iOS开发实现资源包增量更新
  9. ff14显卡测试软件,最终幻想14首台4K电脑环境搭建测试实录
  10. 《C语言点滴》参考文献