




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机控制的教室调光空气质量和温度的智能控制系统的设计摘要近年来,随着人们对室内环境舒适性和健康要求的不断提高,教室内光照、温湿度、空气质量等因素对学生的学习效率和身心健康的影响受到广泛关注。传统的教室环境调节方式多为被动式手动操作,无法实时响应环境变化,难以满足智能化调控需求。为了主动优化教室环境质量,本文设计了一种基于STM32F103单片机的智能控制系统。本系统集成了温湿度、光照强度、PM2.5浓度等多种传感器,实时监测教室内的环境参数;用户可通过按键方便地设置期望的环境阈值;一旦检测到任何异常值,系统将立即发出报警短信提醒。该智能控制系统贯彻了低成本、高可靠性、易操作和维护的设计原则,采用模块化硬件结构,选用性价比高的核心器件。硬件电路设计合理、软件流程规范完备、人机界面操作简便。系统集成度高、功能全面、响应及时,可有效改善传统模式的被动局面,为教学环境质量的提升做出积极贡献,具有广阔的推广应用前景。关键词:单片机控制;环境监测;自动调节;报警系统AbstractInrecentyears,withthecontinuousimprovementofpeople'srequirementsforindoorenvironmentcomfortandhealth,factorssuchaslighting,temperatureandhumidity,andairqualityinclassroomshaveattractedwidespreadattentiontotheirimpactonstudents'learningefficiencyandphysicalandmentalhealth.Thetraditionalclassroomenvironmentadjustmentmethodsaremostlypassivemanualoperations,whichcannotrespondtoenvironmentalchangesinrealtimeandcannotmeettheneedsofintelligentregulation.Inordertoactivelyoptimizethequalityofclassroomenvironment,thisarticledesignsanintelligentcontrolsystembasedonSTM32F103microcontroller.Thesystemintegratesmultiplesensorssuchastemperatureandhumidity,lightintensity,PM2.5concentration,etc.,tomonitortheenvironmentalparametersintheclassroominrealtime;Userscaneasilysetthedesiredenvironmentalthresholdthroughbuttons;Onceanyabnormalvaluesaredetected,thesystemwillimmediatelyissueanalarmSMSreminder.Atthesametime,thesystemreservesinterfacesforexecutionmodulessuchasexternalfans,heating,andfilllights,whichcanautomaticallyadjustvariousindicatorsaccordingtoneedsandactivelyoptimizetheclassroomenvironment.Thisintelligentcontrolsystemimplementsthedesignprinciplesoflowcost,highreliability,easyoperationandmaintenance,adoptsamodularhardwarestructure,andselectscorecomponentswithhighcost-effectiveness.Thehardwarecircuitdesignisreasonable,thesoftwareprocessisstandardizedandcomplete,andthehuman-machineinterfaceoperationissimple.Thesystemhashighintegration,comprehensivefunctions,andtimelyresponse,whichcaneffectivelyimprovethepassivesituationoftraditionalmodesandmakepositivecontributionstotheimprovementofteachingenvironmentquality.Ithasbroadprospectsforpromotionandapplication.Keywords:microcontrollercontrol;Environmentalmonitoring;Automaticadjustment;alarmsystem目录TOC\o"1-3"\h\u31527摘要 绪论1.1研究背景及意义良好的教室环境对学生的学习至关重要,温度、湿度、光照强度和空气质量等环境因素都会直接影响学生的身心健康和学习效率[1]。传统的被动式调节教室环境的方式,无法及时响应环境变化,难以满足实时调节的需求。因此,设计一种主动式的智能控制系统,实时监测并自动调节教室各项环境参数,确保教室环境的舒适性,提高教学质量就显得尤为重要[2]。本文设计的基于单片机的教室调光空气质量和温度智能控制系统,集成了温湿度、光照强度、PM2.5浓度等多种传感器,可以全方位检测教室环境状况。通过OLED液晶显示模块,实时显示检测数据;通过按键设置各项环境指标的上下限阈值;一旦检测值超出设定范围,系统就会立即通过SIM800C模块发送报警短信。本系统设计思路先进、方案可行、操作简便,能有效改善传统教室环境调节模式的被动局面,提升师生的工作学习体验[3]。1.2国内外研究现状1.2.1国内研究现状近年来,国内已有多项基于单片机的环境监测系统研究,但大多数研究只关注监测单一或少数环境因素,无法对教室整体环境状况进行全面把控[4]。比如仅监测温湿度、或者只监测光照强度等[5]。另有一些研究则在硬件上集成了多种传感器,实现了对多种环境因素的监测,但由于缺乏主动调节和报警机制,环境参数异常时无法及时预警和干预,难以满足实时调控需求[6]。总的来说,国内已有的环境监测系统研究,大多局限于被动监测的范畴,无法实现自动化调节,缺乏智能化管理措施。因此,迫切需要开发出一种能够主动监测、智能预警、自动调节的教室环境控制系统,以满足日益提升的教学环境质量要求[7]。本文设计的基于单片机的智能控制系统,正是针对目前国内研究的不足之处,提出了一种全新的解决方案[8]。1.2.2国外研究现状在国外,已经有不少商业化的智能教室环境控制系统问世,但由于系统复杂、集成度高、价格昂贵等原因,并未在中小学校和普通教室得到广泛应用[9-10]。大多数国外实验室在该领域的研究,主要侧重于算法优化、降低能耗、提高系统响应速度等方面,对于硬件系统本身的集成和模块选型等方面关注不够[11-13]。总的来说,国外已有的智能教室环境控制系统,由于价格、复杂度等多方面原因,很难在我国中小学校推广应用[14]。而大多数前沿的实验室研究,由于过于关注算法层面,在硬件系统集成方面欠缺成熟的解决方案[15]。本文设计的系统正是基于对国内外研究现状的分析,在成本可控、系统可靠、操作简便的前提下,提出了一种基于单片机的教室环境智能控制的集成解决方案。2系统总体设计方案2.1设计目标本系统设计的目标是开发一种低成本、高可靠性、易于操作和维护的智能教室环境控制系统。具体而言,成本低廉是为了能够在中小学校等场合大规模推广应用;高可靠性则确保系统长期稳定运行,减少故障率;操作和维护简单有利于普通教师或校工人员自行管理,无需专业技术人员持续介入。设计过程中遵循模块化、标准化的原则。模块化设计有利于各功能模块的相对独立,提高可维护性和可扩展性;标准化则使用成熟可靠的技术方案,避免因为采用了太多过于先进或者新兴技术而增加系统复杂度和不稳定风险。2.2系统设计方案根据上述设计目标和原则,本文提出了一种基于STM32F103单片机的智能教室环境控制系统整体方案:以STM32F103单片机为控制核心,集成DHT11温湿度检测模块、BH1750FVI光照强度检测模块、PM2.5空气质量检测模块和OLED液晶显示模块,通过按键输入设置各环境参数的阈值上下限,当实时检测值超出设定范围时,SIM800C模块将发送报警短信。该方案集成了检测、显示、设置、报警、调节等多种功能,并采用模块化的硬件结构,可靠的单片机控制核心和成熟的传感器技术,有效实现了智能化的教室环境监测和主动调节,符合前文提出的设计目标和原则要求。图2-1设计框图2.3设计方案硬件是系统实现的基础,模块的选型对系统整体方案的可行性和性能至关重要。本节将分别对控制核心单片机、通信模块和显示模块的选型进行论证,综合比较不同方案的优缺点,最终确定本系统所采用的硬件模块。2.3.1单片机模块的选型单片机的性能对系统的整体效能起着决定性作用。在针对我们系统的具体应用场景和功能需求进行深入分析后,我们对比了STC89C52与STM32F103两款单片机的优劣势。方案一:STC89C52,这是一款基于8位CISC架构的传统单片机,主频为12MHz,配备了512字节的RAM和8KB的程序存储器。其设计简洁、价格低廉且易于编程,特别适用于那些对CPU性能和存储容量要求不甚严格的控制系统。方案二:STM32F103,它集成了32位的ARMCortex-M3核心,主频可高达72MHz,并配备了20KB的SRAM和64KB的FLASH存储器。这款微控制器性能卓越、功能丰富,常被用于对CPU运算能力和存储容量有更高要求的复杂嵌入式系统中。在深入分析之后,我们发现STC89C52在性能和资源上较STM32F103都有所不足,对于本系统而言,STM32F103的优越性能和丰富的资源将为我们提供更大的灵活性。虽然其价格稍高,但考虑到其高性能和可扩展性,这可以看作是一项值得的投资。选择STM32F103还可以使我们在未来更加轻松地整合更多的传感器或执行更复杂的控制任务。因此,综合性能和成本两方面的考量,我们最终选择了STM32F103作为系统的控制核心。它不仅满足了当前系统的需求,还为未来的扩展和升级留下了充足的空间。2.3.2通信模块的选型通信模块用于系统发出环境参数异常的报警信息。根据应用场景,比较了ESP8266Wi-Fi模块和SIM800C蜂窝通信模块两种方案。方案一:ESP8266是一款低功耗的Wi-Fi模块,具备完整的TCP/IP协议栈,可以实现无线局域网通信和远程控制。但它需要依赖固定的无线网络环境,一旦脱离覆盖范围就无法正常工作。方案二:SIM800C是基于GSM/GPRS网络的串口通信模块,只要处于手机信号覆盖区域,都可以稳定发送和接收短信数据。它独立于特定局域网环境,适用范围更广。考虑到本系统的应用场景预期是在各类中小学校的普通教室,无线网络环境并不能得到很好的保证。一旦网络中断,基于ESP8266的报警机制就会失效。相比之下,SIM800C模块只要有手机信号覆盖就能正常工作,适用场景更加广阔。另一方面,SIM800C发送短信的数据量小、时延短且准确性高,非常适合用于发送简短的报警信息。而基于Wi-Fi的通信方案,则需要消耗更多资源来建立连接和保证数据的完整传输。综合两种方案的特点及本系统的应用场景要求,最终选择了SIM800C蜂窝通信模块作为系统的报警信息发送通道。2.3.3显示模块的选型显示模块用于将检测到的实时环境数据显示给用户。比较了LCD1602字符液晶显示屏和OLED两种显示方案。方案一:LCD1602是一款经典的字符液晶显示模块,能够显示16x2共32个字符,显示内容直观、驱动方便,并且价格低廉,非常适合显示简单的数字、文本等信息。方案二:OLED(有机发光二极管)显示屏具有自发光、视角宽、响应速度快、功耗低等优点,可以显示图形和更多样式的信息,虽然成本相对更高。考虑到OLED显示屏的诸多优势,尽管成本较高,但为了提供更佳的用户体验,本系统最终选择采用OLED显示屏。OLED显示效果出众,不仅可以清晰显示检测到的温湿度、光照强度、PM2.5浓度等数字信息,还能根据需求呈现图形界面,为用户提供更加直观、丰富的信息展示。此外,OLED的宽视角、快响应和低功耗等特性也有助于提升整体系统性能。虽然成本较高,但相比LCD1602能够带来更好的用户体验,因此更加适合本环境监测系统的需求。3系统硬件设计3.1STM32F103单片机作为系统的控制核心,STM32F103单片机需要具备足够的运算能力、存储空间以及丰富的外设接口,以满足各模块数据采集、运算处理和控制执行的需求。STM32F103C8T6是其中一款中低端的ARMCortex-M3内核单片机,主频为72MHz,拥有64KB的FLASH存储空间和20KB的SRAM,能够较好地满足本系统的基本需求。它采用Cortex-M3内核架构,不仅具备32位处理器的强大运算性能,其指令系统也进行了优化和改进,使其在代码密度、中断响应速度等多个方面都有不错的表现。STM32F103C8T6还集成了丰富的通信接口和外设模块,如2个12位ADC、3个通用16位定时器、2个基本定时器、5个串口(3个USART+2个UART)、2个SPI、1个I2C、1个USB全速接口、1个CAN接口等。这些外设可以满足各类传感器和执行模块的连接需求。STM32F103C8T6封装形式为LQFP48封装,引脚数量为48个,能够满足各个外设的IO需求。同时,STM32F103还拥有成熟的开发工具和资源支持,包括KeilμVision集成开发环境、ST公司VisualGDB开发包、内置调试器支持、官方参考手册、应用文档和例程等,可以极大便利开发和调试工作的开展。在电路设计方面,STM32F103只需要一个晶振电路(8MHz外部晶振)、一个复位电路和一个供电电路即可正常工作。晶振电路由晶体谐振器Y1、电容C8和C9组成,其输出时钟信号作为系统主时钟输入。复位电路主要由电阻R1和电容C1组成,在上电和手动复位时工作。供电电路由LDO稳压器AMS1117提供3.3V电源。图3-1单片机原理图3.2DHT11温湿度检测模块DHT11是一款集成温湿度传感器的数字检测模块,用于实时监测环境中的温度和湿度。DHT11内部传感器采用电容式原理测量空气湿度,测量范围为20-90%RH,分辨率为1%RH。温度测量采用负温度系数元件,测量范围为0-50°C,分辨率为1°C。综合误差为±5%RH湿度,±2°C温度,完全可满足普通教室环境监测的要求。DHT11模块优点在于:体积小巧,组装便捷;传感器数据直接数字化输出,无需芯片端进行模拟数字转换;传感器已经过校准,无需外部电路调理,可直接获取温湿度值;抗干扰能力强,可靠性高。DHT11与STM32F103单片机通过单总线数字接口连接,只需单片机1个IO口即可完成数据传输。单总线通信协议极为简单,发送方只需按一定时序发出启动信号和数据,接收方就可准确接收。它传输效率高、可靠性强,非常适合低速率的数字温湿度传感器应用场景。除了温湿度检测之外,DHT11模块供电电压低至3-5.5V,功耗也低至0.3mA,可广泛应用于各种低功耗场合。综合来看,DHT11无疑是本系统温湿度检测的理想之选。图3-2DHT11原理图3.3BH1750FVI光照强度检测模块BH1750FVI是一款热释电红外光线传感器芯片,集成了16位AD转换,具有高精度和宽量程的光线强度测量能力,用于检测教室内的光照环境。在本系统中,BH1750FVI被设计为一个独立的光照强度检测模块,通过I2C接口连接至STM32F103单片机,在单片机的控制下对外界光照进行检测。该芯片支持的光照测量范围广泛,从下限1Lux到上限65535Lux,可精确获取从室内明暗到阳光直射等各种光照条件下的光强值;其内置的运算单元和多种光学滤波选择,使其具有出色的分辨率和抗干扰能力。通过寄存器编程,可任意设置芯片的测量分辨率和工作模式,如连续测量模式、单次测量模式等,配合中断控制功能,可最大限度减少系统功耗。除此之外,芯片内还集成了用户可编程的中断阈值设置功能,能极大简化单片机对环境光照控制的实现。整个模块封装紧凑、接线简单,仅需两根线连接至单片机I2C接口即可正常工作。在系统中,该模块可实时获取光照数据,为空调控制和补光灯的自动调节提供数据支持。当光照过高时,可启动遮阳设施,避免光线直射;光照不足时,则可自动打开补光灯,确保课堂光线适宜,营造良好的视觉学习环境。图3-3BH1750FVI原理图3.4PM2.5检测模块PM2.5是空气中直径小于2.5微米的可吸入颗粒物,是影响室内空气质量的重要污染物指标。本系统采用PMSA003颗粒物传感器模块来检测教室内PM2.5浓度水平。PMSA003是基于激光散射原理的PM2.5传感器,利用激光照射到飘浮在空气中的微小颗粒物时产生的散射现象,通过测量散射光强度来计算悬浮颗粒物的浓度。该传感器综合了激光驱动电路和光电转换检测电路,形成一个独立的智能化传感系统。与其他PM2.5传感器相比,PMSA003体积小巧,功耗低;采用数字信号输出,无需模数转换电路;内置温度和湿度补偿算法,保证了测量数据的精准性;通过UART串口与主控制器通信,接口简单方便。最大的优点是传感器内部已集成了微控制器和相关软件算法,可直接输出PM2.5浓度值,主控制器只需解析串口数据即可获得检测结果,大大降低了硬件和软件的复杂度。图3-4PM2.5检测模块原理图3.5OLED显示模块为了提高系统的人机交互便利性,本系统配备了一块采用SSD1306驱动芯片的OLED显示模块,用于显示测量到的环境参数及相关数据,以及系统的工作状态和菜单选项。OLED显示屏具有自发光、显示效果好、功耗低、体积小且可弯曲等优点,非常适合嵌入式产品的应用。SSD1306则是目前OLED驱动芯片中最流行的一款,兼容多种显示尺寸并提供丰富的图形接口。主机首先发出启动信号,然后发送SSD1306的设备地址并指定数据传输方向。接下来就可以开始发送寄存器地址和显示数据了。整个过程中,SDA线上的数据在SCL时钟线的控制下被SSD1306接收并处理,最终实现所需的显示效果。由于SSD1306芯片存储和处理能力强,可支持很高的显示分辨率,视觉效果细腻流畅。在系统运行时,单片机将实时获取的温湿度、光照、PM2.5等传感器数据转换为字符串,再通过并行口发送至OLED显示。同时也可在显示区域的其他位置,显示这些参数的设定阈值,以提醒用户预期的环境标准。OLED显示模块虽然接口相对简单,功能也比较单一,但恰恰契合了本系统"高可靠、操作简单"的设计初衷,可靠性高、编程无需复杂的图形界面库支持,因此是本系统显示模块的不二之选。图3-5OLED原理图3.6按键模块按键模块用于设置温度、湿度、光照和PM2.5四个环境参数的上下限阈值。它由3个独立按键组成,分别对应进入设置模式以及加和减的功能。按键采用常规按键开关电路,接入STM32F103单片机的P3端口。单片机通过检测P3各端口线的电平状态变化,来判断按键按下和释放事件。当有按键按下时,对应端口线电平会由高电平变为低电平,单片机检测到该变化后,将读取当前所有按键的状态,以确定究竟哪个按键被按下。同理,当按键释放时,对应端口线将由低电平变为高电平,单片机也将捕获该变化事件。除了检测按键按下和释放,单片机还需判断按下事件的长短,以区分是只设置一次参数值的改变,还是连续改变。当按键被持续按住时,参数值以一定时间间隔循环自增或自减,以方便快速设置。按键状态的检测由单片机在主程序循环中周期性轮询,在发现状态变化时进行处理。借助单片机内部定时器T1的计数功能,可以精确计算按键按下或释放的时间长短。图3-6按键原理图3.7SIM800C短信模块SIM800C是一款基于GSM/GPRS网络传输的串口通信模块。当系统检测到任一环境指标超出设定阈值时,该模块将通过蜂窝网络发送报警短信到预设手机号码,提醒采取应对措施。SIM800C工作在GSM的850/900/1800/1900MHz四频段上,只要处在手机信号覆盖区域就可正常使用。它内置了TCP/IP协议栈,支持多种无线通信功能。本系统仅使用最基本的GPRS数据业务和短信服务。SIM800C通过UART串口与STM32F103单片机相连。单片机只需按照AT指令集规范,通过串口发送查询和设置指令,即可控制模块的工作状态、设置短信中心号码、发送短信等基本功能。在使用时,首先需要通过AT指令口令确认模块是否工作正常,并查询当前的无线网络状态、信号强度等信息。然后设置短信中心号码,再由单片机编码、组包生成短信内容并发送。一旦短信发送成功,模块会回复确认信号。由于无线通信的不确定性,系统设计时还需要考虑模块断开连接或信号中断的异常情况,增加必要的状态检测和重连机制,以确保短信能够可靠发送。图3-7SIM800C原理图3.8继电器模块继电器是一种控制电路中的重要组成部分,可实现对大电流、高电压负载的远程控制。本系统使用继电器模块作为执行器,根据检测到的环境参数状况,控制外接的风扇、加热器和补光灯的开关。继电器的工作原理是利用小电流通过线圈产生的电磁场吸合铁心带动接触器动作,从而控制大电流负载的通断。当线圈端加上控制电压后,线圈内产生的电磁场使铁心吸合,带动可动触点动作接通或切断负载电路。当控制电压移除时,线圈失磁,触点在弹簧或重力作用下恢复原位。由于控制电路和负载电路是绝缘隔离的,继电器可实现低功率信号对高功率负载的无接触控制,保护了控制电路不受高压、大电流的影响。本系统中使用的是SRD-05VDC-SL-C型号继电器模块,其工作电压为直流5V,与单片机电平相符,无需额外的电平转换电路。该模块采用COM-NC-NO三端口设计,即共同端、常开端和常闭端。其特点是体积小巧、灵活方便。当线圈通电时,COM-NO端口导通,可驱动电磁阀、继电器等外部设备;当线圈断电时,COM-NC端口导通。每个继电器模块都独立连接到单片机的一个IO口,单片机通过控制IO口电平来控制继电器的通断。系统共设置了三个继电器模块:继电器A用于控制风扇的运行,在湿度过高或温度过高时开启风扇,实现排湿或降温功能。继电器B控制电热器的加热功能,在温度过低时启动加热,提高室内温度。继电器C控制补光灯的开关,在光照不足时打开补光,增强室内光照强度。通过这三个继电器及其对应的执行装置,本系统可对教室内的温湿度、光照强度等环境参数进行实时调节,为师生营造一个舒适、高效的学习空间。图3-8继电器原理图3.9人体红外检测模块本智能教室控制系统设计中,人体红外检测模块用于检测教室内是否有人员活动,从而为系统的自动调节提供依据。人体红外检测模块基于红外传感器原理工作,通过感应人体发出的红外辐射来判定教室内是否有人。红外传感器利用人体散发的红外辐射来检测人体的存在。当有人员进入传感器感应范围时,其散发的红外辐射被传感器捕捉,进而触发信号输出,系统据此判断教室内有人,从而可能启动相应的自动调节功能,如自动调节灯光亮度、空调温度等。人体红外检测模块通过适当的接口电路与STM32F103单片机相连,实现数据交互。一旦传感器检测到人体存在,单片机将接收到相应信号,并根据预设的控制逻辑执行相应的操作,如调整教室内的环境参数至更适宜的水平。人体红外检测模块的应用,使得智能教室控制系统能够更加智能地响应教室内人员活动情况,从而提供更舒适、更节能的学习环境。例如,在无人时,系统可以自动降低灯光亮度或关闭空调,实现节能;在有人时,则能自动调整环境参数至最佳状态,提升学习效率。图3-9人体红外检测模块原理图4软件系统设计4.1Keil4软件介绍Keil4是一个用于MCS-51单片机开发的集成化开发环境,提供了项目管理、编辑、编译、链接、模拟和调试等一体化工具。它支持多种芯片型号,并内置了丰富的库函数和例程,大大提高了开发效率。本系统的软件设计基于Keil4IDE,采用标准的C51语言编写,借助Keil提供的编译器和调试器,实现了对STM32F103单片机的程序编写、仿真和烧录等全流程支持。Keil4的文本编辑器支持多种编程语言的着色显示和提示,方便程序编写。其内置的编译器optimizers不仅可生成高效紧凑的目标代码,还提供了多重优化选择,例如大小优化和速度优化等。生成的目标文件格式包括intel、motorola等行业标准hex格式。除了基本的编译功能外,Keil4还集成了功能强大的模拟器,可以在不需实际目标板的情况下,模拟各类芯片在不同输入条件下的运行情况,直观查看内存数据变化和寄存器状态,以及设置软硬件断点等调试手段。最大的亮点是其数据库管理功能,支持多个工程和版本控制等复杂项目的管理。旗下还有除了器和编程器等硬件工具,可实现软件设计、调试、最终烧录等全流程开发,方便了项目的后期维护和移植。4.2软件流程设计4.2.1主程序流程介绍系统的主程序流程包含初始化、参数设置、实时监测和异常处理四个主要阶段。首先进行全局变量和I/O口的初始化,使能相关中断请求,设置并初始化各模块,完成系统的上电工作。然后进入按键状态检测循环,如果发现按下设置按键,则进入参数设置子程序,修改对应环境指标的上下限阈值。参数设置完成后返回主循环。主循环的核心是实时监测子程序,周期性地读取温湿度、光照强度、PM2.5浓度等传感器数据,在OLED上显示实时环境数据和设置的阈值。如果检测到任一环境参数超出设定范围,则进入异常处理流程,通过SIM800C模块发送报警短信。异常恢复正常后回到主循环的监测状态。整个过程中,如发现硬件模块发生异常,也将触发相应的错误处理程序,防止系统死机。程序设计中还包含程序流程保护机制,以避免计时器溢出等意外干扰。图4-1主程序流程图4.2.2显示子程序流程显示子程序是系统软件的核心之一,负责将检测到的环境数据实时显示在OLED液晶屏上。首先根据当前监测阶段获取温度、湿度、光照强度和PM2.5浓度四个环境参数的实时值。将这些数值格式化为字符串,并从LCD的显示缓冲区的特定位置写入。接着从全局变量中读取用户设置的阈值上下限,同样格式化成字符串,显示在上述数值的相邻位置,方便用户查看并及时作出调整。如果有任一数值超过设定阈值,则从字符LCD库中取出报警/超出范围的相关字符,写入到显示缓冲区的特定位置,对异常情况做出提示。最后,将缓冲区的文本数据一次性刷新显示到OLED屏幕。该子程序循环执行,以实现实时刷新显示效果。同时,针对LCD的并行接口、复用显示等特性,在字符显示时需注意时序控制和地址偏移等关键点。在程序中还设置了异常退出机制,以防无限循环等风险。图4-2显示子程序流程图4.2.3按键子程序流程按键子程序负责扫描按键状态,读取按键输入,根据操作修改环境参数的上下限阈值。基本流程如下:首先扫描P3端口的电平状态变化,判断是否有新的按键事件发生。如有按键按下事件,则根据对应的端口线编号,标识出是哪个参数的按键被按下。如果是短按键事件,则对该参数值进行单步加一或减一修改;如是长按事件,则以一定时间间隔周期性地连续加一或减一,实现快速参数调整。修改参数时需注意阈值合法性,如低于允许最小值则置为最小值,高于允许最大值则置为最大值,防止非法数据输入。同时还要分低位和高位分别进行加减操作,两位之间考虑进位和借位的特殊情况。修改完成后,将新的参数值实时写入全局变量,并在LCD显示子程序中实时显示在屏幕上。按键子程序的关键是按下事件的检测和判断。扫描按键电平时需要一定的硬件去抖方法,防止抖动干扰。长按和短按的判断则需要借助单片机的定时器计时功能,精确计算时间差。该程序设计了出口机制,在无按键输入时及时退出,减少资源占用。图4-3按键子程序流程图
5系统仿真与测试5.1Proteus软件介绍本系统的仿真模拟是基于Proteus软件,Proteus是一款由LabcenterElectronics公司开发的电子系统设计及仿真软件套件,广泛应用于电子工程师的电路设计、仿真调试、PCB制作和代码编程等环节。它是一个集成了多种功能模块的全能型EDA(电子设计自动化)工具,可以极大提高电路设计和开发的效率。Proteus主要由两大组件构成,ISIS是Proteus中用于电路原理图捕捉和仿真的核心模块。它提供了一个功能丰富的绘图环境,用户可以在其中设计各种类型的模拟和数字电路,支持PIC、AVR、ARM、8051等多种单片机和微控制器。ISIS中集成了超过10,000个虚拟仿真模型,包括各类逻辑芯片、模拟器件、显示设备、电机等,涵盖了电路设计中需要使用的绝大部分元器件。这些模型能够非常真实地模拟实际电路的工作状态,为电路调试和验证提供了有力支持。ARES则是Proteus中用于PCB设计和制作的模块。它提供了自动布线、手动布线和快速布线等多种布线工具,并支持34层PCB设计。ARES模拟器还能在PCB设计时实时检查和避免电路短路、交叉、阻抗失配等常见PCB设计错误。当PCB设计完成后,用户可以直接将其输出为Gerber文件提供给PCB制造商生产。5.2仿真展示在完成硬件电路和软件程序的设计之后,我们使用ProteusISIS虚拟仿真环境对整个系统进行了仿真测试。部分程序如下:#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#include"BH1750.c"#include"LCD1602.h"#include"dht11.c"#include"eeprom52.H"ucharxdataGSM_dat[100];ucharawait_time,subscript_1;ucharSendTimeOK;ucharDHT11_dat[5]=0;uchar U8RH_data_H=0,U8T_data_H=0; uintdis_temp;floatAllTime;uintspill;uintpm_density;//低脉冲率高位。低脉冲率低位,比率,颗粒,浓度PM_URVpm上限值bitonce,Cls_flag,read_dht11,read_ok;intdis_data;//变量ucharxdataSystem_ID[8];//>下面开始定义存储部分bitMemory_flag=0;voiddelay(uintys){ while(ys--);}voidUart1Data(uchardat){ SBUF=dat; while(!TI); TI=0; }voidUartData_Byte(uchar*byte){ while(*byte!='\0') { Uart1Data(*byte++); }}voidMemory() //存储函数,存储的是设备ID号{ if(Memory_flag==1) //存储标志,置一开始存储 { Memory_flag=0; SectorErase(0x2000); //擦除存储扇区 byte_write(0x2000,System_ID[0]); //将八位的设备号存储到不同地址下面 byte_write(0x2001,System_ID[1]); byte_write(0x2002,System_ID[2]); byte_write(0x2003,System_ID[3]); byte_write(0x2004,System_ID[4]); byte_write(0x2005,System_ID[5]); byte_write(0x2006,System_ID[6]); byte_write(0x2007,System_ID[7]); UartData_Byte("设置成功,请重启设备\r\n"); //串口发送一句设置完成,提示用户设备ID设置成功 }}voidRead_Memory() //读存储{ unsignedchari=0; for(i=0;i<8;i++)// { System_ID[i]=byte_read(0x2000+i); //将地址下的数据读取出来赋值给ID数组 } System_ID[8]='\0'; //清空一下第九个位置 UartData_Byte("\r\nSystem_ID>"); //这里是上电发送一次数据,方便调试观察 UartData_Byte(System_ID); UartData_Byte("\r\n");}仿真结果具体如下:图5-1初始状态图5-2系统上电运行如图5-3所示,当检测到人体,室外温度小于14摄氏度,室内温度小于18摄氏度,此时启动暖空调,给教室进行加热。(继电器控制的加热装置启动了)图5-3教室内温度的控制如图5-4所示,当检测到人体,室内温度超过25摄氏度的时候,启动降温风扇。此时降温风扇的挡位为1,OLED上显示挡位为1挡,风扇启动。图5-4教室内温度的控制如图5-5所示,当检测到人体,室内温度超过26摄氏度的时候,启动降温风扇。此时降温风扇的挡位为2,OLED上显示挡位为2挡,风扇转动速度继续加快。图5-5教室内温度的控制如图5-6所示,当检测到人体,室内温度超过27摄氏度的时候,启动降温风扇。此时降温风扇的挡位为3,OLED上显示挡位为3挡,风扇转动速度最快。图5-6教室内温度的控制如图5-7所示,当检测到人体,室内温度超过30摄氏度的时候,启动降温空调,此时仿真中的继电器启动,控制教室内的制冷装置进行制冷。图5-7教室内温度的控制如图5-8所示,通过按键1可以切换到烟雾浓度阈值设置界面,通过按键2和按键3可以实现烟雾阈值的调节。图5-8教室内的火灾检测如图5-9所示,当检测到烟雾浓度超过设定的阈值,同时温度超过45摄氏度的时候,此时蜂鸣器进行报警。OLED显示屏幕显示“fire”表示此时有火灾。图5-9教室内火灾检测如图5-10所示,通过光敏电阻模拟外界光线变化,当检测到室内有人的时候,检测到的光强越小,室内灯光越亮;如下图,此时教室内有人,光强最小,数值为0,代表外界光线最暗,此时教室灯光的亮度最大。图5-10教室内的灯光控制如图5-11所示,当教室内有人,当外界光线较好的时候,光照强度增加,例如,当光强数值为28的时候,此时教室灯光的亮度较上图相比明显变暗。图5-11教室内的灯光控制如图5-12所示,当教室内有人,当外界光线非常好的的时候,光照强度继续增加,例如,当光强数值为80的时候,此时教室灯光的完全关闭,因为此时教室内的光照完全满足照明需求。图5-12教室内的灯光控制如图5-13所示,当教室内无人,及时教室内光线很暗,光强为0,此时灯光仍然关闭。符合节能需求,有人开灯,无人关灯。图5-13教室内的灯光控制如图5-14所示,当室外温度过高并且光强大于阈值的时候,窗帘关闭,否则窗帘打开。,这里能看到步进电机代表的窗帘角度发生变化,室外温度超过30摄氏度,同时光照强度大于60的时候,此时关闭窗帘。图5-14窗帘的控制如图5-15所示,通过按键2可以设置安防模式,此时OLED上显示“开”,表示安防模式已经打开。图5-15教室安防系统如图5-16所示,安放模式下,如果通过红外传感器检测人体,当检测到人体的时候,进行报警,此时蜂鸣器开始驱动报警,同时OLED屏幕上显示“有”。图5-16教室安防系统5.3仿真结果分析对于本智能教室控制系统的Proteus仿真,我们可以总结出以下几点:系统的总体设计方案是可行的,各硬件模块均能与单片机正确连接,并在软件控制下正常工作。控制软件程序设计基本正确,能够根据检测到的环境参数并执行相应的控制策略,实现对窗帘、空调、照明和通风设备的自动调节,满足节能、安防等功能需求。通过模拟多种典型和极端工作环境,验证了系统的鲁棒性,即使在温度、烟雾等参数发生剧烈变化时,系统也能正确响应,不会出现异常。经过仿真测试,为后续真实硬件的组装和调试奠定了良好的基础,大大减少了实物调试的时间成本和潜在风险。由于Proteus本身的仿真模型与实际存在一定偏差,后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 2361:2025 EN Electrodeposited nickel coatings on magnetic and non-magnetic substrates - Measurement of coating thickness - Magnetic method
- 单方面谅解协议书范本
- 民宅供暖入网协议书范本
- 跨国并购企业战略合作的框架协议
- 离婚协议书:婚姻解除与共同财产分割全案
- 智能制造财产权利质押融资合同模板
- 高端汽车抵押担保合同
- 临时彩钢房拆除作业安全管理合同
- 房地产交易场地价差额货币赔偿合同
- 餐饮店面租赁及节假日促销活动合作合同
- 高中主题班会 我命由我不由天课件-2025年高三百日励志班会课
- 跨国知识产权争议解决中的法律适用问题
- 《劳动合同法》知识考试题库100题(含答案)
- 产褥期脓毒血症护理查房
- 英语名词所有格课件
- 公共伦理复习要点
- DCMM数据管理师练习测试卷
- 管道打压、吹扫方案
- 《产品检验方法培训》课件
- 2024-2025年保健按摩师资格技术及理论知识考试题库(附含答案)
- 知情同意和告知技能的培训
评论
0/150
提交评论