基于51单片机的智慧农业生态大棚控制系统设计【程序源文件+电路原理图+Visio流程图】

摘要

随着电子信息技术的推进,智能化控制的便捷性和效率性得到了极大的改善。智能化控制对所有的自动设备具有重要影响,而智能化的监测与控制是确保智能设备稳定运行的关键。传统农业大棚的控制与检测方法存在着数据获取不及时、操作复杂、监测精度低等问题,因此需要一种更先进、更高效的智慧大棚控制系统。

该研究利用单片机编写相应的程序,利用传感器实现数据采集、处理和通信控制等功能,通过分析大棚环境检测系统的功能需求和技术特点,设计出符合实际应用需要的系统结构和硬件电路。设计中采取STC89C52单片机、LCD1602显示屏、CO2传感器、温度传感器、土壤湿度传感器、光照传感器、按键、蜂鸣器、WIFI模块以及风扇等器件。传感器是大棚环境检测系统中的核心部件,可以实时感知环境参数,并将其转化为电信号输出。通过传感器,可以实现对温度、湿度、光照以及CO2浓度等大棚环境因素的监测,通过WIFI模块实现数据的无线信息传输与控制,并会根据环境因素实现自动调控功能。

通过对智慧农业大棚的设计与实现,预期可以解决传统方法中存在的问题,提高农业大棚环境监测的准确性和效率性,为大棚作物生产提供科学依据,保证农作物的质量和安全。

关键词农业大棚;单片机;环境;传感器

Abstract

With the advancement of electronic information technology, the convenience and efficiency of intelligent control have been greatly improved. Intelligent control has a significant impact on all automated devices, and intelligent monitoring and control are key to ensuring the stable operation of intelligent devices. The control and detection methods of traditional agricultural greenhouses have problems such as delayed data acquisition, complex operation, and low monitoring accuracy. Therefore, a more advanced and efficient intelligent greenhouse control system is needed.

This study uses microcontrollers to write corresponding programs and utilizes sensors to achieve functions such as data acquisition, processing, and communication control. By analyzing the functional requirements and technical characteristics of the greenhouse environment detection system, a system structure and hardware circuit that meet practical application needs are designed. In the design, STC89C52 microcontroller, LCD1602 display screen, CO2 sensor, temperature sensor, soil humidity sensor, light sensor, buttons, buzzer, WIFI module, and fan are used. Sensors are the core components of greenhouse environment detection systems, which can perceive environmental parameters in real time and convert them into electrical signals for output. Through sensors, monitoring of greenhouse environmental factors such as temperature, humidity, light, and CO2 concentration can be achieved. Wireless information transmission and control of data can be achieved through WIFI modules, and automatic regulation functions can be implemented based on environmental factors.

Through the design and implementation of smart agricultural greenhouses, it is expected to solve the problems existing in traditional methods, improve the accuracy and efficiency of agricultural greenhouse environmental monitoring, provide scientific basis for greenhouse crop production, and ensure the quality and safety of crops.

Keywords:Agricultural greenhouse; Microcontroller; environment sensor

目录

1 绪论

1.1系统设计的背景

1.2研究现状

1.3设计的目的

2 整体方案设计

2.1系统设计概述

2.2系统设计内容

2.3器件选择方案

2.3.1单片机方案选择

2.3.2按键方案选择

2.3.3显示器的选择

2.3.4温度传感器的选择

2.3.5 CO2传感器的选择

2.3.6 光照模块的选择

2.3.7 湿度模块的选择

2.3.8无线传感器的选择

3 系统硬件设计

3.1单片机最小系统

3.2 LCD1602显示电路设计

3.3 按键模块电路设计

3.4 温度传感器电路设计

3.5 CO2传感器电路设计

3.6 光照传感器电路设计

3.7 湿度传感器电路设计

3.8 WIFI电路设计

3.9 水泵驱动电路设计

3.10 风机电路设计

4 系统软件设计

4.1系统程序设计软件

4.2主程序设计

4.3显示程序设计

4.4按键程序设计

4.5温度检测程序设计

4.6 CO2检测程序设计

4.7 光照检测程序设计

4.8 湿度检测程序设计

4.9 WIFI程序设计

4.10水泵驱动程序设计

1 绪论

1.1系统设计的背景

中国是一个拥有众多人口的国家,但与其庞大的人口相比,资源却显得相对有限。尽管我们的国家在历史长河中积淀了深厚的农耕文化,但农业现代化的挑战依然重重,任务艰巨。在经济全球化和城市化的双重推动下,大量的农村劳动力不断涌向城市,这一转变使得我国的粮食生产在各地区呈现出了高度的集中化趋势[1]。然而,农作物的生长并不仅仅取决于土壤和水资源,气候和地理因素引发的生物灾害和自然灾害也对其产量和生长质量构成了制约[2]。这导致农作物的实际产量往往难以达到我们的预期。此外,随着国民对于农作物多功能需求的不断提高,如何通过自给自足的方式确保农作物的稳定供应,无疑对我们的农业发展提出了新的挑战[3]。满足人们对农作物多样化需求,不仅要关注产量的稳定,还需要关注农作物的质量和功能性。因此,如何在有限的资源条件下,通过科技创新和制度改革,确保农作物的稳定产量,满足国民对农作物多功能需求,已经成为我们必须及时思考和解决的重要问题[4]。只有解决了这个问题,我们才能真正推动中国农业的现代化进程,实现可持续发展,满足人民日益增长的物质和文化生活需要。

温室大棚作为设施园艺的核心元素,其在农业产业化的道路上发挥了极其重要的角色。它颠覆了传统的农业生产模式,以其独特的方式突破了农作物生长的时间和空间限制,使得农作物的生产不再受季节和气候的束缚。这一创新性的策略有效地解决了我国在蔬菜和水果供应方面的短缺问题,确保了供应链的稳定性[5]。随着科技的不断进步和创新,温室大棚的发展不仅为农作物提供了理想的生长环境,而且在很大程度上降低了作物受自然灾害的风险,从而尽可能地减少了恶劣气候条件对农作物的损害。这一点在保障农民的经济收入,维护农业生态平衡,以及推动农业产业结构的调整等方面,具有非常重要的意义。此外,温室大棚的发展也直接影响到城乡居民的生活水平。通过提高农产品的质量和供应稳定性,可以满足城乡居民日益增长的生活需求,进一步提高他们的生活质量。因此,可以说,温室大棚在现代农业发展中,起到了至关重要的作用。

1.2研究现状

在当前的中国,无论是城市还是农村,乡镇企业或是个体经营,温室的运用和发展已经变得日益普遍和广泛。这种发展并非随意无序,而是明确地走向了结构化、集约化和产业化的道路。在经济发展较快的地区,我国已经逐步建立了大量不同等级和规模的现代高科技示范园区[5]。尤其值得一提的是,我国农业产业化结构的调整,从根本上推动了我国现代温室的发展。这不仅使得我国的温室面积迅速扩大,农作物种类不断丰富,温室智能设施不断完善,管理水平也在逐步提升。辽宁省,被誉为我国温室技术的摇篮,正积极推进经济型日光温室前沿研究,致力于提高农业生产的效率与效益。这些技术的发展不仅为辽宁省乃至全国的农业现代化贡献了宝贵经验,也为全球农业技术的创新与进步提供了重要参考。浙江省,在温室技术方面同样不遗余力,推出了超过十种的优化结构温室和将近二十种的立体种植温室设计,这些创新大幅提升了温室内部空间的使用效率。通过这些技术革新,浙江省有效地推进了农业生产的集约化、精细化,极大地提高了农业的综合产出能力[6]。当前,我国正在向日本等温室技术发达国家学习,积极探索和研究半球形穹顶温室的设计理念。这种设计不仅优化了温室的采光效果,还在建设成本上实现了节约,体现了技术创新和经济效益的双重优势。此外,塑料大棚和中型日光温室作为我国设施农业的基础构成,它们的普及和应用有效地利用了太阳能资源,既保证了农业生产的可持续发展,又减轻了对环境的负担。从简单的塑料大棚到功能多样的日光温室,每一步的技术演进都是对社会发展和科技进步的生动诠释[7]。温室大棚技术的应用,不仅为农作物提供了安全可靠的生长环境,避免了自然灾害的损害,还极大地缩减了恶劣天气对农业生产的影响。通过这些技术的广泛应用,有效地保障了农民的收入增长,推动了农业产业结构的优化调整,同时也提升了城乡居民的生活品质。因此,温室大棚技术在推动农业现代化、实现社会经济可持续发展方面,扮演了不可或缺的重要角色。

1.3设计的目的

本次设计基于51单片机的智慧农业大棚控制系统,主要解决大棚自动化的控制问题。该系统的核心是采用了高度集成的单片机技术,负责协调所有核心功能,确保了运作的高效与稳定。该控制系统的设计过程涉及到对单片机架构的深刻理解,包括其处理能力、功能引脚的配置,以及如何通过编程实现复杂的逻辑控制。同时对各类传感器的工作原理进行了广泛的研究与分析。系统的电路设计是另一项重点任务,要确保各个电路模块的可靠性和安全性。同时使用C语言来编写程序代码。详尽的设计目的如下:

1、应用温度传感器、光照触感器、湿度传感器、CO2传感器完成大棚内环境数据的实时采集,为智慧大棚的自动控制提供基础数据。

2、应用显示屏完成智慧大棚的人机交互,实现数据显示功能。

3、使用按键完成参数设定并可以实现手动操控功能。

4、应用水泵、风扇、LED灯执行智慧大棚的控制调节功能。

5、应用无线WIFI模块实现与手机端的数据通讯功能,以实现手机端的数据显示以及无线控制功能。

2 整体方案设计

2.1系统设计概述

本次设计基于51单片机的智慧农业大棚控制系统。该系统的设计工作分为两大核心部分:器件电路设计和软件程序设计,旨在提供全面准确的实现数据监控,以保障数据监测的安全性和稳定性。器件电路设计中,采用模块化的设计策略,以确保电路设计的清晰性和可维护性。系统的中心是以单片机为核心的电路模块,通过一系列功能引脚与外围的传感器相连接,从而实现特定功能等关键参数的监测。每个功能模块的电路是独立设计的,并以电气网络连接的形式组织起来。

2.2系统设计内容

设计智能农业大棚控制系统的目的主要是提高农业大棚的自动化控制过程,对农业大棚内各项环境参数进行自动检测与调节,使农业大棚具有智能化。该系统使用51单片机实现控制运行,通过DS18B20温度传感器采集环境中的温度,使用YL-69湿度传感器检测土壤湿度,通过CO2传感器检测CO2浓度,使用光照模块完成光照度的检测,检测的数据由显示屏进行显示,并通过按键设定温室大棚中的温度限值、湿度限值、光照限值、CO2浓度限值。系统中设计自动控制模式与手动控制模式两种方式。自动模式下,测试数据与限值进行比较,温度过高使用风扇通风,湿度过低使用水泵浇水,光照度低则进行补光,CO2浓度过高则进行通风。手动模式下,利用按键功能控制风扇通风、水泵浇水以及补光。系统的运行数据通过WIFI模块实现与手机端的无线数据通讯,手机APP可以查看温室大棚的数据,并可以通过APP按钮对大棚的设施进行控制。原理框图如图2-1所示。

2-1  总体设计方案

2.3器件选择方案

2.3.1单片机方案选择

STM32单片机:STM32系列单片机以其32位ARM核心架构在处理速度和功能扩展性上表现卓越,是当今消费类电子市场的佼佼者。它提供了多种型号,以适配各种不同的应用场景,从简单的家用电器到复杂的工业控制系统[8]。STM32单片机的编程开发通常采用KEIL IDE,这个环境支持全面的软件库,使得开发者能够更容易地接触到底层硬件功能,大大简化了开发流程,并助于缩短产品从设计到市场的周期。

STC89C52单片机:STC89C52单片机作为一款拥有经典51内核的微控制器,它以其稳定的性能和便捷的串口编程功能被广泛应用于初学者学习和小型开发项目中[9]。它不仅具备了标准的51内核资源,还因其简单的指令集和容易理解的编程模型而深受欢迎。对于教学和基础电子项目来说,STC89C52提供了一个理想的平台,帮助开发者和学生快速上手并深入理解微控制器的工作原理。此外,针对这款单片机的参考资料极为丰富,在线可以找到大量的教程、示例代码和开发社区支持,这大大降低了学习和开发的门槛。

综上所述,在权衡了系统设计所需的功能,项目开发的复杂度,以及所需的参考资料和开发工具后,选择了STC89C52单片机作为开发平台。

2.3.2按键方案选择

键盘矩阵模式:键盘模式下的按键是按照一定的矩阵排布,通常为“四行四列”,形成了16个独立的按键[10]。这些按键通过较少的信号线(通常是8根线缆)与单片机相连,每一行和每一列各对应单片机上的一个引脚。单片机执行键盘扫描程序,通过对行列的逐一激活和检测,确定哪一个或哪几个键被按下。这种连接方式有效节省了宝贵的单片机引脚资源,并在电路设计上实现了优化。然而,键盘扫描程序需要使用到单片机的定时器资源,并且程序逻辑较为复杂,对编程技巧有一定要求。

独立按键模式:独立模式的按键都单独连接到单片机的一个引脚上。这种模式下按键的检测基于单个信号的电平变化,简化了电路设计和程序处理流程。在编程时,开发者只需关注实时的信号检测和消抖处理,即可准确判断按键动作。其程序设计简洁清晰,并且不需要占用额外的定时器资源。由于这些特点,独立按键模式是最常见且易于实现的按键接入方式。

在进行键位布局设计时,充分考量了系统的操作简便性、电路设计的复杂度、以及单片机资源的利用效率。基于所需按键数量和系统设计的复杂性,选择了独立按键模式来实现我们的键位功能需求。

2.3.3显示器的选择

LCD1602显示屏:是一种高度实用的信息显示解决方案,以其简洁的字符和数字组合方式,广泛应用于各种电子设备中。显示屏通过液晶技术呈现信息,并搭配一块白色背光板以增强显示效果。通过内部的液晶单元排列和电流控制,成功地在屏幕上展示了用户所需的信息内容[11]。LCD1602的每一个字符和数字都由一个5x7点阵的液晶单元阵列组成,允许它展示标准的ASCII字符集。它的背光系统确保了在不同光照条件下都能够清晰阅读屏幕内容。此外,该屏幕支持并联通信协议,使其在与微控制器等数字设备对接时,显示速度更快,信息更新更及时。

OLED显示:OLED—即有机发光二极管,依靠一层有机材料的电激发发光,以点阵的形式绘制出清晰的文本、图形和图像[12]。OLED屏幕自身就是光源,因此不需要背光板,这使得OLED屏幕可以做得更薄、更轻,并且消耗的能量更少。其显示效果以高对比度、广视角和出色的色彩饱和度著称。无论是在亮度还是动态显示方面,OLED都提供了卓越的性能。然而,这种屏幕的制造成本较高,且相较于LCD屏幕,其使用寿命短是它的一个缺点。

考虑到应用需求、成本效益和产品的可靠性,在本次设计方案中选择了LCD1602显示屏。LCD1602的稳定性和成熟的技术,加上其在广泛的温度范围内的稳定显示能力,使它成为理想的选择。

2.3.4温度传感器的选择

DS18B20:DS18B20是一款数字化的测温器件,采用了数字温度传感技术,通过一根单根总线即可实现温度数据的传输和控制。这种特殊的设计使得DS18B20在各种环境中都能准确地测量温度,并与其他设备进行无缝连接。其测温范围广泛,从-55摄氏度到+125摄氏度,可以满足大多数应用场景的需求。同时,它的测量精度非常高,可以达到0.5摄氏度,能够满足对温度变化较为敏感的应用。

PT1000: PT100是一种基于电阻的温度传感器,其工作原理是利用铂电阻的温度特性来测量温度。通过测量传感器的电阻值,可以推算出所测温度的数值。PT100具有非常高的测量精度,测量误差可以控制在很小的范围内。同时响应速度较快,可以快速地对温度变化做出反应。可以应对各种工况下的温度测量需求。

通过两种传感器的比对,DS18B20具有数据结构简单且测量范围适中的优势,本次选用DS18B20温度传感器。

2.3.5 CO2传感器的选择

  CO2变送器:该设备内集成了CO2传感器和智能计算模组,能够以数字方式记录CO2浓度,并将其存储在智能模组中。它通过使用485通讯协议,将气体浓度信息外部输出,并通过通讯接口进行读取。其测量范围为0-5000ppm,并需要使用12V的电源进行供电。为了实现精确的测量,应在使用前让其静置12小时。然而,这种设备的价格较高。

RBY-CO2传感器:传感器通过电化学气体探头和计算电路来测量CO2气体的浓度,其结果以模拟电压的形式呈现。它具有连续的模拟输出特性,测量精度相对准确,并可以通过AD转换为数字量。在使用时,需要进行电预热,通常这需要几分钟的时间来达到预热平衡,然后开始输出气体浓度。

考虑到使用便利性和价格因素,本次设计选择了RBY-CO2传感器来完成CO2浓度的采集。

2.3.6 光照模块的选择

光敏电阻模块:光敏电阻是一种电子组件,它能够通过改变自己的电阻值来快速响应周围光线的强度变化[15]。当受到光照时,它的阻值会显著地改变,进而引起细微的电压变化。为了精确捕捉和分析这些细微的电压变化,常采用放大电路来增强这些信号。这样的电路能够把微小的电压信号扩大成更强的电压信号,便于进一步的数据处理和分析工作。然后,通过模拟到数字(AD)转换,这些放大的模拟信号被转换成数字形式,使得能够基于数字信号准确地测定光照的强度。

BH1750光照模块:该模块运用了数字化的集成方式来完成光照测量。在模块内部,设有专门的测光元件,当这些元件接收到光线时,内部的数字元件就会开始测量光照值[16]。测量结果会被存储在数字寄存器中,以便以后的使用。模块采用了数字接口形式来发送光照的数字值,确保了数据传输的准确性和可靠性。这种设计使得该模块能够以高精度和高稳定性来测量光照。此外,该模块采用了IIC通讯协议,可以有效地实现与智能器件的数据通讯。通过这种协议,可以从模块中读取光照数值,从而了解当前的光照情况。

本次设计基于设计简单、测量准确的角度出发,选择光敏电阻实现光照值的测量。

2.3.7 湿度模块的选择

方案一:基于电阻的湿度感应器。这种湿度感应器利用接触板进行湿度侦测,其中接触板由双面涂层的FR-04镍镀材料制成,以确保在安装时防止误操作。它可以从两面进行检测,当侦测到湿度时,会根据接触到湿度的面积来计算电阻值。侦测到的信号通过传输板电路进行比较,从而判断湿度信号的输出。

方案二:基于电容的湿度检测器。这种湿度检测器使用特别设计的、经过沉金工艺处理的采集板进行湿度侦测,其工作电压为12V。湿度采集后,通过485信号对外输出。采集板拥有防腐蚀功能。在使用时,需要占用微控制器的一路串口资源。

经过比较这两种湿度感应器的设计选项,选择了基于电阻的湿度感应器作为本次设计的实施方式。

2.3.8无线传感器的选择

USR-WIFI模块:USR-WIFI模块是一种具有网页参数配置功能的WIFI通讯模块。它采用了标准的802.11b/g/n网络通讯协议,可以实现与以太网的数据交互[17]。该模块通过高度智能化的网页设置功能,无需编程配置。设置的工作参数可以保存在模块内部,并且不会丢失。在应用时,可以通过串口与单片机进行通信。该模块具有简单的参数配置和便捷的应用特点。

蓝牙模块:蓝牙模块采用IEEE802.15协议与手机和其他蓝牙设备进行无线数据通信。它使用2.4G通信频段,带宽为1Mb/s,在信号连接距离内,数据通信非常稳定,没有数据丢失的问题。它的数据通信接口是串口TTL电平,非常易于使用,具有即插即用的特点,非常简单方便。

考虑本次设计实现的功能,采用WIFI传感器模块实现无线数据传输功能。

3 系统硬件设计

3.1单片机最小系统

在本次设计中,选择了STC89C52单片机作为核心处理单元。该单片机基于经典的8051架构,采用8位数据处理结构,能够有效地执行控制指令和数据处理任务。STC89C52以其稳定的性能和丰富的外设接口,特别适合于小型智能电子设备的应用。为了构建STC89C52的最小系统电路,设计了包含合适电源供应、复位电路和必要的晶振电路的硬件平台。如图2-1所示。

3-1  STC89C52最小系统图

图示的设计展示了单片机最小系统的基本组成,该系统由关键的几个部分构成,每个部分都承担着不可或缺的作用,共同保障单片机能够有效地执行预定任务。单片机主体是系统的核心,负责执行存储在其内部或外部的程序代码,处理数据,并控制其他电子元件。电源接口(VCC)为单片机及其外围电路提供所需的电源。设计中的VCC电压接入40号引脚,供应稳定的电源是整个系统能够正常工作的前提。复位电路中包括一个0.1μF的电容和一个4.7KΩ的电阻,这个电路接入单片机的第9号引脚。复位电路的作用是在给单片机通电的瞬间,利用电容充电产生的瞬时高电平信号,使单片机的程序计数器归零,从而确保程序能够从初始地址(0x00)开始执行。电容充满电后,断开了VCC和复位引脚之间的直接连接,随后通过4.7KΩ电阻将复位引脚接地,形成低电平,完成复位动作,单片机此时可以进入正常工作状态。晶振电路由11.0592MHz的无源晶振和两个30pF的电容构成,连接在单片机的18(XTAL2)和19(XTAL1)引脚。晶振电路的主要职责是提供一个稳定的时钟信号,这个时钟信号作为单片机操作的时间基准,确保单片机以预定的频率稳定运行。晶振的选型对于确定系统的运行速度和处理能力具有决定性影响。

3.2 LCD1602显示电路设计

LCD1602显示屏作为一款经典的显示设备,由液晶显示部分和背光系统两大核心组成,液晶显示部分主要负责呈现预设的文本和图形信息。它能够显示两行信息,每行最多16个字符,总共能显示32个字符或数字。这种显示能力满足了大多数基础应用的需求。字符和数字的显示遵循ASCII编码规则,便于从字符库中调取相应的字形进行显示。背光系统则提供必要的光源,以确保在低光环境下用户仍能清晰读取显示内容。背光的亮度和色温对于提高显示屏的可读性至关重要。

在硬件连接方面,LCD1602采用了16脚的接口设计,这些脚位包括供电引脚、数据通信引脚、对比度调节引脚以及背光控制引脚:VSS和VCC引脚负责为显示屏提供电源。LED-A和LED-K引脚则连接至电源的正负极,用于激活背光,增强显示效果。V0引脚通过连接一个外部的10KΩ变阻器,实现对显示对比度的精细调节,以适应不同的观看环境。控制引脚RS、RW和E则通过SPI(串行外设接口)协议接收控制命令和数据,决定显示屏的工作模式和显示内容。数据引脚D0-D7负责接收要显示的字符和数字数据。如图3-2所示。

图3-2  LCD602液晶电路图

3.3 按键模块电路设计

按键信号的检测机制通常依赖于电路的物理连接状态改变,从而引发电平信号的变化。按键一端连接至单片机的某个引脚,另一端连接至地线(GND)。这种连接方式在电路设计中被称为“低电平有效”,意即当按键被按下时,它会将单片机的引脚电平从高电平拉至低电平,从而生成一个可被单片机检测和识别的信号。按键未被按下时,按键两端没有形成导通状态,即引脚为高电平。当按键被按下,其内部结构闭合,形成一个直接的连接通路,单片机的引脚因此与GND直连。这个动作导致了引脚电平的直接下拉至低电平,单片机便可以通过检测到这一电平变化来确认按键被激活,进一步执行预设的功能或命令。如图3-3所示。

图3-3  按键电路图

3.4 温度传感器电路设计

DS18B20温度传感器以其宽广的测量范围而受到推崇。传感器只需将数据引脚连接至单片机的标准IO口即可轻松完成配置。为了保障通讯的可靠性,连接过程中须在数据线路中串接一个4.7K欧姆的上拉电阻,这样做可以确保在没有数据传输时,数据引脚保持在高电平状态,从而有效地保证了低电平信号的准确识别和输出。如图3-4所示。

图3-4  温度电路图

3.5 CO2传感器电路设计

该传感器模块设计为在5V电源供电下正常运作。接入5V电源后,模块会立即进入预热状态。预热大约需要5分钟时间,这一阶段内的测量数据并不准确,因此不能用于实际分析。预热完成之后,传感器便进入可靠的气体检测模式。在进入正式检测阶段后,传感器通过其模拟输出引脚,根据检测到的气体浓度变化,输出相应的模拟电压值。这些模拟电压数据随后可以通过模数转换器(AD模块)转换成数字化的气体浓度值,便于进一步的处理和分析。如图3-5所示。

图3-5  CO2电路图

3.6 光照传感器电路设计

光照测量使用5516的光敏电阻模块作为核心的感光元件。它集成了采样电路电阻以及比较电路,这两大核心组件能够处理光照强度引起的电阻变化。能直接将采样电阻产生的模拟电压信号以及比较电路的数字控制信号导出至模块外的插针引脚,提供了方便快捷的外部接入接口。为了充分利用模块提供的模拟电压信号,设计中接入一个外部的模拟到数字(AD)转换模块,将光照强度产生的模拟信号转换为数字信号,以便于数字化处理和分析,实现精准的光照强度监测。此外,光敏电阻模块还提供了可直接使用的比较位控信号。如图3-6所示。

图3-6  光照电路图

3.7 湿度传感器电路设计

在本设计中,使用的湿度传感器模块是YL-69型湿度电阻模块。模块内部集成了采样极板电路和比较电路,从而将采样极板的电压模拟量信号和比较电路的位控信号直接输出到插针引脚。这样做可以提供外部信号接入的端口。在使用模拟端口时,需要将其连接到外部的AD模块,以实现湿度模拟量到数字量的转换。如图3-6所示。

图3-6  湿度电路图

3.8 WIFI电路设计

在本次的WIFI模块中使用了AP模块。模块能够通过透传功能,实现单片机和APP的数据交流。连接单片机和WIFI模块的方式是采用串口连接。在WIFI模块的硬件电路设计过程中,需要用到4个引脚来执行透传功能。为了供电给WIFI模块,将电源引脚接入5V。同时,为了实现单片机与WIFI模块之间的双向通信,将数据通信引脚接入单片机的串口引脚。WIFI模块具有内置无线天线,它可以通过网络协议完成与手机APP之间的无线数据双向传输。因此,作为中间节点设备的WIFI模块能够实现手机APP与单片机的数据双向通信。如图3-7所示。

图3-7  WIFI电路图

3.9 水泵驱动电路设计

水泵使用继电器完成驱动控制,继电器是一种极其有效的驱动隔离设备的控制器件,它通过分区控制其控制端和驱动端,从而可成功地驱动高功率的负载设备,同时不对继电器的控制回路产生影响。使用单片机的IO引脚进行驱动三极管间接驱动线圈通电。单片机通过控制三极管导通,从而完成继电器线圈的通电工作。如图3-8所示。

图3-8  水泵驱动电路图

3.10 风机电路设计

风机利用直流电机进行驱动,直流电机是一种高速直驱电机,在本场景中使用了配备L9110驱动芯片的小型直流电机进行驱动。L9110驱动器的“H”型电路具有4个外接端子,包括电源、控制端A和控制端B。在使用过程中,可以选择控制端A或控制端B来驱动电机。如图3-9所示。

图3-9  风机控制电路图

4 系统软件设计

4.1系统程序设计软件

在本次项目中,选择了KEIL作为软件开发工具,它是一款功能强大且广泛应用的集成开发环境(IDE),用于单片机的程序设计和代码编译。KEIL支持多个品牌和型号的单片机,包括但不限于AT系列、STC系列、STM32系列以及AVR系列等,这使其成为了一种适用于各种单片机项目的通用开发平台。KEIL的用户界面设计简洁直观,这一特性使其在单片机开发领域广受欢迎。软件内嵌有众多单片机的库文件,允许开发者直接调用这些文件,从而简化开发过程。当启动KEIL软件后,用户将看到顶部的菜单栏,这里集成了文件、编辑、查找、功能等多种选项,方便开发者创建和管理工程项目。这种高度集成和用户友好的设计,不仅提高了开发效率,也降低了编程的复杂性,KEIL图如4-1所示。

图4-1  KEIL图

在程序开发的起始阶段,建立一个代码工程是首要步骤。这一过程可以通过使用KEIL软件来完成。操作方法是,通过软件界面顶部的“Project”选项进入“New Project”菜单,此处允许我们启动一个新的设计项目。在创建新工程的过程中,KEIL引导用户输入工程名称、选择适合的单片机系列及型号,并创建必要的C语言文件。完成这些步骤后,工程建立完成,随即可以进入到编程阶段,开始撰写所需的程序代码。代码图如4-2所示。

图4-2  代码图

程序的架构通常由几个关键部分构成,包括承载主逻辑的主函数C文件、实现特定功能的函数C文件,以及单片机特定的库文件等。在程序的编写与设计阶段,为了确保代码的正确性,开发者应该在实现每个功能模块后立即进行编译,这样有助于及时发现并纠正功能性的错误。编译过程会输出错误的具体数量,并允许开发者直接定位到问题代码行,便于进行修改。当编译结果显示没有错误时,意味着代码通过了编译检查,此时便可以生成可供单片机执行的HEX文件。编译图如4-3所示。

图4-3  编译图

4.2主程序设计

设计运行架构是构建任何软件或硬件系统的关键步骤,它确保了系统各部分协同工作以达成预定目标。对于嵌入式系统项目而言,这一过程的核心在于精心规划主程序流程,该流程详细定义了系统功能的执行顺序和具体的执行逻辑。主程序的入口点 - main 函数,main 函数作为程序的执行入口。微控制器在重置或电源上电后,会自动定位并执行main函数中的代码。因此,main函数内部的代码顺序和逻辑决定了整个系统的行为。在main函数的最初部分,通常会进行必要的参数定义和初始化操作。这些初始化函数,既可以是用户定义的,用于设定系统功能模块的初始状态,系统初始化之后的操作:进入主循环结构,它不断检查系统状态,响应用户输入,执行业务逻辑,更新显示内容等。主程序流程图如图4-4所示。

图4-4  主程序流程图

4.3显示程序设计

显示器涉及到的关键步骤主要围绕着显示屏的初始化和内容显示进行。这一过程确保了LCD屏能够以正确的格式和位置展示信息,是实现用户界面交互的基础。初始化阶段涵盖了显示屏基本设置的配置,确保LCD1602能够按预期工作。初始化的主要任务包括使能显示功能,发送一个使能信号激活显示器的显示功能。之后配置显示参数,包括字体大小、显示的行数和列数。一旦完成初始化,下一步就是根据需要将具体的数据或文本显示在屏幕上。屏幕通过其数据引脚接收来自微控制器的信息,根据初始化阶段设定的参数,将接收到的数据显示在指定位置。如图4-5所示。

图4-5  LCD显示流程图

4.4按键程序设计

按键功能是通过用户交互来调整设备或控制设备。在本次设计中,按键被用于调整内部参数,充分发挥其在提供实时用户输入方面的作用。按键功能的实现依赖于外部的物理按键,用户的交互(如按压)产生电子信号,被单片机识别并作为程序指令的触发点。程序通过在主循环中持续检查按键的状态来实现实时响应,确保在用户按下按键的那一刻能够立即识别并处理按键事件。当初次检测到按键活动时,并不立即执行功能,而是进入一个短暂的延时期,在延时后,程序再次检查按键状态,确认按键是否仍然被激活,这一步是消除抖动的关键,确保按键操作的真实性和准确性。如4-6所示。

图4-6  按键流程图

4.5温度检测程序设计

程序执行DS18B20温度传感器流程如下:首先进行初始化,并设定温度器件的数据引脚,这是因为使用的是单总线的协议方式,需要配置其数据引脚的输入和输出模式。接下来,需要确定正在读取的器件地址在单总线的数据通讯中。一旦器件地址确定,进一步确定温度数据的寄存器地址。所有这些都被找寻并确定后,发送一个命令以读取温度数据,然后接收实时的温度值。在完成这一切后,程序执行结束。如4-7所示。

图4-7  温度检测流程图

4.6 CO2检测程序设计

检测有害气体的过程通过模拟量输出进行,然后通过AD功能将这些模拟量值转换为数字量。一旦启动AD功能,模拟数据的转换就开始了。在转换结束后,这些数据则会储存在程序变量里。如4-8所示。

图4-8  CO2检测流程图

4.7 光照检测程序设计

光照测量是通过应用光敏电阻来完成的,通过感知光照并将其转化为可测量的电阻值。在接收到光照之后,光敏电阻会生成一个对应的模拟电压值,并利用AD(模拟数字)转换功能,可以将模拟电阻值转化为的数字值。当光照测量程序开始运行后,首先进行光照检测。在这个过程中,来自光敏电阻的模拟电压值会被输入到单片机中的AD转换器。如4-9所示。

图4-9  光照检测流程图

4.8 湿度检测程序设计

检测土壤湿度的过程通过模拟量输出进行,然后湿度通过AD功能将这些模拟量值转换为数字量。在转换结束后,这些湿度数据则会储存在程序变量里供程序使用。如4-10所示。

图4-10  湿度检测流程图

4.9 WIFI程序设计

设计利用DT-06模块实现了WIFI功能,使得单片机可以与以太网进行数据传输。程序利用串口进行与WIFI模块的链接,并通过串口设定发送模式。一旦WIFI模块与手机成功建立连接,数据发送便开始进行。如图4-11所示。

图4-11  WIFI流程图

4.10水泵驱动程序设计

水泵通过继电器实现开关作用控制水泵工作,继电器会在接收到单片机发出的低电平信号时进行操作。如图4-12所示。

图4-12  水泵驱动流程图

4.11风机驱动程序设计

当检测发生CO2浓度高或者温度过高时,单片机控制L9110驱动引脚发出低电平信号,实现风机启动功能。如图4-13所示。

图4-13  风机驱动流程图

5 系统仿真调试

5.1仿真设计

仿真设计旨在验证设计功能的正确性,通过模拟实验来预防实际应用中可能出现的故障和不可逆损害。在这一过程中,采用了PROTEUS软件进行设备仿真。该软件含有丰富的元件库,允许设计师选择合适的元件进行电路连接模拟。因此,PROTEUS成为了在仿真过程中不可或缺的工具。PROTEUS软件提供了一个清晰且直观的用户界面。顶部菜单栏提供文本编译和基本设置选项,以便用户优化工作环境。左侧工具栏收录了常用的绘图工具,方便日常使用。仿真的启动和停止控制按钮位于界面底部,使用户能够轻松地开始和结束仿真过程。如图5-1所示。

图5-1  Proteus仿真界面图

在设计工具栏的左边完成电子设备的搜索和选择。点击 ‘P’ 图标按钮,然后在关键字栏中输入电子设备的名称,寻找相应的设备型号。找到后,将其拖动到绘图界面,根据其功能放置在合适的位置。然后,使用工具栏中的连线工具,通过导线将所有设备连接起来,完成仿真图的设计。如图5-2所示。

图5-2  仿真设计图

5.2仿真调试

在单片机上载入程序HEX文件后,可以通过操作仿真软件中的运行按钮来启动仿真功能,从而开始全面调试设计的功能。首先我们要着手调试的功能是显示功能,它在整个系统中最为直观,就像是一个“对话窗口”。成功调试显示功能后,可以为后续的调试工作提供基础,因为所有的运行参数都通过显示功能来展示。因此,我们将调试显示功能定为优先的调试目标经过通电后的观察,屏幕上可以显示数据,说明显示功能正确。如图5-3所示。

图5-3  显示错误

之后调整温度数据,当温度高于30摄氏度后,风机启动。如图5-4所示。

图5-4  温度功能调试

温度调试完毕后,进行水泵功能调试,通过湿度传感器调整湿度值,当湿度低于35%后,风机启动。如图5-5所示。

图5-5  水泵功能调试

之后对光照和CO2浓度进行调试,CO2浓度过高时,风机转动,光照较低时,LED灯补光。如图5-6所示。

图5-6  灯光风机功能调试

最后进行WIFI功能调试,仿真设计中利用虚拟串口完成调试,开启串口软件,可以在界面内看到上传的数据,并通过发送命令码42控制风机,命令码43控制水泵,命令码44控制LED灯。如图5-7所示。

图5-7  模拟WIFI功能调试

5.3调试结果

在模拟测试的结果反馈中,可以观察到,调整各部分传感器的读数会在显示屏上反映出相应的测试数据,这证明了传感器采集功能运行良好。调整当检测到的数据超过预设值时,各部分执行器件可以按照预定功能动作,完成加水、通风以及补光等功能。此外,通过串口模拟WIFI功能测试,可以完成数据的串口显示以及手动下的串口控制功能。因此,仿真设计已经顺利达成了所有预设的目标,这充分证明了该设计的成功。

6 结论

本次设计的项目通过单片机和传感器的共同作用,成功实现了智能检测与控制功能。实际运行结果表明,从数据的智能采集到执行器件的自动控制,都达到了预期的目标。采集到的数据稳定且可靠,执行机构响应迅速,未出现程序逻辑故障。从理论上讲,该设计利用传感器提升了数据监测的灵敏度和准确性,而单片机的引入则大大增强了系统的智能控制能力。单片机的高速处理优势确保了对采集数据的即时和准确分析,保障了执行指令的精确无误。从实用性角度出发,这种智能化设计简化了操作流程,使得使用更为便捷,同时带来了能源的有效节约,对于促进节能减排具有实际意义。在设计阶段,首先对市场需求进行了细致分析,明确了本次设计的项目在当前背景下的应用价值,并针对用户需求提出了具体的设计目标,有效改善了设备的性能短板。在总体设计方案上,对总体的功能进行了详细梳理,比较了不同的技术方案,确立了实施策略,并在此基础上完成了电路设计,明确了电路各部分的功能实现方法及器件连接细节。软件设计阶段,完成了逻辑流程的规划和编码工作,对关键流程及其子流程进行了细化,确保了程序运行的逻辑性和高效性。在随后的调试过程中,对发现的问题进行了及时修正,确保了系统在实际应用中达到了设计预期。

附录

附录一

附录二

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值