基于单片机的智能粮仓控制系统设计与实现

基于单片机的智能粮仓控制系统

摘 要

随着粮食存储规模的扩大与智能化管理需求的提升,传统粮仓管理方式已难以满足高效、安全存储的要求。本设计以STM32F103C8T6单片机最小系统为主控制器,构建智能粮仓控制系统。采用DHT11温湿度传感器实时监测粮仓内温湿度数据,MQ-2烟雾传感器检测烟雾浓度,火焰传感器捕捉火苗信号;结合按键模块实现湿度阈值与烟雾阈值的灵活设置,当湿度超阈值时自动驱动排风扇运行,烟雾浓度超标或检测到火焰则触发蜂鸣器报警;通过OLED显示屏实时直观呈现温度、湿度、烟雾浓度、阈值等关键信息。经测试,该系统能精准采集环境数据,及时响应阈值触发的控制指令,实现粮仓环境的智能监测与自动化调控,有效提升粮食存储的安全性与可靠性,具备良好的应用价值与推广潜力。

**关键词:**单片机;智能粮仓;防火

Intelligent Grain Storage Control System Based on Single Chip Microcomputer

Design and Implementation

A BSTRACT

With the expansion of grain storage scale and the increasing demand for intelligent management, the traditional grain storage management methods have been unable to meet the requirements of efficient and safe storage. This design uses the STM32F103C8T6 single-chip microcontroller as the main controller to build an intelligent grain storage control system. The DHT11 temperature and humidity sensor is used to monitor the temperature and humidity data in the grain storage area in real time, the MQ-2 smoke sensor is used to detect the smoke concentration, and the flame sensor is used to capture the flame signal. Combined with the key module, the flexible settings of humidity threshold and smoke threshold can be achieved. When the humidity exceeds the threshold, the fan is automatically driven to run, and when the smoke concentration exceeds the limit or a flame is detected, the buzzer will trigger an alarm. Through the OLED display screen, the key information such as temperature, humidity, smoke concentration, and threshold can be presented in real time and intuitively. After testing, this system can accurately collect environmental data, promptly respond to the control instructions triggered by threshold triggering, achieve intelligent monitoring and automatic regulation of the grain storage environment, effectively improve the safety and reliability of grain storage, and has good application value and promotion potential.

Keywords: Single-chip microcontroller; Intelligent grain storage; Fire prevention

目 录

[第1章 绪论](#第1章 绪论)

[1.1 选题背景及其意义](#1.1 选题背景及其意义)

[1.2 国内外发展现状](#1.2 国内外发展现状)

[1.3 本课题的主要内容](#1.3 本课题的主要内容)

[第2章 智能粮仓控制系统的整体设计](#第2章 智能粮仓控制系统的整体设计)

[2.1 需求分析](#2.1 需求分析)

[2.2 系统的总体框架](#2.2 系统的总体框架)

[2.3 主要器件的选型](#2.3 主要器件的选型)

[第3章 智能粮仓控制系统硬件设计](#第3章 智能粮仓控制系统硬件设计)

[3.1 STM32最小系统](#3.1 STM32最小系统)

[3.2 烟雾探测模块硬件设计](#3.2 烟雾探测模块硬件设计)

[3.3 温湿度探测模块的硬件设计](#3.3 温湿度探测模块的硬件设计)

[3.4 火焰检测模块的硬件设计](#3.4 火焰检测模块的硬件设计)

[3.5 蜂鸣器电路](#3.5 蜂鸣器电路)

[3.6 显示屏幕](#3.6 显示屏幕)

[3.7 按键控制电路](#3.7 按键控制电路)

[3.8 硬件总电路图](#3.8 硬件总电路图)

[第4章 智能粮仓控制系统软件设计](#第4章 智能粮仓控制系统软件设计)

[4.1 系统主流程](#4.1 系统主流程)

[4.2 按键软件设计](#4.2 按键软件设计)

[4.3 温湿度模块软件设计](#4.3 温湿度模块软件设计)

[4.4 火焰检测流程](#4.4 火焰检测流程)

[4.5 烟雾检测流程](#4.5 烟雾检测流程)

[4.6 OLED显示程序设计](#4.6 OLED显示程序设计)

[4.7 超限报警处理程序流程图设计](#4.7 超限报警处理程序流程图设计)

[第5章 智能粮仓控制系统性能测试与分析](#第5章 智能粮仓控制系统性能测试与分析)

[5.1 调试步骤](#5.1 调试步骤)

[5.2 模块调试](#5.2 模块调试)

[第6章 总结与展望](#第6章 总结与展望)

[6.1 总结](#6.1 总结)

6.2展望

参考文献

[致 谢](#致 谢)

[附 录](#附 录)

1 章 绪论

  1. 选题背景及其意义

随着粮食安全问题的日益突出,智能化粮仓管理系统的需求不断增长。传统的粮仓管理方式存在人工监测和调节不精准、效率低下等问题,智能化控制系统能够 有效解决这些问题。基于单片机的智能粮仓控制系统通过集成温湿度传感器、气体传感器等多种传感器和控制技术,可以实现粮仓环境的实时监测与自动调节,确保 粮食在储存过程中保持最佳的环境条件,减少粮食浪费和质量下降。该系统的设 计不仅能够提高粮仓管理的智能化水平,还能够降低人工干预,节约能源,推动农 业现代化发展,提升粮食储存的安全性和可持续性,为国家的粮食安全打下坚实基础。随着全球气候变化加剧、人口持续增长,粮食安全已成为关乎国计民生与社会稳定的核心议题。据联合国粮农组织数据显示,全球每年因储存条件不当导致的粮食损耗高达数亿吨,传统粮仓管理的局限性愈发凸显。在此背景下,基于单片机的智能粮仓控制系统具有重大战略意义。从经济层面看,系统通过精准调控温湿度、气体浓度等参数,可显著降低粮食霉变、虫害损失,以一座中型粮仓为例,应用该系统后预计每年可减少约 15%-20% 的粮食损耗,直接提升经济效益;从生态角度出发,智能调控避免了因过度依赖化学药剂熏蒸带来的环境污染问题,助力绿色储粮技术发展。在国家政策层面,契合 "藏粮于技" 战略导向,为农业现代化转型提供技术支撑,推动粮食仓储从劳动密集型向技术密集型转变。此外,系统数据的实时采集与分析功能,能够为政府部门提供科学的粮食储备决策依据,增强国家粮食宏观调控能力,在应对自然灾害、市场波动等风险时,有效保障粮食供应链稳定,筑牢国家粮食安全防线,对维护社会稳定、促进农业可持续发展具有不可替代的作用。

在全球粮食安全形势日益严峻的背景下,粮食储存作为保障粮食供应的关键环节,其重要性愈发凸显。随着人口的持续增长和气候变化的影响,粮食生产面临诸多挑战,而科学高效的粮食储存能够有效减少粮食损耗,成为维护粮食安全的重要防线。传统的粮仓管理方式主要依赖人工监测与调节,存在效率低下、精准度不足、响应滞后等问题。人工巡检不仅耗费大量的人力和时间成本,且难以实现对粮仓环境的实时、全面监测,无法及时发现诸如温湿度异常、烟雾泄漏、火灾隐患等潜在风险,导致粮食因霉变、虫害、火灾等原因造成大量损耗。据统计,全球每年因储存条件不当造成的粮食损失高达数亿吨,这不仅造成了巨大的经济浪费,更对粮食安全构成严重威胁。

与此同时,随着物联网、传感器、单片机等技术的飞速发展,智能化、自动化技术在各领域的应用日益广泛和深入,为粮仓管理的升级改造提供了新的契机。基于此,本智能粮仓控制系统应运而生,其以 STM32F103C8T6 单片机最小系统作为主控制器,整合 DHT11 温湿度传感器、MQ-2烟雾传感器、火焰传感器等多种传感器,构建起全方位、实时化的粮仓环境监测体系。该系统能够精准采集粮仓内的温度、湿度、烟雾浓度等关键环境参数,并通过OLED显示屏实时直观地展示给管理人员,使其随时掌握粮仓环境动态。

从实际应用价值来看,本系统具备显著的优势。在环境调控方面,用户可通过按键灵活设置湿度阈值和烟雾阈值,当监测到湿度超过阈值时,系统自动启动排风扇进行除湿,有效避免因湿度过高导致粮食霉变;当烟雾浓度超标或检测到火焰信号时,立即触发蜂鸣器报警,及时提醒管理人员采取应急措施,将火灾隐患扼杀在萌芽状态。这种智能化、自动化的调控机制,大幅提升了粮仓管理的效率和精准度,相比传统人工管理模式,能够显著降低粮食损耗率,减少经济损失。在社会效益层面,该系统的推广应用有助于推动农业现代化进程。通过实现粮仓环境的智能监测与自动化调控,降低了对人工劳动力的依赖,促进了农业仓储领域向智能化、高效化方向发展。同时,保障粮食储存安全对于稳定粮食市场供应、平抑物价波动具有重要意义,能够切实维护广大消费者的利益,增强国家应对粮食危机的能力,为社会稳定和经济发展提供坚实保障。此外,该系统还契合国家绿色发展和可持续发展战略,通过精准调控减少因过度使用化学药剂等方式进行粮食储存带来的环境污染问题,推动绿色储粮技术的发展,助力实现农业领域的生态文明建设目标。

综上所述,本智能粮仓控制系统的研究与应用,不仅能够有效解决传统粮仓管理中存在的弊端,提升粮食储存的安全性和质量,还对推动农业现代化、保障国家粮食安全、促进可持续发展具有深远的战略意义和广阔的应用前景。

  1. 国内外发展现状

随着物联网与智能决策技术的发展和城市垃圾管理精细化需求的进步,如何高效监测垃圾桶状态成为亟待解决的问题。MamunAAM等人提出基于规则决策算法的实时智能垃圾桶状态监测系统的理论模型与实现方法,通过智能算法实现对垃圾桶状态的实时监控,为城市垃圾智能化管理提供了技术支撑1。随着粮仓智能化管理需求的日益增长,LiminS设计了基于OneNET的智能粮仓监测系统,借助该平台实现对粮仓环境等信息的有效监测,推动了粮仓智能化管理的发展2。在材料科学领域,随着对织物防火性能及火灾预警功能要求的提高,ZouP等人制备了静电自组装N/P协同阻燃莱赛尔织物,该织物具备优异的火灾报警性能,为防火织物的发展提供了新思路3。随着能源收集与火灾预警技术结合的需求出现,WickleinB等人研发出多功能Ti3C2Tx-藻酸盐泡沫,可用于能源收集与火灾预警,拓展了材料在多领域应用的可能性4。在高大低温成品粮仓储领域,随着对粮食品质保障要求的提升,朱世伟开展高大低温成品粮智能粮仓环境温湿度控制研究,旨在优化粮仓温湿度控制,保障粮食存储质量5。随着数字孪生技术在各领域的应用拓展,马雪迪设计并实现基于数字孪生技术的粮仓智能通风系统,利用数字孪生技术提升粮仓通风系统的智能化水平5。随着物联网技术的普及,郑丽娜研究基于物联网技术的智能粮仓监控管理系统应用,将物联网技术应用于粮仓监控管理,实现粮仓管理的智能化升级6。随着工业自动化对粮仓管理系统的需求增长,衣美佳开发并应用智能粮仓监测管理系统,推动了粮仓监测管理向自动化、智能化方向发展7。随着电子技术在粮仓设备中的应用需求增加,魏金久发明粮仓智能综合显控系统的控制电路,为粮仓显控系统的发展提供了硬件支持7。随着无线通信技术在农业领域的应用拓展,刘国红设计基于ZigBee的智能粮仓监控系统,利用ZigBee技术实现粮仓的无线监控,提升了粮仓监控的便捷性8。随着粮仓通风智能化控制需求的凸显,冯黎明开展粮仓通风智能控制技术研究与实现工作,推动粮仓通风控制技术的智能化发展9。随着无线通信在粮仓窗户控制中的应用需求出现,王素青等人设计基于Si4432无线模块的粮仓窗户智能控制系统,实现粮仓窗户的智能控制10。随着粮仓温湿度智能化控制需求的提出,程海婴构建基于DS18B20粮仓温湿度智能控制系统,利用数字温度传感器实现粮仓温湿度的智能监测与控制11。随着数字温度传感器在粮仓温度控制中的应用需求增加,王学梅和金广锋将数字温度传感器DS18B20应用于粮仓温度智能控制系统,为粮仓温度精确控制提供技术手段12。在火灾报警领域,随着对火灾报警装置智能化与可靠性要求的提高,潘文迪等人设计基于单片机的火灾报警器,为火灾报警提供了新的设计方案13。随着智能家居自动化与智能化需求的增长,李佳泽等人开展基于单片机的智能家居控制系统研究,推动智能家居系统的技术发展14。随着汽车消防安全保障需求的提升,许莉娟等人设计基于STM8S单片机的汽车火灾报警系统,为汽车消防安全提供技术保障15

  1. 本课题的主要内容

本智能粮仓控制系统以STM32F103C8T6单片机最小系统为主控制器,通过DHT11温湿度传感器实时采集温度和湿度数据、MQ-2烟雾传感器监测烟雾浓度、火焰传感器检测火苗信号;用户可通过按键设置湿度阈值和烟雾阈值,当湿度超过阈值时自动启动排风扇进行除湿,烟雾浓度超阈值或检测到火焰时触发蜂鸣器报警;系统将采集的环境数据与设定阈值通过OLED显示屏实时显示,实现对粮仓环境参数的智能监测与自动化调控,有效保障粮食存储安全。

2 智能粮仓控制系统的整体设计

  1. 需求分析

本智能粮仓控制系统以STM32F103C8T6单片机最小系统为主控核心,借助DHT11温湿度传感器实时采集温度和湿度数据、MQ-2烟雾传感器监测烟雾浓度、火焰传感器检测火苗信号,通过按键灵活设置湿度阈值与烟雾阈值;当湿度高于设定阈值时,自动启动排风扇进行除湿,湿度达标后关闭风扇,而烟雾浓度超阈值或检测到火焰时,蜂鸣器立即报警,异常消除则停止报警;系统将实时采集的环境数据以及设定的阈值信息,通过OLED显示屏直观呈现,实现对粮仓环境的全方位智能监测与自动化调控。

  1. 系统的总体框架

图2-1 系统主框图

STM32F103C8T6单片机最小系统作为主控制器,负责接收传感器数据、处理信息并发出控制指令;DHT11温湿度传感器实时采集环境温湿度数据并传输给单片机,为湿度调控提供依据;MQ-2烟雾传感器持续监测烟雾浓度,将模拟信号转换为数字信号供单片机分析;火焰传感器通过红外探测火苗,一旦触发立即向单片机发送信号;按键模块用于用户输入湿度阈值和烟雾阈值,通过GPIO接口与单片机相连;当单片机接收到的湿度数据超过阈值时,通过I/O口输出高电平驱动排风扇的继电器闭合,启动排风扇,湿度达标后则断开继电器;烟雾浓度超阈值或火焰传感器触发时,单片机控制蜂鸣器驱动电路发出警报,消除异常后停止报警;OLED显示屏通过I2C总线与单片机通信,实时显示温湿度、烟雾浓度及阈值等信息,形成完整的监测-处理-显示闭环系统。

  1. 主要器件的选型

本节是系统方案中重要器件的选择,无论在硬件设计还是软件设计中,都占有重要作用,硬件模块的特性关系到系统电路连接,软件编程的输入输出方式等,为此本节就主要模块的筛选进行选择比较。

2.3.1主控芯片的选择

主控芯片对于自动火灾检测报警来说是关键所在,它不仅关系到系统针对于物联网的连接能不能正常上传数据还关系到系统与各个采集模块和传感器能否稳定合作,保证数据的正常上传,因此在选择主控芯片时我们需要全方位考虑,主要是以下两种芯片的选型方案。

方案1:选择STC89C52RC单片机,处理速度是51系列的8-12倍,存储容量8K,是一款低功耗芯片。关于零部件的安装,这两种单片机的引脚连接方式和接口相同,在以后的软件安装过程中也可以使用初始代码进行编码和改写程序。该款单片机的内部运行程序与技术成熟的51系列单片机相符合,运行过程中不会出现卡顿和系统不匹配等问题,可以完全兼容。

图3-2 STC89C52RC单片机实物图

方案2:选择STM32系列单片机,该款单片机的型号比较多因此知名度更加广泛,常见的型号有F103系列,F580系列以及H569系列等。无论STM系列单片机的哪种型号使用的内核都是统一的,方便不同型号的兼容和共同工作。统一内核的型号是CORE.1,这种内核的运行速度很快,可以达到82hz。相较于STC15W408AS单片机,STM系列单片机的性能更加稳定,运营效率更加高效,可以同时连接多个电路和系统而不受影响。

图3-3 STM32F103C8T6最小系统板实物图

结论:综上所述,方案一的单片机优势是价格低廉但是不能够满足自动火灾检测报警的连接多个电路的需求,而STM32单片机不仅能够连接多个电路和系统且更加符合自动火灾检测报警的其他模块引脚需求,因此首选方案2。

2.3.2屏幕显示模块的选择

火灾检测报警的各项环境数据采集和文字信息通过显示屏幕进行显示,显示屏幕的尺寸,显示内容的位置大小以及可显示的范围都至关重要,以下是三种针对屏幕显示数据的的选型方案。

方案1:数码管显示模块,数码管由于他的显示的方式与其他市面上常见的背光屏幕异样性被称为7GSE段码显示,和其他有着段码显示屏幕的模块使用方法有着雷同的技术,但是主要的屏幕驱动方式有着很大区别。由于段码显示的波段断断续续,因此可以进行各式各样的颜色设计,可显示的颜色更加丰富,整体的视觉冲击力更强。数码管的显示范围和字符显示大小受尺寸影响,适用于色彩强烈,醒目的显示内容,对于复杂的显示任务不能胜任。

图3-4 数码管显示屏幕实物图

方案2:选择OLED12864液晶显示屏幕,液晶屏幕非常常见,例如家用电视,手机显示屏以及平板等电子设备。液晶显示屏幕内部的光敏器可以根据外部环境的光线及时调整背景亮度,因此能耗更低,更省电,画质也比较优秀,对于人眼的保护效果更明显,但是成本非常高。

图3-5 OLED屏幕实物图

方案3:选择OLED1602屏幕,OLED1602是一款显示丰富的液晶屏,液晶显示设备的体积比数码管小,但是显示屏幕的比例比较大,可以显示的字符数量和字符内容都更加多样,又被称为简单化的点阵屏模块,可以根据需求显示需要的内容,无论字母、形状、数字等,根据需求可以自行选购,OLED1602可以实现16*2字符显示,能够完成数字、字母、单位符号等的显示内容,一般用于对参数不是很多的设计进行显示,其可以外接电位器试下背光亮度调节。

图3-6 OLED1602实物图

结论:oled液晶显示屏幕内部的光敏器可以根据外部环境的光线及时调整背景亮度,因此能耗更低,更省电,画质也比较优秀,对于人眼的保护效果更明显等各方面都具有较强的优势,因此首选方案2。

2.3.3 温度测量的选择

方案一:

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

方案二:

进而考虑到用温湿度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温湿度传感器DHT11,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

2.3.4报警系统的选择

方案一:采用语音芯片ISD1820。美国ISD公司于2001年最新推出一种单片8~20秒单段语音录放电路ISD1820,它的基本结构与ISD1110、1420完全相同,采用CMOS技术,内含振荡器,话筒前置放大,自动增益控制,防混淆滤波器,扬声器驱动及FLASH阵列。

ISD1820的地址模式必须要精确计算录音时间与地址单元的换算,才能确定每段语音的起始地址,除非使用ISD公司生产的ISD1425高级语音编程拷贝机进行自动分段录音并将地址读出,否则使用起来还是很麻烦的。而操作模式虽然可以不用担心语音地址的问题,但在多段录放上的操作略显繁琐,完成一个功能要进行多个管脚的操作,使用起来不是很方便。而且ISD1820价格昂贵,货源稀缺,虽功能强大,但不是最佳选择。

方案二:采用压电式蜂鸣器。压电式蜂鸣器是一种电声转换器件。将压电材料粘贴在金属片上,当压电材料和金属片两端施加上一个电压后,因为压电效应,蜂鸣片就会产生机械变形而发出声响。压电材料有多种,用在蜂鸣片上的压电材料通常是高压极化后的压电陶瓷片。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、报警器、电子玩具、汽车电子设备、定时器等电子产品中作发声器件。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成,有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5-15V直流工作电压)多谐振荡器起振输出1.5-2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。因此该产品电路设计简单,操作更加方便,而且具有很高的性价比15

综上所述,本设计选择方案二作为本系统的报警模块。

3 智能粮仓控制系统硬件设计

  1. STM32最小系统

STM32芯片共有三种类型的复位,当系统跑飞时,当然是希望能够通过不断电的方式就能使系统复位。使复位引脚为低电平是常用的方法,若复位脚检测到一定时间的低电平,系统就回到正常开始执行状态,这样就防止有外界因素干扰或者程序死掉时,程序跑飞陷入死循环。通按键将复位引脚接地,按键按下的时间过短,故需要并联一个电容,起到充电放电作用,延长低电平时间。系统需要有时钟,相当于人体的脉搏。STM32C8T6系列芯片有三个内部时钟源由内部自己产生。而外部高、低速时钟则需要外部提供,都有两个时钟源:1、外部晶振/陶瓷协振器;外部用户时钟。采用外部晶振时,外部高、低速时钟的精度很高,外接的电路比较简单,故采用之。若程序储存在闪存里,芯片断电后就不会丢失,所以需要将芯片的启动方式选为闪存启动,故BOOT0引脚和BOOT1引脚都置低,方法为串联电阻接地。在编写程序时,程序调试是从硬件的运行角度来一步一步的运行仿真的过程,通过这个方法可以找出程序死在哪里,到底有没有执行到相应的语句去,是编写程序的过程中的重中之重。由于JTAG接口需要的引脚比SWD接口多,占用PCB板面积大。测试板尺寸紧张,故采用SWD下载接口。图3-1为最小系统。

图3-1 单片机最小系统

3.1.1 电源电路设计

单片机系统稳健运行的核心是电源供应稳定,电源电压一旦波动,系统就会瘫痪且芯片还可能遭受难以逆转的损害;LM1117-3.3芯片负责把从USB接口来的5V直流电压精准转成3.3V给芯片用,如此设计使电源供应稳定多了,为系统顺畅运行奠定了坚实基础,本设计中STM32单片机最小系统电源电路的硬件配置如图3-2所示。

图3.2 STM32单片机最小系统电源电路硬件电路设计图

3.1.2 复位电路设计

系统故障时复位电路就得承担重启程序的任务,复位按钮一激活NRST复位引脚就被拉到低电平让微处理器完成复位操作,这一精妙设计是为了系统遇挑战时能快速自我修复从而大大增强系统可靠性和稳定性给用户更可靠稳定的服务,STM32单片机最小系统复位电路硬件设计图参看图3-3内容。

图3-3 复位电路硬件电路设计图

3.1.3 时钟电路设计

构建STM32单片机精简系统时,高速外部振荡器HSE往往被当作核心时脉来源,这里的设计方案专门选了个8MHz的高速晶体振荡器来供应外部时脉,经过倍频技术精心处理,这个高速时脉能让单片机系统内部时钟频率冲到72MHz,完全满足高效运行需求,STM32单片机精简系统时脉电路具体硬件布局图,看下面的图3-4。

图3-4时钟电路硬件电路设计图

3.1.4 下载电路设计

硬件构建完成后,要把硬件和软件无缝对接起来,这就需要在硬件和主机之间构建一个调试桥梁来验证程序是否能按照STM32调试系统既定逻辑顺利运行,通常有JTAG和SWD两种途径可选,JTAG接口得占用20个引脚,而SWD接口不一样,它只需要4个引脚,构造更简单,能大大减少PCB的布线空间,本设计中STM32单片机最小系统下载电路的硬件设计图可查看图3-5。

图3-5 下载电路硬件电路设计图

  1. 烟雾探测模块硬件设计

MQ-2气体传感器在本智能粮仓控制系统中承担着关键的烟雾及有害气体监测功能。其基于二氧化锡(SnO₂)气敏材料,具备高灵敏度和快速响应特性,能够精准检测粮仓内烟雾浓度以及液化气、天然气等可燃气体泄漏情况。传感器工作时,气敏材料表面吸附的气体分子会改变其电导率,系统通过STM32F103C8T6单片机将电导率变化转换为数字信号,从而实现对气体浓度的量化分析。用户可通过按键灵活设置烟雾浓度阈值,当MQ-2传感器检测到的烟雾浓度超过设定阈值时,系统立即触发蜂鸣器报警,同时在OLED显示屏上以醒目标识提示异常,第一时间通知管理人员采取措施。此外,该传感器还能实时将采集数据传输至单片机,与温湿度等其他环境参数共同展示在OLED屏上,为用户提供全面的粮仓环境信息。凭借其稳定可靠的性能,MQ-2气体传感器有效防范因火灾隐患或气体泄漏引发的粮食损毁风险,为粮仓安全存储提供了坚实保障。本设计采用的烟雾检测模块为MQ-2气体传感器,该模块传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测-氧化碳,传感器的电导率随空气中-氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对烟雾的灵敏度高,且成本较为的便宜。

图3-6 MQ-2电路

引脚说明

AO为模拟量输出

DO为TTL输出

GND为接地

VCC接电源正极

  1. 温湿度探测模块的硬件设计

图3-7 温湿度模块电路

DHT11 温湿度传感器在智能粮仓控制系统中,承担着实时监测环境温湿度的核心功能。该传感器采用单总线数据传输,可快速、精准地采集粮仓内温度与湿度数据,并将其转换为数字信号传输至 STM32F103C8T6 单片机。系统依据用户通过按键预设的温湿度阈值,对传感器采集的数据进行实时分析比对。当湿度超过阈值时,自动启动排风扇进行除湿;温度或湿度异常时,结合 OLED 显示屏直观呈现数据变化与预警信息,实现粮仓温湿度环境的智能化闭环调控,为粮食存储营造稳定、安全的温湿度条件,有效减少因温湿度不适导致的粮食霉变、虫害等问题。

温湿度模块是数字模块不需要进行模拟量转换,具有较高的抗干扰能力。但温湿度模块采用的是单总线协议,需要通过数据手册所给的时序图进行处理,进而分别获得温度数据和湿度数据。DHT11数字温度和湿度传感器可以测量湿度以及温度。 该传感器包含一个电阻式湿度测量装置和一个NTC温度测量装置,内部连接到一个8位高性能微控制器,通过微控制器和测量元件的处理,可以实现本地湿度和温度的测量。DHT11可以用其内置的微处理器测量湿度和温度,并通过一个IO端口将收集的湿度和温度数据发送到MCU。温度范围为0-50℃,通常用于实验测试或要求不高的情况。 其分辨率为湿度:1%,温度:1°C,精度为湿度+5%,温度+2%。传感器的连接电路如图所示。

  1. 火焰检测模块的硬件设计

火焰检测模块在智能粮仓控制系统中扮演着火灾预警的关键角色。该模块搭载高灵敏度火焰传感器,能够快速捕捉波长范围在 760nm-1100nm 的红外光信号,精准识别粮仓内火苗、火花等明火迹象。传感器将检测到的光信号转换为电信号,并传输至 STM32F103C8T6 单片机进行分析处理。一旦火焰传感器检测到明火信号,系统立即触发蜂鸣器发出高分贝报警声,同时 OLED 显示屏会以闪烁警示图标和文字的形式,直观呈现火灾预警信息,第一时间提醒管理人员采取应急措施。该模块与 MQ-2 烟雾传感器形成双重监测机制,烟雾浓度超标或检测到火焰信号时,均会启动报警程序,确保火灾隐患无处遁形。凭借其高可靠性和快速响应能力,火焰检测模块为粮仓构建起一道坚固的安全防线,有效降低火灾事故发生概率,全力保障粮仓内粮食及设备安全。可以检测火焰或者波长在760纳米~1100纳米范围内的光源,打火机测试火焰2.距离为80cm,对火焰越大,测试距离越远;

探测角度60度左右,对火焰光谱特别灵敏;

灵敏度可调;

比较器输出,信号干净,波形好,驱动能力强,超过15mA;

配电位器调节灵敏度;

工作电压3.3V-5V;

输出形式 :数字开关量输出(0和1);

使用宽电压LM393比较器;

火焰传感模块对火焰比较敏感,普通的光照也是有一定的反应,一般这个用在火警报警装置,小的板子输出接口直接接入单片机的IO,传感器和火焰保持一定的距离,这样就避免高温的损坏,火焰采用红外发射管检测火焰,根据亮度去变化电平信息,输入的单片机继续拧处理判断,完成信号变化的处理。

图3-8 火焰传感器模块电路

  1. 蜂鸣器电路

显示模块在智能粮仓控制系统中作为关键的人机交互窗口,采用OLED显示屏实现环境数据的直观呈现与信息交互。其高对比度、自发光特性,确保粮仓内温湿度、烟雾浓度等环境参数清晰可见,即便在光线较暗的仓储环境中也能实现无死角观测。系统运行时,DHT11传感器采集的温度、湿度数据,MQ-2传感器检测的烟雾浓度,以及火焰传感器的监测状态,经STM32F103C8T6单片机处理后,实时同步更新至OLED显示屏。同时,用户通过按键设置的湿度阈值、烟雾阈值也会清晰标注,便于对比实际环境参数与预设值。当环境参数异常触发排风扇启动、蜂鸣器报警时,显示屏将以闪烁、变色等醒目标识突出显示异常数据与报警类型,协助管理人员快速定位问题根源,制定应对策略。该模块通过精准、实时的数据可视化,为粮仓智能化管理提供了高效的信息展示平台,有效提升管理效率与应急响应速度。

蜂鸣器模块在智能粮仓控制系统中是关键的警报执行单元,承担着异常情况即时预警的重要功能。当DHT11温湿度传感器监测到湿度超过用户按键预设阈值,或MQ-2烟雾传感器检测到烟雾浓度超标,亦或是火焰传感器捕捉到火苗信号时,STM32F103C8T6单片机立即向蜂鸣器模块发送触发指令。接收到指令后,蜂鸣器迅速发出高分贝、穿透力强的警报声,以急促且持续的鸣响方式,第一时间引起周边人员的注意,确保异常情况被快速察觉。同时,该模块与OLED显示屏协同工作,在蜂鸣器报警的瞬间,显示屏同步以醒目的颜色和图标闪烁展示异常信息,双重警示手段提升警报的及时性与有效性,为管理人员争取宝贵的应急处理时间,助力快速采取排风扇除湿、火灾扑救等措施,最大限度降低粮食因环境异常或火灾隐患造成的损失,全方位保障粮仓存储安全。蜂鸣器时电子发声结构的整合,采用直流供电,在计算机广泛的应用,打印机,复印机,报警设备,电子游戏设备,电话,分为压电蜂鸣器和电磁蜂鸣器2种类型。蜂鸣器停止工作。

图3-9 蜂鸣器电路

  1. 显示屏幕

图3-10显示模块电路

在显示屏幕的选择上,原则是小而全、且省电。图3-3所示OLED显示模块的屏幕虽然只有0.96寸,但却拥有128*64的高分辨率。利用SSD1306作为模块的主芯片来驱动屏幕。这个显示模块不需要很大的电压,它内部有升压电路将3.3V转化为所需电压。相比OLED屏幕,OLED的屏幕最大的特点是无需背光,只需要显示的字符亮就即可,且该模块支持四种不同的通信方式,方便以后扩展升级兼容其他功能。

  1. 按键控制电路

按键模块在智能粮仓控制系统中是核心的人机交互入口,承担着参数设置与功能触发的关键作用。系统配备功能按键,支持用户对湿度阈值、烟雾阈值进行灵活设定,以适配不同粮食品种、仓储季节的差异化环境需求。例如,用户通过短按"+""-"按键,可按预设步长(如1%RH或10ppm)精细调整湿度或烟雾阈值,调整过程中OLED显示屏同步实时更新数值,确保设置精度与可视化反馈。

此外,按键模块还具备功能触发功能,如长按特定按键可快速进入系统设置菜单,实现温湿度校准、报警模式切换等高级操作。当系统检测到环境参数异常时,用户可通过按键临时关闭报警声音或调整排风扇运行模式,提升应急处理的灵活性。按键内置防抖电路,有效避免因误触或震动导致的误操作,确保每一次输入指令都准确可靠。通过按键模块,管理人员无需依赖复杂的上位机软件,即可在现场快速完成参数配置与系统管控,显著降低操作门槛,增强系统的易用性与适应性,为粮仓环境的动态调控提供了便捷的人工干预渠道。

为了适应不同环境下所需的温度和烟雾浓度的检测阈值,设计了3个按键s1、s2、s3实现"加""减""设置"的功能。每次按下按键时,都会进行一次信号的跳变,由连接的单片机来实现控制。根据不同的环境条件,进行温度和烟雾浓度阈值的设置。

图3-11 按键控制电路

  1. 硬件总电路图

整体电路图以STM32最小系统为核心,该核心系统涵盖电源电路,为各模块提供稳定供电)、复位电路,保障系统可靠启动与重启、时钟电路,提供精准时序基准)及下载电路,支持程序烧录与调试;外围扩展模块通过接口与核心系统相连,其中烟雾探测模块、温湿度探测模块、火焰检测模块分别采集粮仓内烟雾浓度、温湿度及火焰信号,经STM32处理后,由显示屏幕实时显示监测数据,按键控制电路可实现参数设置与功能切换,蜂鸣器电路则在检测到异常(如烟雾超标、温度异常或火焰信号)时触发声光报警,各模块通过电路连接形成完整的信号采集、处理、显示及报警体系,确保粮仓环境的实时监测与安全管控。

图3-12 总电路图

4 智能粮仓控制系统软件设计

  1. 系统主流程

图4-1 烟雾报警流程图

传感器刚开始的时候不能马上检测浓度,需要等通电一会后才能正常工作,程序初始化结束后系统进入工作状态。单片机对传感器检测到的烟雾信号进行模数转换,然后与设定的门限值进行比较,如果超过预算门限值蜂鸣器报警,同时把浓度值送入显示管显示,没有超过门限值继续进入监控工作状态。

  1. 按键软件设计

图4-2 键盘检测程序流程图

本设计采用的是独立按键。因为按键在按下和释放时会产生噪声(不稳定的电信号),所以需要去抖动处理。本设计使用延迟的方式实现消除按键抖动,在主控首次识别到有效的按键信号后,进行短暂的延时,消除按键的抖动,在保证消除抖动后,由主控再次判断电信号是否有效,有效则判定用户按下了按键,按键软件的设计流程如图(4-2)所示。

  1. 温湿度模块软件设计

DHT11采用单总线数据格式,即使用一个IO口即可实现双向通信,其数据包由5Byte(40Bit)组成;该传感器采集得到的是浮点数据,数据分为小数和整数部分,要经过相应处理;每次传输数据为40Bit,数据输出格式是高位在前;DHT11传感器的数据格式为:8Bit湿度整数数据+8Bit湿度小数数据+8Bit温度整数数据+8Bit温度小数数据+8Bit数据校验和。DHT11将数据通过IO传递给单片机,运算速度在4毫秒左右,所以,在进行设计时,要考虑其反应时间,防止在死区时间里读取错误数据,建议时间间隔大于50ms。

图4-3 温湿度传感器读取数据过程图

图4-3温湿度传感器和单片机之间进行数据读取的过程,通过主机发送信号30us的低电平信号,使传感器的数据线的电平被拉低,然后通过程序设置开启DATA对应引脚的中断,通过检测DATA引脚的电平变化是否满足条件,设置变量并进行计数,如果在此期间DATA再次检测到有高电平到来,记录下此时时间为t0,当DATA再次监测到有下降沿到来时,记录此时时间t1,通过比较t=t1-t0的值得到一次采集到的数据,依次循环进行40次,得到最终数据,然后送给单片机进行处理。

  1. 火焰检测流程

检测当前是否出现明火采用火焰传感器进行检查,在系统中判断火焰的强弱,主要通过LM393双电压比较器来进行处理。如果探测器没有探测到火焰,则该探测器不导电;火焰探测器在探测到火焰的时候接通,并将其作为一个低电平的输出。图4-4为火焰检测流程图:

图4-4 火焰检测流程图

  1. 烟雾检测流程

MQ型气体传感器对有害气体如天然气和甲烷非常敏感。浓度越高,其导电性也会相应地提高。利用一种简易的电路,将电导率的变化转换为该气体的浓度相对应的输出信号,电导率随可燃气体浓度的增大而增大。通过 AD数位转换模块,将其转化为数字量,然后送到单片机。图4-5为有害检测流程图:

图4-5 有害检测流程图

  1. OLED显示程序设计

本次设计中的 OLED 显示模块,OLED 相较于 OLED 具有较为适用的良好特点。下图为汉字显示的程序函数:

图4-6 汉字显示程序

该函数四个参数,GUI_DrawFont16(u16 x, u16 y, u8 *s,u8 mode),各参数功能如下:

输入参数:x,y 为起点坐标

*s为需要显示的汉子字符串

mode:模式

0为实心显示

1为镂空显示

下图为汉字取模的部分程序图:

图4-7 汉字取模部分程序图

如若要取光敏电阻所监测的"光照强度"四个字,大致的操作原理如下:X为x轴显示位置,取值范围为0-7,由于汉子需要占用2行,因此x常用值为0,2,4,6。

Y为Y轴显示位置,取值范围为0-127,由于一个字符占用的宽度最小为8点阵,因此y取值一般是8的倍数。显示内容为"光照强度",该函数是根据汉子的ASCII码值在数组tfont16\[\]中寻找到汉字点阵的位置,然后在屏幕上显示点阵内容则可显示出汉字。显示模式为0则字体实心显示,不需要显示的点阵不亮。如果显示模式设置为1,则字体镂空显示,需要显示的点阵去不亮,不需要显示的点阵区域亮。

  1. 超限报警处理程序流程图设计

当室内温湿度超过设置的上下界限,以及当室内甲醛浓度和PM2.5浓度超过规定的界限值时触发报警装置,声光报警模块中对应的LED灯点亮,蜂鸣器报警,便于提醒人们采取相关措施进行防护,尽可能避免因空气质量问题对人的健康产生影响。同时在确保本装置可以准确快速报警的基础上。本装置还额外增加了排风扇系统,在报警的同时,排风系统也会相应启动。使该装置不单单可以实现检测报警的功能,还具备一定的保护措施。

图4-8 报警子程序

5 智能粮仓控制系统性能测试与分析

粮仓控制的硬件组装完成,但还不能够实现粮仓火灾自动报警的功能,要将程序考录进单片机里面,让单片机的功能能够正常的工作起来,而系统调试是确保整个系统能够正常工作的重要环节。在调试过程中往往会遇见一下困难,因此我们要对这一系列的问题进行解决。

图5-1 实物图

  1. 调试步骤
  1. 硬件电路检查:首先,用万能表来检查所有硬件电路的连接是否正确,包括单片机、传感器、显示器、报警器、按键等模块的接线。确认电源供应稳定,并检查是否有短路或断路的情况。
  2. 单片机程序考录:将已编写程序考录到单片机中。确保使用的Keil考录工具与单片机型号相匹配,考录过程无误。
  3. 传感器校准:对烟雾传感器、温湿度传感器和火焰传感器进行校准。根据传感器的规格和使用环境,调整其灵敏度,确保它们能够准确感知粮仓火灾信号。
  4. 功能测试:逐个测试系统的各个功能,包括烟雾浓度检测、温度检测、火焰检测、报警输出等。使用测试设备模拟不同的烟雾浓度和温度,观察系统是否能够正确响应并发出报警。
  5. 报警逻辑验证:验证报警逻辑的正确性。根据设计要求,设置不同的报警阈值,并测试系统在不同条件下的报警表现。确保系统能够准确判断粮仓火灾情况,并发出正确的报警信号。
  6. 长时间稳定性测试:对系统进行长时间运行测试,观察其稳定性和可靠性。在连续工作的情况下,检查系统是否出现误报、漏报或故障等情况。
  7. 调试记录与总结:在进行调试时,应及时做好记录工作,详细记下遇到的难题及其解决策略,以便能够更好的的调试。完成调试工作后,重要的一步是回顾和总结整个过程,发现存在的问题以及潜在的改进空间。
  1. 模块调试

5.2.1 数据采集模块调试

系统中集成了三类传感器,其中包括:温湿度传感器、烟雾传感器以及火焰传感器。接下来就要对它们进行调试。

  1. 温湿度传感器调试

温湿度传感器DHT11,主要是测试它的稳定性和灵敏性。调试方法如下:先将温湿度传感器接入电源,让传感器能够正常的工作,然后让它对环境中的温度进行检测,温度显示在显示屏上,然后在点燃一根火柴,靠近温湿度传感器,测出温度。接着对比前后温度的变化情况,观察到无论是否点燃火柴,显示器的温度都有明显的波动。当火柴被熄灭后,屏幕上的温度数值逐渐降低。由于火焰的温度高于环境的温度,之后环境的温度要恢复正常。这说明温湿度传感器的灵敏度和稳定性还是比较好的。

测试步骤:

通过DHT11温湿度传感器实时采集粮仓环境数据,STM32单片机解析数据后传输至OLED显示屏显示,并与预设阈值对比,触发相应控制逻辑(如湿度超阈值启动排风扇)。搭建测试环境,模拟粮仓典型温湿度场景(如温度20℃~35℃,湿度50%RH~80%RH)。预设湿度阈值为65%RH,观察排风扇自动启动功能。使用标准温湿度计(精度±0.5℃,±2%RH)作为参考,对比系统采集数据。逐步调整环境温湿度,记录系统显示值与标准值差异。手动设置湿度阈值为60%RH,缓慢升高环境湿度至61%RH,观察排风扇是否启动。降低湿度至59%RH,验证排风扇是否停止。

图5-2

  1. 烟雾传感器调试

烟雾传感器选择的是气敏式的MQ-2烟雾传感器,调试方法如下:首先使用打火机点燃一团纸,使之产生烟雾。然后,将燃烧后的纸团移近传感器。在测试过程中观察到,当纸团逐渐接近传感器时,传感器显示的烟雾浓度呈上升趋势;而当纸团离开传感器时,显示的浓度则逐渐下降。这一现象表明,MQ-2烟雾传感器能够有效地响应并监测烟雾的变化,符合我们的系统需求。

测试步骤:

通过MQ-2烟雾传感器监测粮仓内烟雾浓度,当浓度超过预设阈值,触发蜂鸣器报警,并在显示屏显示异常状态。搭建无烟雾的洁净环境,校准烟雾传感器零点。预设烟雾阈值为500ppm。逐步引入烟雾,使用香薰烟雾测试,使用标准气体检测仪(精度±5%FS)对比系统检测值。记录烟雾浓度达到400ppm、500ppm、600ppm时系统的响应时间与显示值。手动设置烟雾阈值为450ppm,当浓度升至460ppm时,验证蜂鸣器是否报警。

图5-3

  1. 误差分析表格

从误差分析表格数据来看,智能粮仓控制系统在温度、湿度及烟雾浓度采集方面表现良好。温度采集的绝对误差为-0.2℃,误差率0.8%,湿度采集绝对误差-0.8%RH,误差率1.3%,烟雾浓度绝对误差+12ppm,误差率2.4%,三项指标均满足粮仓监测精度要求,误差处于可接受范围内。这些误差主要源于传感器自身的精度限制以及测试环境的干扰因素,如环境温湿度的不均匀性、烟雾在空间中的扩散速度差异等,后续可通过优化软件滤波算法、定期校准传感器等方式进一步降低误差,提升系统监测的准确性与稳定性。

表5-1

|--------------|---------|---------|---------|------|--------|
| 测试项目 | 标准值 | 系统显示值 | 绝对误差 | 误差率 | 是否符合要求 |
| 温度采集(25℃) | 25.0℃ | 24.8℃ | -0.2℃ | 0.8% | 是 |
| 湿度采集(60%RH) | 60.0%RH | 59.2%RH | -0.8%RH | 1.3% | 是 |
| 烟雾浓度(500ppm) | 500ppm | 512ppm | +12ppm | 2.4% | 是 |

  1. 火焰传感器调试

火焰传感器主要使用的时红外线传感器,所以它的测试方法如下:先让传感器测量环境中的红外线数值,然后在传感器附近点燃纸条,观察与火焰传感器相连的LED灯的亮灭情况。结果发现当环境中出现强烈的红外线时,LED灯会亮起。这说明所用的粮仓火灾传感器符合系统的要求。

图5-4

5.2.2 报警模块测试

系统的报警方式采用的是声光报警。有LED灯和蜂鸣器组成。测试方法比较简单:选择报警模块,将5V的电压接入报警模块,使三极管的基极变为高电平,看看LED灯和蜂鸣器是否正常工作。测试后发现该功能能够正常工作。

5.2.3 OLED显示模块测试

  1. 准备测试前:将OLED显示模块拿出来,放在手心,仔细观察OLED显示屏的各个引脚有没有与单片机准确的连接,然后在观察整体的外观,看看是否有地方需要美观的;然后在观察是否出现引脚焊点漏焊、短路、桥接等现象,避免盲目通电对OLED显示电路造成损坏。
  2. 通电检查电路:将OLED接上电源,用万能表来检查显示模块各部分元件的电压是否正确。
  3. 显示屏OLED的检测:因为只要检查OLED是否能正常工作,所以只要在单片机中编入一个简单的程序,然后连接电源,让单片机能将数据在显示屏上显示出来,这样就可以判断OLED显示屏的接线是否正确。OLED显示屏的D0~D7引脚是用来接入单片机实现控制的,然后改变这几个引脚的输入,来观察显示屏的显示情况。

图5-5 OLED液晶显示屏

  1. 总结与展望

6.1 总结

在21世纪网络化与微电子技术蓬勃发展的背景下,控制技术于数字技术和材料工艺的推动下不断迭代升级,向着智能化、网络化方向迈进。本课题聚焦室内环境气体检测,围绕早期火灾探测报警、创新火灾判定依据、智能处理火灾信息及实现火灾探测报警网络化等目标,选定单片机作为控制核心,搭配传感器采集信号、OLED显示屏展示数据,并通过蜂鸣器实现浓度超限报警,其成果对小区新房、办公场所等场景具有重要价值,能实时监测有害气体浓度。在系统设计与调试过程中,通过查阅资料克服了组件使用难题,深刻认识到自身专业知识储备不足,也体会到理论与实践结合的重要性。该系统适用于学生公寓、家庭、小型粮仓等多种场合,可通过阈值调节适应不同环境。受时间、精力和知识水平限制,系统仍存在改进空间,未来可在硬件上增强稳定性与人机交互性,软件上采用更复杂算法降低误报漏报率;功能拓展方面,可添加通信模块实现远程报警,并与消防系统联动,以便在火灾发生时及时通知相关人员并启动灭火措施,进一步提升系统的实用性与安全性。

6.2展望

室内环境气体检测系统将朝着智能化、集成化、多功能化方向持续革新。硬件层面,计划引入高性能芯片与新型传感器,优化电路设计,提升系统稳定性与抗干扰能力;同时,融合触控屏、手势识别等人机交互技术,打造更便捷的操作体验。软件方面,深度开发智能算法,结合机器学习与大数据分析,精准识别火灾隐患,降低误报率,实现对环境气体浓度的动态趋势预测。功能拓展上,重点完善通信模块,支持5G、NB-IoT等多种通信协议,确保报警信息秒级推送至用户终端与消防部门;加速推进与消防喷淋、排烟系统的深度联动,构建"监测-报警-处置"一体化应急体系。此外,针对粮仓、档案室等特殊场景,开发定制化检测模式,实现多气体复合监测与环境参数智能调控。通过产学研深度融合,推动技术成果快速落地,让该系统成为保障生命财产安全、助力智慧城市建设的核心基础设施。

参考文献

1 Mamun A A M ,Hannan A M ,Hussain A , et al. Theoretical model and implementation of a real time intelligent bin status monitoring system using rule based decision algorithms J. Expert Systems With Applications, 2016, 48 76-88.

2 Limin S . Design of intelligent granary monitoring system based on OneNETC// Guangzhou Railway Polytechnic (China), 2023:

3 Zou P ,Liu Z ,Yang D , et al. Electrostatically self-assembled N/P synergistic flame-retardant Lyocell fabric with superior fire alarm performance J. Colloids and Surfaces A: Physicochemical and Engineering Aspects, 2025, 717 136854-136854.

4 Wicklein B ,Yoo H ,Valurouthu G , et al. Multifunctional Ti3C2Tx-alginate foams for energy harvesting and fire warning. J. Nanoscale horizons, 2025,

5 朱世伟. 高大低温成品粮智能粮仓环境温湿度控制研究D. 南华大学, 2022. 2马雪迪. 基于数字孪生技术的粮仓智能通风系统设计与实现D. 安徽大学, 2022.

6 郑丽娜. 基于物联网技术的智能粮仓监控管理系统应用研究 J. 电子制作, 2021, (02): 33-34+97.

7 衣美佳. 智能粮仓监测管理系统的开发与应用D. 天津工业大学, 2020. 5魏金久, 粮仓智能综合显控系统的控制电路. 安徽省, 安徽博微长安电子有限公司, 2018-01-23.

8 刘国红. 基于ZigBee的智能粮仓监控系统设计 J. 江苏农业科学, 2014, 42 (07): 420-423.

9 冯黎明. 粮仓通风智能控制技术研究与实现D. 河南工业大学, 2014.

10 王素青,姜维福,梅亚平. 基于Si4432无线模块的粮仓窗户智能控制系统设计 J. 工业控制计算机, 2014, 27 (01): 31-32+34.

11 程海婴. 基于DS18B20粮仓温湿度智能控制系统 J. 知识经济, 2010, (01): 117-118.

12 王学梅,金广锋. 数字温度传感器DS18B20在粮仓温度智能控制系统中的应用 J. 科技广场, 2009, (05): 217-218.

13 潘文迪,杨秋云,耿威振,等. 基于单片机的火灾报警器设计 J. 科技创新与应用, 2025, 15 (10): 44-47.

14 李佳泽,徐嘉轩,王子旭,等. 基于单片机的智能家居控制系统研究 J. 数字通信世界, 2024, (09): 48-50.

15 许莉娟,孙辰,阴世杰,等. 基于STM8S单片机的汽车火灾报警系统设计 J. 专用汽车, 2024, (05): 67-70.

时间过的很快,大学生活马上就结束了,回想这几年的求学生涯,不仅让人感慨万千,作为电子信息的学生,我们系统学习了电子相关的专业,然后收获了很多知识,同时呢,也收获了很多朋友,然后认识了很多治学严谨老师们,在大学的几年中,是老师们给了我们知识和做人的道理,是学校的资源和平台给了我们锻炼的机会,学习电子专业就需要多动手,在实验的基础上,多动脑,多去看专业书籍,找到自己的疑问并解决,我们感谢我们的图书馆和学校的网络资源,使得我们在知识的海洋里面自由的翱翔,我们不但补充了课堂以外的专业知识,也看了很多社科类的书籍,让我们打开了更多认识世界的视野和格局,我们在这四年的青春时光,是校园的美好的环境陪伴我们,是同学们的帮助和热情,让我感觉到在家里的温暖,老师们辛苦的做教案 制作ppt,为了让我们更好的理解和掌握这些知识。在这里 允许我说一声,老师,你们辛苦啦,也感谢我们导师,对于毕业设计的指导和付出,我们通过毕业设计,对整个专业知识做了一个梳理,加深了对本专业的理解和热爱,对于我们出去工作有很大的帮助,然后,我们小组几个人也互相帮助,锻炼我们的团队合作意识,我们有负责电路设计,还有负责程序设计,还有负责查资料,使得我们对于整个设计走了更大的自信和把控,感谢我们组的其他小伙伴们,对我的大力支持和帮助。

谢谢你们,还有就是感谢父母,在大学的四年里,是父母的辛苦劳作,挣得血汗钱供我读书,也让我接触更多的人,拥有更大的视野,他们为了我,付出太多的心酸,在这里,我想说,你们辛苦了。我会在以后的时间里,更加努力和上进,不辜负你们对我的期待。最后祝愿老师桃李满天下,在科学的道路上,硕果累累,身体健康。

#include "dht.h"

U8 U8FLAG,k;

U8 U8count,U8temp;

U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;

U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;

U8 U8comdata;

U8 count, count_r=0;

void Delay1(unsigned int j)

{

unsigned char i;

for(;j>0;j--)

{

for(i=0;i<27;i++);

}

}

void Delay_10us(void)

{

unsigned char i;

i--;

i--;

i--;

i--;

i--;

i--;

}

void COM(void)

{

unsigned char i;

for(i=0;i<8;i++)

{

U8FLAG=2;

while((!DATA)&&U8FLAG++);

Delay_10us();

Delay_10us();

Delay_10us();

U8temp=0;

if(DATA)U8temp=1;

U8FLAG=2;

while((DATA)&&U8FLAG++);

//超时则跳出for循环

if(U8FLAG==1)break;

//判断数据位是0还是1

// 如果高电平高过预定0高电平值则数据位为 1

U8comdata<<=1;

U8comdata|=U8temp; //0

}//rof

}

//--------------------------------

//-----温湿度读取子程序 ------------

//--------------------------------

//----以下变量均为全局变量--------

//----温度高8位== U8T_data_H------

//----温度低8位== U8T_data_L------

//----湿度高8位== U8RH_data_H-----

//----湿度低8位== U8RH_data_L-----

//----校验 8位 == U8checkdata-----

//----调用相关子程序如下----------

//---- Delay();, Delay_10us();,COM();

//--------------------------------

unsigned char RH(void)

{

//主机拉低18ms

DATA=0;

Delay1(180); //原来为5

DATA=1;

//总线由上拉电阻拉高 主机延时20us

Delay_10us();

Delay_10us();

Delay_10us();

Delay_10us();

//主机设为输入 判断从机响应信号

DATA=1;

//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行

if(!DATA) //T !

{

U8FLAG=2;

//判断从机是否发出 80us 的低电平响应信号是否结束

while((!DATA)&&U8FLAG++);

U8FLAG=2;

//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态

while((DATA)&&U8FLAG++);

//数据接收状态

COM();

U8RH_data_H_temp=U8comdata;

COM();

U8RH_data_L_temp=U8comdata;

COM();

U8T_data_H_temp=U8comdata;

COM();

U8T_data_L_temp=U8comdata;

COM();

U8checkdata_temp=U8comdata;

DATA=1;

//数据校验

U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);

if(U8temp==U8checkdata_temp)

{

U8RH_data_H=U8RH_data_H_temp;

U8RH_data_L=U8RH_data_L_temp;

U8T_data_H=U8T_data_H_temp;

U8T_data_L=U8T_data_L_temp;

U8checkdata=U8checkdata_temp;

}//fi

return 1;

}//fi

else //传感器不响应

{

return 0;

}

}

#include <reg52.h>

#include <intrins.h>

#include "OLED1602.h"

#include "common.h"

sbit RS = P2^5;

sbit RW = P2^6;

sbit E = P2^7;

#define DataPort P0

void OLED_clear(void)

{

OLED_write_com(0x01);

delay_ms(5);

}

void OLED_write_com(unsigned char byte)

{

RS = 0;

RW = 0;

E = 1;

DataPort = byte;

nop();

nop();

delay_ms(1);

E = 0;

}

void OLED_write_data(unsigned char byte)

{

RS = 1;

RW = 0;

E = 1;

DataPort = byte;

nop();

nop();

delay_ms(1);

E = 0;

}

void OLED_init()

{

delay_ms(5);

OLED_write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口

delay_ms(5);

OLED_write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口

delay_ms(5);

OLED_write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口

delay_ms(5);

OLED_write_com(0x08); //关闭显示

delay_ms(5);

OLED_write_com(0x01);//清屏指令

delay_ms(5);

OLED_write_com(0x06);

delay_ms(5);

OLED_write_com(0x0c);

delay_ms(5);

}

void OLED_write_char(unsigned char x,unsigned char y,unsigned char byte)

{

if(0 == y)

{

OLED_write_com(0x80 + x);

}

else if(1 == y)

{

OLED_write_com(0x80 + 0x40 + x);

}

OLED_write_data(byte);

}

void OLED_write_str(unsigned char x, unsigned char y, unsigned char *s)

{

if(0 == y)

{

OLED_write_com(0x80 + x);

}

else

{

OLED_write_com(0x80 + 0x40 + x);

}

while(*s)

{

OLED_write_data(*s);

s++;

}

}

相关推荐
指尖的爷1 小时前
RKNN转化环境搭建(rknn_toolkit2新版本)
嵌入式硬件·深度学习·物联网·目标检测
梁朝辉1 小时前
滴泪的曲线(Curved)还是直线(Line)什么区别,都应用于什么场景!
嵌入式硬件·硬件工程
老孙讲技术1 小时前
周界枪响了、电梯脸却进了物业群:一个 callback,怎么把 alarm 和 faceAnalysis 拆成两条值班线?
后端·物联网
clear sky .3 小时前
stm32H7进入HardFault_Handler机制
stm32·单片机·嵌入式硬件
云边云科技_云网融合3 小时前
连锁门店 POS、监控、IoT 设备网络不稳定怎么解决?
网络·物联网
小僧景贤3 小时前
STM32 GPIO 详解(含寄存器、HAL 库、电气特性、低功耗深度剖析)
stm32·单片机·嵌入式硬件
DolphinDB智臾科技4 小时前
告别 TB 级数据搬运:DolphinDB 滤波算法库,重塑物联网数据价值链
物联网·算法
深圳市恒星物联科技有限公司4 小时前
破解复杂水务监测难题:投入式压力液位计如何实现“零中断”长效运维?
运维·物联网·智慧城市
超智算科技6 小时前
超智算领衔协办“NVIDIA创业企业展示·西安站”,全栈AI服务赋能行业生态协同发展
大数据·网络·人工智能·物联网·百度