一、系统整体设计方案
本系统以 STM32F103C8T6 单片机为控制核心,聚焦工业车间、家庭厨房、地下实验室等多场景的全面环境监测需求,可实现温湿度、阳光强度、CO 浓度、瓦斯浓度、大气压力、光照强度 6 项参数同步采集、实时显示、异常报警及数据存储功能,兼顾监测全面性与响应及时性,为环境安全管控提供多维度数据支撑。系统遵循 “多参协同、精准预警” 原则,划分为六大核心模块:多参数采集模块、单片机控制模块、数据显示模块、报警模块、数据存储模块及电源管理模块。
多参数采集模块针对不同环境参数选用适配传感器,将各类物理信号转换为单片机可处理的电信号;单片机控制模块作为 “核心中枢”,接收并处理多参数数据,与各参数预设阈值对比判断是否异常;数据显示模块通过大屏液晶屏分区域呈现 6 项参数数值与状态;报警模块在任意参数超限时,触发声光提示并标注异常参数;数据存储模块记录历史监测数据,支持回溯分析;电源管理模块为系统提供稳定供电,适配不同使用场景的供电需求。
二、系统硬件设计
系统硬件围绕 STM32 单片机搭建,元器件选型以高灵敏度、抗干扰性为核心。多参数采集模块采用 6 类传感器组合:温湿度采集选用 DHT11(测量范围:温度 0-50℃、湿度 20%-90% RH,精度 ±2℃/±5% RH),通过单总线与单片机连接;阳光强度采集选用 BH1750 光照传感器(测量范围 0-65535lux,精度 ±20%),I2C 协议通信,适配户外阳光与室内光照检测;CO 浓度采集选用 MQ-7 传感器(测量范围 10-1000ppm,精度 ±50ppm),输出模拟电压信号接入 ADC 引脚;瓦斯浓度采集选用 MQ-4 传感器(测量范围 0.1-5% LEL,精度 ±0.1% LEL),同样通过 ADC 引脚采集信号;气压采集选用 BMP180 气压传感器(测量范围 300-1100hPa,精度 ±0.03hPa),I2C 协议传输数据;光照强度与阳光强度模块互补,确保弱光环境下检测精度。
数据显示模块采用 2.4 英寸 TFT LCD 显示屏,通过 SPI 协议与单片机连接,屏幕划分为 6 个显示区域,分别对应 6 项参数,格式为 “Temp:25℃ Hum:50% RH”“CO:30ppm Gas:0.3% LEL”“Pressure:1013hPa Light:400lux”,直观呈现多参数数据。报警模块由有源蜂鸣器与 6 个 LED 指示灯(对应 6 项参数)组成,蜂鸣器通过 ULN2003 驱动,LED 灯串联限流电阻接入 IO 口,某参数超限时,对应 LED 灯高频闪烁,蜂鸣器发出 110dB 警报声。
数据存储模块选用 AT24C16 EEPROM 芯片(存储容量 16KB),I2C 协议与单片机连接,可记录约 16000 条数据(每条含时间、6 项参数值),断电后数据不丢失。电源管理模块采用 12V 直流电源,经 AMS1117-3.3V 稳压芯片为单片机、传感器、显示屏供电,输入端并联 TVS 瞬态抑制二极管与滤波电容,防止电压波动与尖峰损坏电路,同时支持锂电池备用供电,断电后可续航 8 小时,确保监测不中断。
三、系统软件设计
系统软件基于 Keil MDK 开发环境编写,采用模块化编程思想,主要包含主程序、多参数采集子程序、数据处理子程序、显示子程序、报警子程序及数据存储子程序,各模块协同工作,确保 6 项参数采集间隔<2 秒,报警响应时间<300ms。
主程序负责系统初始化与流程调度,初始化阶段完成单片机 IO 口、I2C/SPI 接口、ADC 模块、定时器的参数配置,设置定时器 0 定时 300ms 用于参数轮询采集,定时器 1 定时 1 秒用于数据存储与状态更新,同时初始化各参数阈值(如 CO>100ppm、瓦斯>1% LEL 报警)及数据存储地址。初始化完成后,主程序进入循环状态,依次调用多参数采集子程序获取数据、数据处理子程序判断异常、显示子程序更新屏幕、报警子程序执行警示、数据存储子程序按 1 分钟间隔保存数据。
多参数采集子程序按顺序轮询 6 类传感器:DHT11 通过单总线读取温湿度;BH1750 与 BMP180 通过 I2C 读取光照与气压;MQ-7、MQ-4 通过 ADC 读取模拟电压,结合校准曲线转换为浓度值。采用滑动平均滤波法(取 5 次采样平均值)去除信号波动,提升数据精度,若某传感器连续 3 次无响应,判定为故障,触发报警。
数据处理子程序将 6 项参数与对应阈值对比,标记异常参数并置位报警标志;显示子程序按区域更新 TFT 屏内容,异常参数以红色字体显示(通过屏显色阶控制);报警子程序检测到报警标志后,控制对应 LED 灯与蜂鸣器动作,直至参数恢复正常或用户按下 “复位” 键。数据存储子程序在定时器 1 中断触发时,结合 DS3231 时钟模块获取的时间,将数据写入 AT24C16,用户可通过按键调用存储子程序,按时间查询历史数据,在 TFT 屏分页显示。
系统总结
本基于单片机的多参数环境监测系统,通过 6 类传感器实现温湿度、CO、瓦斯等参数同步采集,STM32 单片机统筹数据处理与报警控制,TFT 屏多区域显示提升信息可读性,AT24C16 实现历史数据追溯,形成多维度环境监测解决方案。系统硬件抗干扰能力强、适配多场景,软件支持多参数并行处理,能有效预防 CO 中毒、瓦斯爆炸、气压异常等安全隐患,适用于工业、家庭、实验室等场景。后续可拓展 WiFi 模块,实现数据远程上传至监控平台,增加语音报警功能(播报异常参数),进一步提升系统智能化与实用性,在环境安全监测领域具有较高推广价值。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。