版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北理工大学信息学院 摘要 摘要随着人们生活质量的提升,家里养鱼的人越来越多,同时,对鱼缸的智能化需求也随之增加,基于此背景本文设计并实现了一款智能鱼缸控制系统。该系统基于STM32F103单片机,集成了温度检测、水位监测、光照强度检测、时间控制、无线通信和执行模块等多种功能模块,可实现自动喂食、换水、制冷制热、补光等操作。系统支持手动和定时两种工作模式,用户可通过按键和APP进行参数设置和模式切换。系统具有实时监测和自动调节的功能,可有效维持鱼缸内的最佳环境,减轻了用户的日常维护工作。关键词智能鱼缸;STM32F103;自动控制;环境监测AbstractAbstractAbstractWiththeimprovementofpeople'squalityoflife,moreandmorepeopleareraisingfishathome.Atthesametime,thedemandforintelligentfishtanksisalsoincreasing.Basedonthisbackground,thisarticleintroducesthedesignandimplementationofanintelligentfishtankcontrolsystem.ThissystemisbasedontheSTM32F103microcontrollerandintegratesvariousfunctionalmodulessuchastemperaturedetection,waterlevelmonitoring,lightintensitydetection,timecontrol,wirelesscommunication,andexecutionmechanism.Itcanachieveautomaticfeeding,waterchange,refrigerationandheating,andlightsupplementation.Thesystemsupportstwoworkingmodes:manualandtimed.Userscansetparametersandswitchmodesthroughbuttonsandtheapp.Thesystemhasreal-timemonitoringandautomaticadjustmentfunctions,whichcaneffectivelymaintaintheoptimalenvironmentinsidethefishtankandreducethedailymaintenanceworkofusers.Keywords:Intelligentfishtank;STM32F103;Automaticcontrol;environmentalmonitoring 目录 目录 目录22186摘要 2功能与设计方案2.1系统的功能要求智能鱼缸控制系统作为一种自动化智能家居产品,其主要目标是能够替代人工对鱼缸进行日常的监控和维护,从而大幅减轻用户的劳动强度,同时确保鱼类生存环境的舒适性和稳定性。为实现这一目标,系统需具备以下主要功能:(1)实时监测鱼缸内的水温,并根据设定的理想温度范围,自动启动制冷或制热装置,将温度控制在合理区间。(2)配备水位传感器,及时监测鱼缸内的水位变化。一旦水位降至设定阈值以下,就需自动启动供水装置,对鱼缸内补水至正常水位线。(3)内置光敏电阻等光照检测装置,当环境光线暗于预设阈值时,自动打开人工补光灯,确保鱼缸内的光照条件。(4)系统应设置自动喂食功能,用户可以预设投喂时间和投喂量,系统将按时自动完成投喂动作,避免了人工操作的不便。(5)每隔一段时间对鱼缸换水,以保持良好的水质环境。自动换水控制功能允许用户设定换水周期,系统将自动完成排水和补水动作。(6)随时随地查看鱼缸内的运行参数;同时用户可通过无线操控界面远程调整系统各项参数设置。2.2系统设计方案整个控制系统由STM32F103单片机、传感器模块、执行器模块、通信模块和显示模块等部分组成。系统通过传感器模块实时采集鱼缸内的温度、水位、光照等环境参数。这些数据首先由STM32F103单片机进行解码和滤波处理,然后通过ESP8266WiFi无线模块上传到云平台。云平台作为数据中转站,负责接收单片机发送的数据,并将这些数据通过移动互联网传输到用户的手机APP。手机APP能够实时显示鱼缸内的各项参数,如温度、水位、光照强度等,让用户可以随时随地了解鱼缸的运行状态。当用户想要对鱼缸进行控制时,如调整温度阈值、设置自动喂食时间等,这些指令首先从手机APP发出,通过移动互联网传输到云平台,再由云平台转发给ESP8266WiFi无线模块。ESP8266模块接收到指令后,将其传递给STM32F103单片机。单片机根据接收到的指令,通过执行器模块对鱼缸内的设备进行相应控制,如开启加热棒、启动水泵等,从而实现远程控制功能。通过这种方式,鱼缸的信息从元件通过单片机和ESP8266无线模块上传到云平台,再传输到手机APP;反过来,用户通过手机APP发出的控制指令也通过云平台和ESP8266模块最终传递给单片机,实现对鱼缸的远程控制。整个系统实现了鱼缸信息的实时监测和远程控制功能,极大地提升了用户体验。图2.1系统硬件模块工作框图2.3器件方案对比2.3.1单片机的选择方案一:STC89C52STC89C52是目前最受欢迎的8位单片机之一,由于制造工艺成熟、价格低廉、资源丰富,它在嵌入式领域得到了广泛应用。该单片机内核为8051经典指令系统,指令简单通用,可编程性强;工作频率可达40MHz,运算速度较快;内置64KB可编程存储器,128字节数据存储区;支持2个16位定时器/计数器,5个中断优先级,9个中断源;集成UART、SPI、I2C等标准接口,方便外设扩展。方案二:STM32F103STM32F103则代表了新一代的32位ARMCortex-M3内核微控制器,在嵌入式领域正逐步取代8位和16位传统MCU。它基于32位Cortex-M3内核,主频高达72MHz,运算能力强劲;集成512KBFLASH,64KBSRAM,存储空间充裕;支持DMA、LCD、USB等丰富资源,易于硬件扩展;支持Keil、IAR等现代化IDE软开发,采用高级C语言编程;体积小巧,功耗低,可靠性高,还支持在线编程;指令集简单、JTAG/SWD调试方便,开发效率优秀;产品线丰富,从低端到高端都有型号覆盖,后续可扩展空间大。STM32F103不仅在性能、资源和功耗上有着全面优势,而且采用主流架构和开发模式,可靠性和可维护性更高,总体发展前景也更加广阔。当然,它的成本较8位机型会高一些,但从系统整体角度来看,这一投资是完全合理的。基于以上分析,本智能鱼缸控制系统选择STM32F103作为主控芯片。这不仅有助于提升系统的运算能力和存储空间,而且为未来功能的扩展和产品的迭代升级留有充足空间。更重要的是,STM32平台拥有庞大的技术社区支持,文档资料完备、工具链成熟,有利于软件功能的快速开发和产品的批量化。因此,STM32F103是一个非常合适的控制核心选择。2.3.2温度传感器的选择温度是影响鱼类生存的关键环境因素。本系统需要一种高精度、高可靠性的温度传感器,来持续监测鱼缸内部水温的变化情况。在选型过程中,我们主要考虑了测温范围、精度、成本和接口等因素,最终将范围缩小到DS18B20和AD590两种温度传感器。方案一:DS18B20DS18B20是一款广泛使用的数字温度传感器,它由著名的半导体制造商MAXIM(DALLAS)公司生产。这款传感器温度测量范围广,可在-55°C到+125°C范围内准确测量,完全满足鱼缸环境监测要求;精度极高,可达±0.5°C,且具有校准功能,温漂影响小;使用单总线设计,只需一根数据线即可连接单片机,节省接口资源;具有防水、防潮、防冻结的物理包装,适合在阳光及恶劣环境下使用;传感器内部集成温度传感元件和A/D转换电路,输出直接为12位温度数字量;工作电压在3~5.5V范围内,可直接由单片机I/O口供电,低功耗设计;成本较低,且性价比极高,是理想的温度检测解决方案。方案二:AD590AD590是较早期的一款模拟温度传感器,由模拟器件公司AnalogDevices生产。它输出为模拟电流信号,精度接近数字量级,可达0.5°C以内;温度范围窄一些,约为-55°C到+150°C,仍可满足需求;电路简单,只需一个外部电阻即可将电流信号转为电压输出;本身是一种半导体集成温度传感器,寿命长,能耐恶劣环境;成本便宜,属于低成本温度检测解决方案。因此,从智能鱼缸的应用需求来看,数字温度传感器DS18B20更具备优势。它集成化程度高、抗干扰能力强、接口简单、参考资料丰富等诸多因素,使其更适合作为本系统的温度检测解决方案。基于以上考虑,本设计将采用DS18B20作为温度检测模块。2.3.3无线模块的选择为实现智能鱼缸控制系统的远程无线监控和控制功能,需要在系统中集成无线通信模块。目前,市场上常见的无线通信技术主要有WiFi和蓝牙两大类。在选型过程中,我们将范围缩小到ESP8266WiFi模块和HC-04蓝牙模块这两种最具代表性的模块。方案一:ESP8266WiFi模块ESP8266是一款基于32位RISCCPU的高性能WiFi模块,由乐鑫信息科技有限公司推出。它融合完整的WiFi互联网功能和自主运行能力,支持标准IEEE802.11b/g/n协议,工作频率2.4GHz;支持AP、Station、AP+Station等多种工作模式;拥有完整的TCP/IP协议栈,支持多种协议如IPv4/IPv6/SSL等;支持多种编程语,如Lua、C、Node等,扩展性强;处理能力强、功能全面,可独立应用,也可作为WiFi传输模块;超小体积、超低功耗,工作电流仅15mA;外围资源丰富,拥有多个UART、SPI、I2C接口,可扩展I/O;开源社区活跃,资料丰富,软硬件更新快,价格低廉,是强有力的物联网模块选择。方案二:HC-04蓝牙模块HC-04是基于UART的经典蓝牙串口通信模块,性能相对低端,但结构简单、方便使用。它基于2.4GHz蓝牙技术,符合蓝牙标准规范;工作电压3.3V~5V,可直接与单片机进行UART通信;链路距离远可达30米,满足基本通信需求;无需手动设置,支持主从一体的自动连接模式;电路板小巧,尺寸仅为2.8*1.6cm;工作电流约为30mA,相较WiFi功耗较大;不支持互联网通信,仅支持传统的串口点对点通信;相对成熟,参考资料和应用案例多。相比之下,WiFi技术无疑具有更大的优势。它不仅具备远程互联网通信的能力,还支持无线组网和局域网接入,使远程控制和数据上传更加便捷可靠。此外,WiFi模块越来越普及,目前已广泛应用于智能家居和物联网领域。因此,基于以上对比分析,本智能鱼缸控制系统选择采用ESP8266WiFi模块作为无线通信模块。这不仅有利于实现系统的远程监控、控制和数据上传等功能,而且为后续的功能扩展和智能升级留有充足的空间。WiFi通信方式已然成为智能家居设备的标配,未来的智能鱼缸系统也必将围绕这一技术进行整体优化和提升。2.3.4时钟芯片的选型本系统需要一款高精度、低功耗的实时时钟(RTC)芯片来为系统提供准确的时间信息。方案一:RX8900CERX8900CE是一款高集成度的实时时钟芯片,集成了年、月、日、时、分、秒等时间功能。它采用SPI接口与单片机连接,通信方式简单易用。RX8900CE的优点在于具有超低功耗,典型工作电流仅为0.4μA,非常适合电池供电的嵌入式系统。此外,RX8900CE还内置了备用电池电路,可以在主电源断电时持续为内部时钟提供电源,保证时间数据的准确性。但RX8900CE也存在一些缺点。首先,由于采用SPI接口,需要占用单片机较多的I/O资源。另外,RX8900CE的价格相对较高,不利于控制整个系统的成本。方案二:DS1302DS1302是一款低功耗、高精度的串行实时时钟芯片,同样提供年、月、日、时、分、秒的时间信息。与RX8900CE不同,DS1302采用简单的3线串行接口(时钟、数据、使能)与单片机连接,仅占用3个I/O引脚,使用更加灵活。DS1302的工作电流也非常低,典型值仅为1μA,同样适合电池供电的系统。DS1302的价格相对较低,便于控制整体系统成本。虽然它没有内置备用电池电路,但可以通过外部电池连接保持时间数据的持续性。综合考虑系统的接口需求、功耗和成本因素,我们最终选择使用DS1302作为本系统的时钟芯片。它能够满足系统的时间管理需求,同时成本较低,更加符合项目的实施要求。2.3.5舵机模块的选型本系统需要一个微型舵机来实现自动喂鱼的功能。方案一:MG90SMG90S是一款尺寸较小、扭矩较大的微型舵机,广泛应用于各类机器人和智能设备中。它的工作电压范围为4.8V-6V,转速较快,最大转矩达到2.5kg·cm,能够胜任本系统的自动喂鱼任务。MG90S的体积也比较小巧,便于安装在鱼缸上方的喂食装置中。但MG90S的缺点在于功耗较大,空载电流高达200mA,会给系统的整体功耗带来一定的压力。此外,MG90S的价格相对较高,不利于控制整个系统的成本。方案二:SG90SG90是一款更加小巧、功耗更低的微型舵机。它的工作电压范围为4.8V-6V,最大转矩为1.8kg·cm,虽然稍弱于MG90S,但仍能满足本系统的自动喂鱼需求。更重要的是,SG90的空载电流仅为100mA,大大降低了系统的总体功耗。同时,SG90的价格也相对较低,有利于控制整个系统的成本。虽然它的体积略小于MG90S,但通过适当的安装方式仍然能够胜任本系统的自动喂鱼任务。综合考虑功耗、成本和体积等因素,我们最终选择使用SG90作为本系统的舵机模块。它能够在满足系统需求的同时,大幅降低系统整体的功耗和成本,更加符合项目的实施要求。2.3.6显示模块的选型为了向用户直观地展示系统的运行状态,本系统需要一个显示模块来呈现相关的信息,如水温、水位、时间等。方案一:LCD1602LCD1602是一种常见的字符型LCD显示模块,能够以16x2的字符形式显示文字信息。它的优点在于成本低廉,接口简单,驱动电路较为简单。LCD1602广泛应用于各类嵌入式系统中,具有较好的稳定性和可靠性。但LCD1602也存在一些缺点。首先,它的显示效果相对较为简单,无法提供图形或者图像的显示。另外,LCD1602的背光消耗较大,会给系统的总功耗带来一定的负担。方案二:OLEDOLED(有机发光二极管)显示模块是一种新兴的显示技术,具有更加出色的显示效果。OLED显示屏能够提供丰富的图形、图像以及文字显示,视觉效果更加清晰和生动。OLED的优势还体现在其低功耗特性,无需背光即可发光,大幅降低了系统的总功耗。综合考虑显示性能、功耗和成本等因素,我们最终选择OLED作为本系统的显示模块。尽管成本略高于LCD1602,但OLED的出色显示效果和低功耗特性,能够更好地满足本系统的信息展示需求,为用户提供更加友好的交互体验。整体设计思路如下:随着人们生活质量的提升,对鱼缸的智能化需求增加。传统鱼缸维护工作繁琐,而智能化鱼缸控制系统旨在通过自动化技术和物联网技术来替代人工完成日常监控和维护工作,减轻用户劳动强度,提高鱼缸生态环境的稳定性,同时为观赏鱼创造更舒适、健康的生长环境。该系统通过模块化设计和芯片资源的合理分配,实现了温度监测、水位监控、光照调节、定时喂食、自动换水等多种智能控制功能。各个元件的选择思路:单片机:选择STM32F103作为主控芯片,因为它具有高性能的ARMCortex-M3内核、丰富的外设接口以及强大的运算能力,能够满足复杂的数据处理任务,并且具有良好的扩展性。温度传感器:DS18B20数字温度传感器因其测温范围广、精度高、抗干扰能力强和接口简单等特点被选用,能够准确测量鱼缸内部水温。无线模块:ESP8266WiFi模块因其强大的处理能力和网络功能,支持远程监控和无线控制,是实现智能鱼缸远程控制的关键组件。显示模块:OLED显示屏因其自发光、低功耗、高对比度和快速响应等特点被选用,能够清晰地显示系统状态和运行参数。水位检测模块:采用电极检测方法,通过金属电极的导通状态判断鱼缸内水位高低,实现简单而有效的水位监控。舵机模块:SG90微型舵机因其体积小、功耗低和转矩大等特点被选用,用于模拟喂鱼动作,实现自动喂食功能。时钟模块:DS1302实时时钟芯片因其低功耗、高精度和串行接口设计被选用,为系统提供准确的时间信息,支持定时功能。总结来说,整个智能鱼缸控制系统的设计思路是基于用户需求出发,通过集成多种功能模块和选择合适的元件,实现鱼缸的智能化监控和管理,提高用户体验和鱼缸生态环境的稳定性。
毕业设计4系统的软件设计PAGE19 3系统的硬件设计3.1STM32F103单片机STM32F103芯片基于ARM公司的Cortex-M3内核设计,采用32位RISC指令集架构。该内核使用哈佛存储器架构,支持高达72MHz的主频运行,具备每秒可达1.25DMIPS的运算能力。即使在需要运行复杂算法的情况下,也可以为系统带来充裕的计算资源。此外,Cortex-M3内核还支持硬件dividedby0检测、不对齐访问、先进的嵌入式系统调试等先进功能,整体性能表现卓越。除了强劲的内核之外,STM32F103本身也提供了丰富的硬件资源。它集成了512KB的FLASH存储空间和64KB的SRAM,可以保证控制程序和运行数据的充分存储。同时,芯片上还包含了三个16位高级定时器、一个基本定时器、两个看门狗定时器、七个通用DMA通道、三个通用16位计数器、一个USB2.0全速接口等众多外设支持。表3-1STM32F103单片机与外部设备连接表格设备名称连接管脚功能描述DS18B20温度传感器I/O口温度实时监测,数据通过单总线传输给单片机OLED显示模块I2C接口显示鱼缸状态、参数及系统提示信息ESP8266无线模块USART串口实现与手机APP的无线通信,数据上传与接收水位检测模块I/O口电极检测,通过状态变化判断水位高低按键模块I/O口用户输入,进行参数设置、模式切换等操作继电器模块I/O口控制鱼缸设备(如加热棒、水泵等)的开启与关闭DS1302时钟模块3线串行接口提供实时时间信息,支持定时喂食功能SG90舵机模块PWM信号模拟喂鱼动作,控制喂食装置单片机在启动后,首先进行必要的硬件初始化,如配置USART串口、I2C总线、外部中断等。通过轮询的方式周期性地读取各个传感器模块的数据,如DS18B20温度传感器、水位检测模块、光敏电阻等,获取鱼缸内的实时环境参数。对获取到的原始数据进行解码和滤波处理,以提高数据的准确性和可靠性。单片机将解码后的环境参数与用户预先设置的阈值进行比较,判断是否需要采取相应的控制措施。根据判断结果,通过控制相应的执行器模块(如继电器、舵机等)来启动或关闭鱼缸内的设备,如加热棒、制冷风扇、水泵、喂食装置等,以实现自动调节鱼缸环境的目的。在执行控制指令的同时,单片机还会通过OLED显示屏实时显示鱼缸的状态和参数,以便用户随时了解鱼缸的情况。如果系统支持远程监控和控制,单片机还会通过ESP8266无线模块将鱼缸的状态数据上传至手机APP,用户可以通过手机APP对系统进行远程操作。STM32F103拥有多达80个通用I/O口线,共分为6个I/O组,对应不同的地址。而且每个I/O口都可以灵活映射为通用输入输出或特殊功能,如USART、I2C、SPI、USB等外设功能,这为系统的硬件扩展提供了极大的空间。同时,I/O口还集成了不同的驱动能力和外部中断/事件控制器,可以灵活应对复杂的硬件需求。在智能鱼缸控制系统中,STM32F103作为控制核心的工作主要包括三个方面:负责对所有外围硬件设备进行必要的初始化,如配置USART串口和ESP8266连接、初始化定时器和GPIO引脚、使能I2C总线控制OLED等。周期性地扫描各种传感器模块,获取鱼缸内的实时温度、水位、光照等环境数据,并对获取的原始数据进行解码和滤波处理。然后,通过比较传感器数据与用户预设阈值,判断是否需要执行相应的控制措施,如制冷、制热、补水、补光等。根据判断结果,单片机将驱动各种执行器件,如控制继电器开启加热器、控制步进电机完成喂食动作、控制水泵进行换水等,从而实现对鱼缸环境的智能化调节。与此同时,单片机还会通过串口将这些控制数据发送到ESP8266模块,并在OLED显示屏上实时显示系统运行状态。高性能的STM32F103为整个智能鱼缸控制系统的顺利运行奠定了坚实的基础。它强大的硬件实力、先进的技术架构、灵活的接口资源,使得系统具备了强劲的计算控制能力和良好的硬件扩展性,能够可靠高效地完成所有控制和管理任务,从而保证了鱼缸内环境的智能化调节和维护。STM32F103单片机在本系统中的实际接线图如图3.1所示:图3.1STM32F103单片机接线情况3.2ESP8266无线模块智能鱼缸控制系统作为一款具有远程监控和无线控制需求的智能产品,自然也需要集成无线通信模块。经过反复比较和权衡,我们最终将选择锁定在了乐鑫公司推出的ESP8266WiFi模块。ESP8266模块集成了完整的WiFi网络功能,支持标准的IEEE802.11b/g/n协议,工作频率为2.4GHz。与此同时,这款低功耗模块还内置了一个强大的处理器,可独立运行各种应用程序,实现数据的接收、处理和发送。可以说,ESP8266是一款高度集成和高性能的WiFi解决方案。在硬件方面,ESP8266采用40纳米工艺制程,集成了射频收发器、基带处理器、射频前端模块、天线开关等多种功能单元。其主频可高达160MHz,内置32位RISCCPU及16KB的数据RAM和768KB的指令RAM。ESP8266模块还支持多种编程语言,如C、Lua、Node.js等。更难能可贵的是,它内置了完整的TCP/IP协议栈、多种网络协议如IPv4/IPv6/SSL等,可以直接连接WiFi网络,与其他设备或云端服务进行通信交互。ESP8266模块的工作原理很简单。用户首先需要通过AT指令,将其连接到路由器的本地WiFi网络,并获取一个可用的IP地址。之后,只需要通过这个IP地址与模块进行TCP或UDP通信,即可实现各种网络应用功能。ESP8266无线模块在本系统中的实际接线图如图3.2所示:图3.2ESP8266无线模块实际接线图3.3DS18B20温度传感器检测模块鱼类的新陈代谢、摄食、繁衍等生理活动,都与温度密切相关。如果水温过高或过低,都可能给鱼类的生存和健康带来严重威胁。因此,对温度因素的实时有效监测就显得尤为重要。为此,我们在系统中集成了高精度数字温度传感器DS18B20模块。DS18B20温度传感器由美国著名半导体制造商MAXIM(现已并入AnalogDevices)公司生产。它采用单总线温度传输电路设计,可在-55°C到+125°C的宽广温度范围内精确测量温度数据,并将测量结果以12位数字量直接传输给单片机。该传感器在温度检测领域享有盛誉,凭借其精度高、防水耐腐蚀、成本低等诸多优势,被广泛应用于工业控制、智能家居、医疗卫生等各个行业领域。DS18B20内部集成了传感器本体及A/D转换电路,可直接将测量得到的模拟量转换成数字数据。这一设计避免了传统模拟量传输过程中存在的各种干扰,有效提高了测温精度。该传感器的精度可高达±0.5°C,这已经足以满足大多数检测场景的要求。此外,DS18B20还具有校准功能,通过内部校准可以提高温度精度并减小温漂影响。DS18B20传感器只需要一根通信线即可与主控芯片相连,传输接口极为简洁。这种单总线设计让传感器的硬件连接变得十分方便,只需将设备连接口与单片机I/O口连接即可,无需占用多余的硬件资源。通信时由单片机发出复位和读写指令,然后从DS18B20读取温度数字信息,响应延时小于750ms,通信速度较快。该传感器内部还有用于存储温度警戒阈值的EEPROM,可编程设置高低温度触发点,实现温度监控功能。当检测到超过设定范围时,会自动发出警告信号以供系统作出响应。同时,DS18B20还具有硬件校正功能,内置64位激光校准可编程存储器,可根据工厂加载的校正系数修正传感器的测量精度。在智能鱼缸控制系统中,DS18B20温度传感器接入到了STM32单片机的I/O口。系统启动时,单片机会先初始化DS18B20,对其进行必要的配置。然后在系统的主循环中,单片机将周期性地向DS18B20发出温度转换指令,获取鱼缸内实时温度数据。获取到的温度数据将与用户设定的温度阈值进行比较,如果超出阈值范围则立即执行相关的控制响应,如制冷或制热。单片机还会将测量到的温度值实时显示在系统的OLED显示屏上,并通过ESP8266无线模块将数据上传到手机APP终端。这样一来,用户便可以随时随地了解鱼缸水温的变化情况。如果出现温度异常,APP还会发出报警通知,以防止用户疏忽而导致一些不良后果。温度检测模块在本系统中的实际接线情况如图3.3所示:图3.3温度传感器模块实际接线图3.4OLED显示模块OLED有机发光二极管显示屏,是一种利用有机发光二极管自发光的新型平板显示器件。与传统液晶显示屏相比,OLED显示屏具有自发光、高对比度、响应速度快、工作温度范围广、节能环保等众多优点,被认为是继液晶显示技术之后,最具发展潜力的新一代平板显示技术。本系统选用的是一款128×64分辨率的OLED显示模块,显示屏的尺寸为1.3英寸,最大可显示8行字符或几何图形。这个规格不仅足够显示必要的文字、图标和参数数值,而且显示效果清晰、响应迅速,非常适合应用于鱼缸控制场景。图3.4OLED并口读时序图3.5OLED并口写时序在智能鱼缸系统中,OLED显示屏主要用来实时显示鱼缸内的温度、水位、光照强度等关键参数数值,让用户可以一眼就看清环境状况。同时,OLED还可以显示当前系统的工作模式、操作状态及时钟日期,方便用户监控系统运行情况。通过OLED还可以显示一些报警和提示信息,如温度异常报警、水位过低警告、喂食到时间提醒等。这种及时的反馈信息不仅可以提高用户对系统状态的感知度,还可以避免由于疏忽而造成一些严重后果。OLED本身也可以通过4个操作按键供用户输入指令,直接手动修改控制参数或切换模式。例如,可以通过按键将系统由手动模式切换到自动模式,或者修改温度阈值设定等。显示屏还可以在这些操作时给出相应的提示信息,实现良好的人机交互。OLED液晶显示模块为智能鱼缸控制系统增添了直观友好的操作界面。它不仅可以实时显示鱼缸内各种环境参数和系统运行状态,而且通过按键可以接收用户指令、修改设定参数,为系统控制提供及时反馈和人机交互支持,从而大大增强了系统的可用性和用户体验。其卓越的显示性能、快速响应和低功耗优势,使其完全适合应用于智能家庭控制环境。OLED的实际接线图如图3.4所示:图3.4OLED实际接线图3.5水位检测模块水位检测则采取了简单的电极测量方法。一根金属电极安装在鱼缸内的设定水位线处,当水位高于电极时电极将浸没在水中导通,当水位下降时电极将暴露在空气中断开。单片机将根据电极的导通状态判断当前水位是否正常,并作出相应的控制响应。水位检测模块在本系统中的实际接线方式如图3.5所示:图3.5水位检测模块实际接线图3.6按键模块在电子设备中,按键输入是一种常见的用户交互方式。但是,由于机械开关的物理特性,按键在按下和释放时会产生短暂的接触多次切换,也就是按键抖动或弹跳现象。如果不加处理,这种按键抖动会被单片机误认为多次按键输入,从而导致系统工作异常。因此,需要对按键输入进行消抖处理,以确保系统能够正确地响应用户的按键操作。图3.6消抖原理本系统采用简单的RC滤波电路对按键输入进行消抖处理。该电路由一个电阻和一个电容串联组成,如图2所示。当按键被按下时,电容C会通过按键迅速充电,使单片机检测到一个高电平信号,表示按键被按下。但是由于机械接触的弹跳,按键可能会连续多次接通和断开,导致单片机检测到多个高电平信号。RC滤波电路可以有效地滤除这种弹跳现象。当按键被按下时,电容C会快速充电至高电平,单片机检测到一个高电平信号,表示按键被按下。但是当按键弹起时,电容C会通过电阻R缓慢放电,在一定时间内电容的电压仍然维持在高电平。单片机只有在电容电压下降到低电平时,才会检测到按键释放。这样就可以确保单片机只检测到一次有效的按键输入,避免了由于按键弹跳而产生的误判。RC滤波电路的时间常数τ=RC决定了消抖时间,通常选择τ=10-20ms可以有效消除按键抖动。该电路结构简单,成本低廉,适用于大多数基于单片机的系统。在实际应用中,还可以根据不同按键的特性,适当调整RC滤波电路的参数,以获得最佳的消抖效果。图3.7按键模块实际接线图3.7继电器模块本系统采用4个继电器来实现对鱼缸进行水位和温度的自动控制。这4个继电器分别用于控制加水、排水、制冷和制热。加水继电器和排水继电器用于控制鱼缸的水位。当检测到水位低于预设值时,加水继电器会吸合,启动加水泵进行补水;当水位高于预设值时,排水继电器会吸合,启动排水泵进行排水。这样可以保持鱼缸内的水位在一个较为稳定的范围内,避免水位过高或过低而对鱼类造成不利影响。制冷继电器和制热继电器则用于控制鱼缸内部的恒温装置,如制冷器和加热棒等。当检测到水温低于预设温度时,制热继电器会吸合,启动加热装置使水温升高;当水温高于预设温度时,制冷继电器会吸合,启动制冷装置使水温下降。通过这种方式,可以使鱼缸内部保持在一个恒定的最佳温度范围,为鱼类营造一个舒适稳定的生存环境。当单片机输出一个高电平信号时,对应的继电器线圈会通电,继电器吸合,从而控制加水泵、排水泵、制冷装置和制热装置的开启和关闭。当单片机输出一个低电平信号时,继电器线圈断电,继电器释放,切断这些装置的电源,使其停止工作。通过对这4个继电器的精确控制,可以实现对鱼缸水位和水温的自动调节,保证鱼类生存所需的最佳水质环境。如果水位过低,加水继电器会启动加水泵进行补水;如果水位过高,排水继电器会启动排水泵进行排水。同样地,如果水温过低,制热继电器会启动加热装置提高水温;如果水温过高,制冷继电器会启动制冷装置降低水温。这些自动调节功能大大降低了鱼缸管理的难度,提高了饲养的便利性。图3.8继电器模块实际接线图3.8DS1302时钟模块本系统采用DS1302实时时钟芯片作为系统的时间基准,为定时自动喂鱼功能提供时间支持。DS1302是一款低功耗、高精度的串行实时时钟(RTC)芯片,广泛应用于嵌入式系统中。它内部集成了日历、时钟、闹钟等功能,可以提供年、月、日、时、分、秒的时间信息。DS1302通过一个3线串行接口(时钟、数据、使能)与单片机连接,可以方便地进行时间数据的读写操作。在本系统中,DS1302时钟模块的主要作用是为定时喂鱼功能提供精确的时间基准。单片机可以通过读取DS1302提供的实时时间,判断是否到达预设的喂鱼时间点。一旦到达指定时间,单片机就会控制舵机模块执行喂鱼动作,实现定时自动喂鱼。DS1302时钟模块的工作原理如下:单片机通过3线串行接口(时钟、数据、使能)与DS1302芯片进行通信。单片机首先拉高使能线,与DS1302建立通信连接。单片机通过时钟线和数据线,向DS1302发送读/写命令和地址,实现对时间寄存器的读写操作。单片机可以周期性地读取DS1302提供的实时时间信息,作为定时喂鱼的时间基准。当到达预设的喂鱼时间点时,单片机会控制舵机模块执行喂鱼动作。通过DS1302时钟模块,本系统能够准确地获取实时时间信息,为定时自动喂鱼功能提供可靠的时间支持。这不仅大大提高了饲养的便利性,而且确保了鱼类能够得到定期、稳定的喂养,有助于提高鱼类的存活率。图3.9时钟模块实际接线图3.9SG90舵机模块本系统采用SG90微型舵机作为实现自动喂鱼功能的驱动装置。SG90是一款体积小、功耗低、转矩大的伺服电机,广泛应用于各类机器人和智能设备中。在本系统中,SG90舵机模块的主要作用是模拟喂鱼动作。当到达预设的喂鱼时间点时,单片机会通过PWM信号控制SG90舵机转动一定角度,从而带动连接在舵机轴上的喂食装置将鱼食投放到鱼缸中,实现自动定时喂鱼。单片机通过PWM信号控制SG90舵机的转角。PWM信号的占空比决定了舵机转动的角度。当到达预设的喂鱼时间点时,单片机输出一个特定的PWM信号,使SG90舵机转动到预设的角度,带动喂食装置将鱼食投放到鱼缸中。喂食完成后,单片机再次输出PWM信号,使SG90舵机返回到初始位置,完成一个完整的喂鱼动作。通过SG90舵机模块的精确控制,本系统能够实现定时自动喂鱼的功能。这不仅大大提高了饲养的便利性,而且确保了鱼类能够得到定期、稳定的喂养,有助于提高鱼类的存活率。同时,该自动喂鱼机制还能够最大程度地模拟人工喂鱼的动作,为鱼类营造一个更加自然、舒适的生存环境。SG90舵机模块作为本系统实现定时喂鱼功能的关键部件,其精确的角度控制能力为系统的自动化喂鱼提供了可靠的技术支持。图3.10SG90舵机模块实际接线图4系统的软件设计4.1软件介绍KEIL5是一款广受欢迎的嵌入式系统开发集成环境(IDE),由德国KEIL公司开发,已成为嵌入式软件开发领域的标准工具之一。KEIL5凭借其出色的编译性能、强大的调试功能和良好的集成性,为开发者提供了一站式的嵌入式系统开发解决方案。KEIL5的整体架构包括编辑器、编译器、链接器、仿真器、调试器等多个主要组件。编辑器提供了丰富的编程语言支持,如C、C++、汇编等,并集成了代码着色、自动完成等常见的编辑功能,大幅提高了开发效率。编译器则负责将源代码高效地转换为目标单片机可执行的机器码,并提供了丰富的优化选项,确保生成高质量的目标代码。链接器则负责处理复杂的内存映射和符号引用问题,生成可靠的最终可执行程序。KEIL5的仿真器和调试器仿真器能够模拟目标单片机的各种硬件资源,如CPU、中断、外设等,使得开发者能够在仿真环境下对程序进行测试和调试,而无需实际的硬件电路。调试器则提供了单步执行、断点设置、变量监视等丰富的调试功能,能够快速定位和解决程序Bug。调试器与仿真器的无缝集成,使得开发过程中的问题定位和修复变得更加高效便捷。除了强大的核心功能外,KEIL5还附带了大量经过优化的软件库,涵盖了各类单片机外设驱动、操作系统、网络协议等,大幅降低了开发人员的工作量。比如针对ARM、8051、C166、251等主流单片机架构,KEIL5都提供了对应的优化编译器和丰富的外设驱动库,确保开发者能够快速构建目标系统。同时,KEIL5还支持与版本控制系统、编码规范检查工具等外部工具的集成,进一步增强了开发的灵活性。KEIL5的拥有直观、可定制的界面布局,开发者可以根据个人习惯调整界面布局,大大提高了工作效率。此外,KEIL5还支持用户自定义的宏命令和脚本,进一步增强了开发的灵活性。除了出色的功能特性,KEIL5的技术支持也是其一大亮点。KEIL公司提供了丰富的使用文档和技术支持,包括在线手册、应用笔记、技术论坛等,能够很好地帮助开发者解决各类问题。这些完善的技术支持,大大降低了开发人员的学习成本,提高了项目开发的效率。KEIL5凭借其优秀的编译性能、强大的调试功能、丰富的软件库和良好的集成性,已经成为嵌入式系统开发领域广受欢迎的IDE工具之一。它为开发者提供了一站式的嵌入式软件开发解决方案,大幅提高了项目开发的效率和质量。随着KEIL公司不断完善产品功能和技术支持,KEIL5必将在未来的嵌入式系统开发领域发挥更加重要的作用。Keil5的软件界面如4.1图所示:图4.1Keil_5软件界面4.2软件程序的设计智能鱼缸控制系统的软件部分主要包括STM32单片机的控制程序和手机APP两个组成部分。其中,单片机控制程序承担了系统的核心控制功能,而手机APP则为用户提供了人机交互界面。单片机首先对各硬件外设进行必要的初始化,如初始化串口、定时器、I2C总线、外部中断等;然后周期性地采集DS18B20温度传感器、光敏电阻、水位电极的检测数据,并对获取的原始数据进行解码和滤波处理,得到鱼缸内的实时温度、光照和水位参数。通过比较传感器数据和用户预先设置的阈值数据,判断是否需要开启或关闭各种控制措施,如制冷、制热、补光、补水、投喂等。最后,系统将按判断结果执行相应的控制操作,如启动继电器控制加热棒或制冷风扇、打开水泵进行换水、驱动舵机投放鱼食等。除了自动化控制流程外,控制程序还会及时将检测数据及执行结果通过串口发送到ESP8266无线模块,并在OLED显示屏上实时显示各项参数和系统运行状态,供用户实时监控。此外,程序还可以通过按键或无线指令接收来自用户的设置调整,如修改温度、光照阈值、设置喂食时间、切换模式等。与单片机端的控制程序相配合,手机APP则为用户提供了方便友好的监控和控制界面。APP首先要与系统建立无线连接,它将通过解析ESP8266发来的数据,实时将鱼缸内的各项参数以图表或数值的形式显示到手机界面上,同时显示系统当前的运行状态。如果出现温度异常、水位过低等异常情况,APP会及时弹出报警提示,免去了用户频繁查看的需求。软件系统设计紧密结合了计算机控制、移动互联网和人机交互等多方面的技术,充分体现了智能化和人性化的理念。硬件系统和软件系统的高度融合,共同构建了一个高效实用的智能鱼缸控制解决方案。4.2.1主程序流程图4.2智能鱼缸控制系统逻辑流程图如图4.2所示,在主程序中:首先对各个模块进行初始化,随后进入while主循环,在主循环中,首先进入第一个函数按键函数,该函数主要是通过不同按键进行切换界面和模式、手动换水和喂食,设置水温、换水、喂食时间,获取网络时间;紧接着进入第二个函数监测函数,每500毫秒获取一次水温,水位,光照强度;紧接着进入第三个函数显示函数,根据不同显示界面显示不同内容,例如显示模式,水位、水温、光照强度值及阈值,以及显示设置换水和喂食时间;紧接着进入第四个函数处理函数,主要是根据光照/水位/水温控制对应设备开关,以及在定时模式下,定时喂食和换水。最后一个是WIFI函数,通过WIFI连接手机上传数据并控制。其部分主程序源码如下所示:intmain(void){HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_TIM1_Init();MX_USART2_UART_Init();MX_ADC1_Init();MX_TIM3_Init();MX_TIM2_Init();/*USERCODEBEGIN2*/HAL_TIM_Base_Start_IT(&htim1);HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_3);//定时器3pwm初始化HAL_UART_Receive_IT(&Huart_wifi,&uartwifi_value,1);OLED_Init(); //初始化OLED_Clear(); //清屏Ds18b20_GPIO_Init(); //DS18B20初始化函数ESP8266_init();HAL_Delay(30);//wifi连网Ali_MQTT_Publish_3();HAL_Delay(30); DS1302_GPIO_Init(); //时钟模块初始化// Ds1302Init(); //写入时间,第一次烧录释放while(1){(部分代码省略)……} }4.2.2按键程序流程根据图4.3所示的按键程序流程,按键设置函数首先通过按键扫描函数,获取按键按下的相关信息,通过不同的键值,进行相应变量的改变。如果获取的键值为1,切换界面。如果获取的键值为2,界面0,切换模式;界面1,设置水温下限+1;界面2,设置水温上限+1;界面3-4,设置换水小时分钟+1;界面5-6,设置喂食小时分钟+1。如果获取的键值为3,界面0,手动换水;界面1,设置水温下限-1;界面2,设置水温上限-1;界面3-4,设置换水小时分钟-1;界面5-6,设置喂食小时分钟-1。如果获取的键值为4,手动喂食。如果获取的键值为5,获取网络时间。其部分程序源码如下所示:voidKey_function(void){ key_num=Chiclet_Keyboard_Scan(); //按键扫描 if(key_num!=0) //有按键按下 { switch(key_num) { case1: //按键1,切换界面 flag_display++; if(flag_display>=7) //一共7个界面 flag_display=0; OLED_Clear(); //按一下,清屏一次 break;(部分代码省略)…… }}}图4.3按键模块逻辑流程图4.2.3处理程序流程处理程序流程如图4.4所示,如果测得光照小于40,灯打开,否则灯关闭。如果水温低于水温下限,进行加热,如果水温大于水温上限,开始制冷,否则水温在阈值内,停止加热和制冷。在定时模式下,如果到达设置的喂食时间,开始喂食,否则关闭喂食。如果达到换水时间,进行换水。软件部分程序源码如下所示:voidManage_function(void){if(light<40)//光照小于40,灯打开LED(1);elseLED(0); if(temp>water_H*10) relay_cold(1); else relay_cold(0);(部分代码省略)……}}图4.4处理函数逻辑流程图4.2.4显示函数流程设计显示函数子流程如下图4.5所示,根据不同显示位显示不同标志,界面0,显示模式、温度、光照和水位;界面1,显示设置的水温下限;界面2,显示设置的水温上限;界面3,显示设置换水小时;界面4,显示设置换水分钟;界面5,显示设置的喂食时间的小时;界面6,显示设置的喂食时间的分钟。软件部分程序源码如下所示:voidDisplay_function(void){ switch(flag_display) //根据不同的显示模式标志位,显示不同 { case0: //界面0,显示温度,光照,水位,喂食时间 OLED_Show_Time(TIME); //显示当前的日历if(mode==0)Oled_ShowCHinese(88,2,(uint8_t*)"手动");elseOled_ShowCHinese(88,2,(uint8_t*)"定时");Oled_ShowString(0,4,(uint8_t*)"T:");OLED_Show_Temp(16,4,temp);Oled_ShowString(72,4,(uint8_t*)"L:");OLED_ShowNum(88,4,light,3);Oled_ShowCHinese(0,6,(uint8_t*)"水位");Oled_ShowString(32,6,(uint8_t*)":");//显示:OLED_ShowNum(40,6,level,3);break; (部分代码省略)……}}图4.5显示函数子流程图4.2.5中断函数流程设计中断函数子流程如下图4.6所示,单片机的中断逻辑是其实现高效实时处理的关键所在。当单片机接收到来自外围设备或内部定时器的中断请求时,会暂停当前正在执行的程序,转而处理中断服务程序,完成中断服务后再返回原来的程序继续执行。这样可以确保及时响应外部事件,提高系统的实时性和响应性。以下是一段示例代码,展示了基于ARMCortex-M0+处理器的STM32单片机中断逻辑的实现:voidDisplay_function(void){ switch(flag_display) //根据不同的显示模式标志位,显示不同 { case0: //界面0,显示温度,光照,水位,喂食时间 OLED_Show_Time(TIME); //显示当前的日历if(mode==0)Oled_ShowCHinese(88,2,(uint8_t*)"手动");elseOled_ShowCHinese(88,2,(uint8_t*)"定时");Oled_ShowString(0,4,(uint8_t*)"T:");OLED_Show_Temp(16,4,temp);Oled_ShowString(72,4,(uint8_t*)"L:");OLED_ShowNum(88,4,light,3);Oled_ShowCHinese(0,6,(uint8_t*)"水位");Oled_ShowString(32,6,(uint8_t*)":");//显示:OLED_ShowNum(40,6,level,3);break; (部分代码省略)……}}该代码展示了单片机的中断逻辑实现,包括:定义各种中断服务程序,如系统滴答定时中断、外部中断等。在中断服务程序中处理对应的中断事件。在主循环中执行普通的任务,当有中断发生时,CPU会暂停主循环转而处理中断服务程序。完成中断服务后,CPU会返回主循环继续执行。这就是单片机中断逻辑的基本原理和实现。图4.6中断函数子流程图4.2.6水位检测函数流程设计水位检测函数子流程如下图4.7所示,鱼缸系统中的水位检测子流程逻辑主要负责监控鱼缸内的水位情况,并根据设定的水位阈值采取相应的动作。该子流程会周期性地读取水位传感器的数据,判断当前水位是否低于最低水位阈值或高于最高水位阈值。如果水位过低,则会触发补水动作,启动进水泵将水加到合适的水位;如果水位过高,则会触发排水动作,启动排水泵将多余的水排出。同时,该子流程还会监控补水和排水的过程,并在水位恢复到正常范围后及时停止相关泵的运转。整个水位检测子流程确保了鱼缸内水位的稳定性,为鱼类的生存创造了良好的水质环境。水位检测的部分代码如下://水位传感器引脚定义#defineWATER_LEVEL_SENSORA0//水位阈值定义(单位:毫米)#defineMIN_WATER_LEVEL50#defineMAX_WATER_LEVEL300//进水泵和排水泵引脚定义#defineINLET_PUMP_PIN5#defineOUTLET_PUMP_PIN6voidsetup(){//初始化串口通信Serial.begin(9600);//设置引脚模式pinMode(INLET_PUMP_PIN,OUTPUT);pinMode(OUTLET_PUMP_PIN,OUTPUT);}voidloop(){//读取水位传感器值intwaterLevel=analogRead(WATER_LEVEL_SENSOR);//判断水位是否过低if(waterLevel<MIN_WATER_LEVEL){Serial.println("Waterlevelistoolow,startinletpump.");digitalWrite(INLET_PUMP_PIN,HIGH);//启动进水泵}else{digitalWrite(INLET_PUMP_PIN,LOW);//停止进水泵}图4.7水位检测函数子流程图
毕业设计5系统的测试PAGE45 5系统的测试5.1软件硬件调试任何一款产品最终都要经过反复测试和调试,才能保证其可靠稳定运行。对于本智能鱼缸控制系统,我们也进行了大量的软硬件调试工作。在软件调试方面,我们主要使用了Keil集成开发环境下的仿真和调试功能。Keil提供了RVMDK和UVSION两大系列工具,可以支持多款ARM架构的芯片和微控制器进行开发。我们利用Keil的仿真器,对单片机控制程序进行了全面的功能测试,通过设置断点、观察波形、打印调试信息等方式,逐步调试和完善了程序的各个子模块,确保其能够按照设计要求正确运行。在硬件调试方面,我们采取的是分模块、分阶段的调试方法。首先使用万用表和示波器对每个硬件电路模块进行独立测试,确认其能够正常工作,再与单片机系统连接起来进行整体测试。在这个过程中,我们也借助了逻辑分析仪、JTAG仿真器等专业工具追踪硬件的运行状态,并反复修改程序、更换元器件,直至整个系统的各项功能如温度监测、光照检测、无线通信等均能够可靠运行。在完成软硬件的单独调试后,我们进行了长期稳定性测试。将整个控制系统安装到实际鱼缸环境中,对其进行了为期数月的全天侯监控,并不间断地在各种极端条件下测试,考察了系统的鲁棒性和容错能力。同时,我们还专门进行了一系列性能评测,如功耗测试、数据准确度测试、WiFi通信距离测试等,确保系统在各方面的性能参数均能满足实际应用需求。5.2实物展示经过大量测试和调试,系统的各项功能均运行正常,监测数据准确、控制响应迅速,能够可靠地维持鱼缸内的理想环境。实物如图5.1所示:图5.1系统实物图图5.2系统初始化界面如图5.2所示,系统开启以后,OLED显示屏上将会实时显示当前的日期、星期、时间、手动或自动模式、温度、水位和光照强度,用于用户交互。图5.3补光灯开启图5.4补光灯关闭如图5.3和5.4所示,测试了本系统的自动补光功能。此时设定的光照强度阈值是40,当检测到光照强度大于40时,会自动关闭补光灯,当检测到光照强度小于40时则会自动开启补光灯。图5.5设置阈值界面如图5.5所示,本系统可以通过按键对各项参数的阈值进行设置,此时按下的按键进入了设置水温的下限值界面。图5.6制冷工作状态如图5.6所示,当前检测到了水温值大于设定阈值,此时开启制冷继电器,这个功能可以使水达到一个平衡的温度,更适合鱼儿的生存。图5.7设定自动换水时间图5.8设定自动喂食时间如图5.7和5.8所示,在这里我们分别测试了本系统的自动换水和自动喂食功能,通过按键可以对喂食和换水的时间进行设置。当达到了设定的时间后将会自动开启继电器进行先排水后加水的操作以及步进电机的喂食操作。图5.9APP界面图如图5.9所示,本系统可以通过ESP8266无线模块连接至手机APP,通过手机APP可以实时监测和OLED屏幕上一样的信息,也可以实现按键同样的功能。结论结论结论本文设计的智能鱼缸控制系统,以STM32F103单片机为核心,集成了温度检测、水位监测、光照强度检测、时间控制、无线通信与执行模块等多元化功能,构建了一套高效且智能的鱼缸维护方案。通过系统的实时监测和自动调节功能,鱼缸内的环境参数能够维持在理想范围内,极大地减轻了用户的日常维护工作负担,同时也为观赏鱼提供了一个稳定舒适的生存环境。在系统设计过程中,我们充分考虑了系统的稳定性、可靠性与智能化水平。采用DS18B20温度传感器进行高精度温度监测,通过ESP8266无线模块实现远程监控与无线控制,结合OLED显示屏为用户提供了直观友好的操作界面。此外,系统还支持手动和定时两种工作模式,用户可以根据实际需求进行灵活设置和调整。经过严格的软硬件调试和测试,智能鱼缸控制系统的各项功能均运行正常,监测数据准确,控制响应迅速。系统实物展示和测试结果表明,该智能鱼缸控制系统不仅满足了设计预期,而且在实际应用中取得了良好的效果。通过本系统的设计与实现,我们为智能自动化控制技术在鱼缸维护领域的应用做出了有益的探索和尝试,为智能家居产业的发展贡献了一份力量。展望未来,随着物联网技术的不断发展,智能鱼缸控制系统将在功能完善、用户体验优化等方面持续进步,为人们的生活带来更多便利与舒适。毕业设计参考文献参考文献[1]吴海青何满塘周朝阳郭晗贺泱钤王立功.基于STM32单片机的智能鱼缸控制系统设计[J].机械工程与自动化,2022(6):158-160.[2]李龙,唐思均,李玮.基于单片机的智能鱼缸控制系统的设计[J].科技展望,2016,26(007):191-191.DOI:10.3969/j.issn.1672-8289.2016.07.166.[3]吕杰,梁鉴明.一种基于STM32单片机的智能鱼缸控制系统设计[J].现代信息科技,2020,4(20):5.DOI:10.19850/ki.2096-4706.2020.20.004.[4]马骁轩.基于单片机的智能鱼缸自动控制系统设计[J].[2024-03-20].[5]殷佳琪.基于单片机控制的鱼缸水循环系统设计[J].黑龙江科技信息,2020,000(029):98-99.[6]丁惠忠.观赏鱼缸智能控制系统的设计[D].苏州大学[2024-03-20].DOI:10.7666/d.y1304038.[7]杨雨生,吴丽波,龙玥彤,等.基于单片机的智能生态鱼缸的设计[J].湖北农机化,2019(12):1.DOI:CNKI:SUN:HBJH.0.2019-12-052.[8]孙悦,王震,向垚.基于51单片机的智能鱼缸系统[J].中国科技信息,2018.DOI:CNKI:SUN:XXJK.0.2018-13-018.[9]赵宗景.基于物联网的远程可控可通信水族箱的设计实现[D].河北北方学院[2024-03-20].DOI:CNKI:CDMD:2.1017.275258.[10]郝海燕李梦琪李瑾玥龚杰.基于单片机的智能鱼缸控制系统设计[J].内江科技,2022,43(3):49-50.[11]黎涛,金亚玲.基于单片机的智能鱼缸温度控制系统的设计[J].湖北农机化,2019(12):1.DOI:CNKI:SUN:HBJH.0.2019-12-051.[12]任浩,汪俊,王毅,等.基于51单片机的智能生态鱼缸设计[J].黑龙江科技信息,2018,000(008):174-175.[13]邱义.基于STM32的智能鱼缸远程控制系统设计[J].信息技术与信息化,2020(10):3.DOI:10.3969/j.issn.1672-9528.2020.10.073.[14]孔得丰.基于ATmega64智能鱼缸控制系统的设计[J].信息与电脑,2019(12):4.DOI:CNKI:SUN:XXDL.0.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店管理经纪合同
- 网络营销合同范本合同协议速览
- 质量第一施工保证
- 国外材料采购合同的注意事项
- 软件开发服务合同
- 房屋宅基地买卖合同的重点提示
- 简单共享服务合同范本
- 观光电梯招标维修要求
- 室内外设计合同范本
- 网站策划合同样本
- 十五五规划编制指导手册
- 2024年秋季学期新外研版英语三年级上册课件 Unit 6 第2课时(Speed up)
- 2024届川庆钻探工程限公司高校毕业生春季招聘10人高频500题难、易错点模拟试题附带答案详解
- 护理收费标准课件
- 人教版九年级物理全一册期末测试卷(附答案与解析)
- 浙江省杭州市上城区2023-2024学年九年级上学期期末考试科学试题
- 期中测试卷(1-4单元)(试题)-2024-2025学年六年级上册数学
- (完整)六年级语文非连续性文本阅读训练
- 人教部编版小学语文六年上册《习作:有你真好》说课稿及教学反思共三篇
- 小学主题班会-小学生交通安全
- 《功能性食品开发与应用》课件-增强免疫力功能食品的开发与应用
评论
0/150
提交评论