版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
绪论1.1选题背景 随着我国经济快速稳定的发展,在物质方面得到了极大的改善和丰富后,人们对生活质量追求越来越高[1]。高楼越建越高,建筑密度变得越来越大,交通错综复杂,城市化水平显著提高。但是,许多问题也接踵而来,空气污染、噪音污染、水资源污染、城市热岛效应等各种各样的生态问题日益严重,可供绿化的土地稀缺,人们生活在缺少绿色的环境里。在如今快节奏的时代背景下[2],不同年龄段的人都面临着各种各样的压力,人们对于缓解心理压力的需求也更加迫切。 为了寻找缓解心理压力的方法,人们把目光投向绿色植物,投向自然界,也就是我们人类诞生以来最熟悉的环境。自然疗法有益于人的身心健康,但是在城市生活中我们很难接触到大面积的绿色环境。所以人们对自然生态的渴求逐渐强烈[3],开始在意自身居住环境的绿化,比如公园、花卉、盆栽等,让我们即便身处城市也能感受到自然。现在许多家庭和温室大棚都种植各种植物,不仅可以美化环境、净化空气,还能让人们在高压的社会环境中缓解身心的疲惫。但是在城市的快节奏生活下,大多数人没有太多的时间去打理植物。有时候也因为对植物的生长习性缺乏了解,不能按照特定的规律进行浇水,导致植物生长不好。 由于科学技术的飞速发展,使得上述问题能够得到解决,如采用单片机技术进行自动化控制。家庭以及工业种植中开始应用传感器技术、嵌入式技术、自动控制技术,这些先进的技术使得效率大大提高,让机器来解决问题,也降低了出错率。单片机还可以与互联网相结合,使产品实现物联网,通过技术手段实现物与物的联系。万物互联成为未来发展的必然趋势,正在改变人们的生活[4]。1.2选题意义 随着我国产业结构的不断调整和种植业不断发展,对环境的要求越来越严格,对智能化设备的要求也越来越高。目前,在家用方面的花架只有能自动加水的花架,使用简单的自动补水装置,一台装置只能控制一盆,存在复杂、易碎、不易管理等缺点,无法对不同的植物进行养护和种值。在大规模的种植上,一般的农户大都数都是自己搭建较为简易的大棚,结构简单、智能化较低、不能够根据温湿度变化进行浇水,很难保证植物能在适宜的环境下生长。而且在传统方式下,植物的养护需要充足的时间和相关的知识。如果打理不当,不能按照不同植物的生长习性和规律进行浇水,很容易导致植物生长不良甚至枯萎。虽然市场上也有某些大型企业制造的智能控制系统,但是这些产品价格昂贵,大多数人难以负担的起。而且对用户也有一定的技术要求,需要能看懂相应的操作手册,较为繁琐。因此,研究一款操作简单、价格便宜、实用性强的智能花架具有极为重要的现实意义。它具有如下几点意义:智能化。它利用单片机为核心控制器来实现检测植物环境因素,对各个模块进行控制,整个过程无需人为干预,并且精准高效。节约资源。整个系统根据设置好的程序运行,定时定量对植物进行浇水,相比于人工能避免浪费水资源。3、可大规模制造。整个系统仅使用单片机、外设模块和花架构成。成本低、 制造难度小,稳定性强。现在全球的种植业已经发展到了一个新的高度,越来越多的自动化技术应用于种植业[5],而且种植业将不断迈入智能化阶段。未来在这一领域,还将快速发展并且拥有巨大的发展空间。1.3论文内容与结构 论文根据现实社会需要设计了智能花架,智能花架基于高性能的ARMCortex-M3处理器的STM32单片机,通过外接传感器、显示屏、WIFI传输模块等硬件,实现检测温湿度、实时显示、浇水等目的。本文首先对现实的需求进行分析,从而提出了设计智能花架的构思,并进一步研究,提出了相应的解决方案。根据方案设计了智能花架的控制系统。最后通过实验表明,该智能花架方便有效,稳定性好。 本文分为五个部分,共五章: 第一章:介绍了现实背景以及设计智能花架的意义。 第二章:介绍了系统的总体结构设计、硬件组成以及工作原理,包括STM32单片机的介绍;DHT11温湿度传感器的介绍与以及电路连接;FC-28土壤湿度传感器的工作原理以及电路连接;LED的原理图和电路连接;蜂鸣器的电路图和连接;OLED显示原理和电路连接方法;ESP8266WIFI模块的引脚说明和连接;STM32单片机和继电器、水阀的电路连接。 第三章:介绍了系统软件设计的主要流程,包括整个系统的工作流程;开发环境的搭建;DHT11传感器的初始化流程;FC-28传感器和ADC的初始化并且通过ADC获取数据的流程;LED的初始化流程;蜂鸣器的初始化流程;SSD1306的初始化流程;生成字模并且通过编写代码将汉字显示在OLED显示屏上的流程;通过AT指令配置ESP8266WIFI模块的流程;OneNET云平台环境的搭建;通过MQTT协议传输数据到OneNET云平台的流程;判断温湿度数据并通过I/O口输出高电平使继电器开关闭合打开水阀浇水的流程。 第四章:包括对本设计系统的调试和实验过程,其中有包括检测温湿度数据的准确性,检测OLED显示的准确性,检测数据是否能够上传到移动云OneNET并进行查看,是否能正确判断发出警告并完成整个浇水的流程。 第五章:主要是对本次设计的成果进行展示以及总结,对系统的缺点或不足进行详细的阐明,并分析如何改善。
智能花架硬件系统2.1总体结构设计 控制模块为ALIENTEKMiniSTM32开发板,芯片型号为STM32F103RCT6。显示模块选用OLED显示屏,传感器选用DHT11温湿度检测传感器和FC-28土壤湿度传感器,WIFI模块选用ESP8266,开关控制模块使用继电器控制水阀。图2-1为本系统各部分的构成框图:图2-SEQ图2-\*ARABIC1系统总体框图 STM32单片机接入电源后,整个系统开始运行。此时单片机不断地接受并处理传感器采集到的数据,并显示在OLED上。同时不断向OneNET云平台传输数据。整个判断过程为: 当检测到空气温度过高或者土壤湿度过低时,单片机就会控制相应的I/O口输出高低电平,低电平来控制LED1闪烁,高电平控制蜂鸣器发出警告以及使继电器开关闭合,打开水阀实现浇水。2.2STM32单片机模块 本文设计的系统基于STM32单片机,它搭载ARMCortex-M内核,专门为那些高性能、低成本的嵌入式应用而设计。具有很强的扩展能力,易于移植[6]。其I/O口丰富,能够满足本次设计外接模块的需求。其外观图与原理图如图2-2,图2-3所示。图2-SEQ图2-\*ARABIC2STM32RCT6芯片外观图图2-SEQ图2-\*ARABIC3STM32RCT6原理图2.2.1STM32F103RCT6芯片概述 STM32F103RCT6芯片是意法半导体公司研制的一款高性能、低价格、低功耗的芯片,其内部集成了时钟、串口、定时器、ADC等资源[7]。它的时钟频率达到72MHz[8]。因此,在设计的数据运算处理方面,能够高效、快速地完成读取、计算和传输工作,能精确的对数据进行判断,这也是保证设计系统稳定性的原因之一。智能花架系统设计使用的开发板如图2-4所示。图2-SEQ图2-\*ARABIC4ALIENTEKMiniSTM32开发板2.3传感器模块 智能花架设计所用到的传感器有DHT11和FC-28传感器。DHT11传感器用于检测温度和空气湿度,FC-28传感器用于检测土壤湿度。这两款传感器的价格实惠,在软件设计方面,时序简单,更容易编写代码。2.3.1DHT11温湿度传感器 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器[9]。该产品具有品质好、响应快、能更好抵挡外界干扰、价格便宜、性能强等优点。图2-5为DHT11与MCU的连线。图2-SEQ图2-\*ARABIC5DHT11与MCU相连 由于在STM32F103上并没有直接相对应的接口,所以我们必须利用杜邦线外外接。VDD与单片机的5V相连,GND与单片机的GND相连,DATA与单片机的PB14(GPIO口可以自己选择,编写代码的时候只需要注意相应IO口)相连。DATA端口用于STM32单片机与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间为4ms左右[10]。DHT11与单片机连接如图2-6所示。图2-SEQ图2-\*ARABIC6DHT11与单片机相接 2.3.2FC-28土壤湿度传感器 设计所用的土壤湿度传感器型号为FC-28。该传感器是利用的水分不一样时对传感器的电阻值影响不一样,导致传感器的电阻值发生变化,由此可以得出土壤的水分值[11]。它的工作电压是3.3-5V,表面积大,可以提高导电性能。 为了方便使用这个传感器,还外加了一个LM393比较器。板上有一个PWR-LED(电源指示灯)和一个DO-LED(工作指示灯)。当土壤比较干的时候,DO-LED关。当土壤比较湿的时候,这时DO-LED变亮(水分过大)。 FC-28土壤湿度传感器的引脚接到LM393的+引脚和-引脚,如图2-7所示。VCC接STM32的3.3V,GND接STM32的GND,AO与STM32的PA1相连,DO不连(DO主要用于超出范围报警)。FC-28插入到土壤中获得到一个模拟信号,通过LM393转化为数字信号。FC-28和LM393接线图如图2-8所示。图2-SEQ图2-\*ARABIC7FC-28接LM393图2-SEQ图2-\*ARABIC8土壤检测部分总的接线2.4LED模块 设计所用的ALIENTEKMiniSTM32开发板上集成了3个LED指示灯。因为软件设计只需要两个LED,所以用开发版上集成的两个LED就可以满足需求。在使用手册上有相应驱动代码,减少了设计的时间。其原理图如图2-9所示。图2-SEQ图2-\*ARABIC9LED原理图 其中PWR为STM32开发板的电源指示灯。LED0和LED1为低电平点亮。2.5蜂鸣器模块 因为ALIENTEKMiniSTM32开发板上并没有集成蜂鸣器,但是我们在实验的时候需要用到蜂鸣器发出警报,所以需要在开发板上通过杜邦线外接有源蜂鸣器。实物图如图2-10所示。图2-SEQ图2-\*ARABIC10蜂鸣器实物 有源蜂鸣器是以固定频率工作[12],高电平触发,电压越高,声音越大。蜂鸣器的电路图如图2-11所示。它有三个引脚,分别为VCC、GND、I/O,VCC接单片机的5V,GND接单片机的GND,I/O接单片机的PB8。图2-SEQ图2-\*ARABIC11蜂鸣器电路图2.6OLED模块 OLED(有机发光二极管)是一种高亮度、宽视觉、全固化的电致发光器件[13],相比于TFT和LCD屏,它的价格低廉、功耗低、体积小、IO口占用少。OLED不像LCD屏那样需要背光源,它可以自发光。由于分辨率高、对比度高、响应速度快等特点被应用与各个领域。 OLED显示屏尺寸大小为0.96寸,仅需3.3V电源供电,亮度高。ALIENTEKMiniSTM32开发板上有直接的OLED插口,无需杜邦线相连,简单方便。模块外观图2-12所示。图2-SEQ图2-\*ARABIC12OLED外观 OLED模块的控制器是SSD1306,该模块支持4种连接方式:8位6800并口、8位8080并口、IIC以及四线SPI等四种通信方式[14]。SSD1306的显存总共为128*64bit大小,每次写入按字节写入,在画点的时候,只要让对应显存的位置为1,就可以在OLED上点亮该点。2.7ESP8266WiFi模块 ESP8266系列芯片是乐鑫信息科技在2015年推出的WiFi芯片,EPS8266的集成度高、功耗低、使用方便使得它在物联网应用方面获得了极大的认可,是实现基于Wi-Fi远程控制最好选择[15]。ESP8266模块外观图如图2-13所示。图2-SEQ图2-\*ARABIC13ATK-ESP8266硬件外观图 在ESP8266模块外观图中,各引脚的详细描述如表2-1所示:表2-1ESP8266引脚说明引脚说明VCC电源(3.3-5V)GND电源地TXD模块串口发送脚RXD模块串口接收脚RST复位(低电平有效) 在硬件连接上,VCC接STM32单片机的3.3V供电,GND接STM32单片机的GND,RST接STM32单片机的PA4端口。STM32与ESP8266通讯使用串口2,将单片机温湿度数据传给ESP8266,所以TXD连接STM32单片机的PA3,RXD连接PA2。硬件连接如图2-14所示。图2-SEQ图2-\*ARABIC14ESP8266与STM32相连2.8开关控制模块 开关控制模块由继电器和水阀组成。水阀通过电线与继电器的公共端和常开端。继电器的VCC接单片机的5V,GND连单片机的GND,继电器的IN连接单片机的PB13。其连接图如图2-15所示。图2-SEQ图2-\*ARABIC15继电器与水阀
第三章智能花架控制系统软件设计3.1系统软件设计流程 系统的软件设计流程图如图3-1所示。硬件资源的初始化包括中断优先级的设置、延迟初始化、串口初始化、ADC初始化以及一些外接模块的初始化。网络初始化包括ESP8266的初始化以及WIFI的接入。 系统上电后,开始硬件和网络的初始化,当初始化完成后LED0会闪烁提醒,OLED屏幕开始显示汉字。之后进入循环,不断读取土壤湿度和空气温湿度数据,检测到的温湿度数据可以通过串口1在串口调试工具上显示,也会显示在OLED屏上。在程序中,我们定义了一个变量t。每循环一次,t的次数加1。当t的次数大于30时,即间隔时间为3秒,会把数据传输到OneNET云平台,再判断温湿度数值。如果t的次数未达到30次则直接进入温湿度数值的判断。当空气温度大于30度或者土壤湿度小于20%时,LED1闪烁且蜂鸣器发出警报,单片机端口输出高电平使得继电器开关闭合,打开水阀浇水。图3-SEQ图3-\*ARABIC1总体软件设计流程图3.2开发软件环境搭建 设计所用的编程软件为keil5,使用uVision5IDE集成开发环境,是目前针对ARM处理器,尤其是Cortex-M内核处理器的最佳开发工具[16]。 不同最初学习所用的51单片机,STM32有一套丰富的固件库。固件库就是函数的集合,调用固件库比操作寄存器更加方便。STM32资源丰富,如果直接操作寄存器十分麻烦。所以,选择用固件库开发,可以缩短开发周期,提高开发效率,降低开发难度[17]。 接下来将介绍如何新建工程,以及如何移植模块。 新建工程的流程为:新建工程——工程命名——选择芯片——工程下新建三个文件夹USER(存放用户自己的文件)、CORE(存放启动文件与内核函数)、stm32f10x_FWLIB(存放库函数文件)——OptionsOfTarget——在c/c++下添加头文件地址。搭建好之后如图3-2所示。图3-SEQ图3-\*ARABIC2开发环境搭建 之后添加模块的话只需要添加.c文件和.h文件,在c/c++里添加.h文件的地址,在main.c文件中调用就可以。这样使我们的程序更加清晰易懂。3.3传感器软件设计3.3.1DHT11温湿度传感器软件设计 因为DHT11温湿度传感器的DATA口和单片机的PB14相连,所以需要对PB14端口口进行初始化,主要包括使能PB14端口的时钟,设置I/O口的输出模式为推挽输出(推挽输出可以输出强高低电平),设置端口的速度为50MHz,并复位DHT11,最后用函数DHT11_Check()检查DHT11正常与否。复位DHT11的函数DHT11_Rst()以及检测DHT11存在的函数DHT11_Check()中有对总线的操作,DHT11的初始化流程图如图3-3所示。图3-SEQ图3-\*ARABIC3DHT11初始化 DHT11传感器的通讯过程如图3-4所示。总线空闲状态为高电平,单片机把总线拉低等待DHT11响应,单片机把总线拉低必须大于18ms,保证DHT11能检测到起始信号。单片机发送开始信号结束后,延时等待20-40us。当DHT11接收到单片机的开始信号后,发送80us低电平响应信号。等待DHT11的80us低电平信号结束,然后判断DHT11是否发出80us的高电平;如果是,即可开始采集数据[18]。图3-SEQ图3-\*ARABIC4DHT11通讯过程3.3.2FC-28土壤湿度传感器软件设计 由于FC-28土壤湿度传感器的AO引脚的输出信号为模拟信号,在2.3.2小节中有相关介绍,所以在FC-28的软件设计部分需要ADC模块。 STM32F103RCT6芯片有3个ADC功能,本设计需要用到STM32的ADC1,并将PA1作为模拟输入口。首先对ADC1进行初始化,包括GPIOA和ADC时钟开启,设置分频因子为6、复位和使能ADC1,开启AD校准。初始化的程序设计流程图如图3-5所示。图3-SEQ图3-\*ARABIC5ADC初始化 接下来要获取ADC1的数值。设置ADC1采样时间,使能软件转换启动功能,然后由标志位来判断转换是否结束,最后返回ADC1规则组的转换结果,取多次平均值后返回到主函数。如图3-6所示。图3-SEQ图3-\*ARABIC6获取数值3.4LED软件设计 ALIENTEKMiniSTM32开发板上集成了设计所需要的LED0和LED1,LED0和LED1分别接在开发板的PA8和PD2端口。对PA8和PD2的初始化需要先使能PD和PA的时钟,再将PA8和PD2设为推挽输出,端口速度为50MHz。由于PA8和PD2都是低电平点亮,所以一开始需要将两个端口设为高电平。LED的初始化如图3-7所示。图3-SEQ图3-\*ARABIC7LED初始化3.5蜂鸣器软件设计 ALIENTEKMiniSTM32开发板上没有集成蜂鸣器,所以得用杜邦线将蜂鸣器的IO与PB8相连。软件设计部分与LED部分大致相同,初始化的端口改为PB8。因为蜂鸣器是高电平触发,所以在初始化的时候要让PB8为低电平。蜂鸣器初始化流程图如图3-8所示。图3-SEQ图3-\*ARABIC8蜂鸣器初始化3.6OLED软件设计 首先对OLED模块的驱动ICSSD1306进行初始化。先复位SSD1306,再对SSD1306序列初始化,开启显示功能。清屏之后就可以开始显示。SSD1306的初始化流程如图3-9所示。图3-SEQ图3-\*ARABIC9SSD1306初始化 因为我们需要在OLED上显示汉字,所以我们必须生成新的字模,之后再用相关的函数调用(在程序中汉字显示的函数为OLED_Show_Font)。新建字模用PCtoLCD2002软件,如图3-10所示。图3-SEQ图3-\*ARABIC10新建字模 接下来要在OLED屏幕上显示,只要在主函数调用显示字符串的函数OLED_ShowString()和显示汉字的函数OLED_Show_Font()就可以在OLED屏幕上分别显示字符串和汉字。 显示汉字和显示字符串的函数都必须先选择好坐标,才能在该坐标之后进行显示。显示字符串的函数选择好字体大小之后先判断是否为非法字符,如果不是非法字符,就调用字符串字库中相应字符的点阵,之后OLED上画点显示。而由于汉字的字数很多,不能够建立全部字模。所以在汉字字库中只存在需要用到的汉字的字模。我们选择不同的编号就可以获得不同的点阵编码。显示字符串和显示汉字的流程如3-11和3-12所示。图3-SEQ图3-\*ARABIC11显示字符串图3-SEQ图3-\*ARABIC12显示汉字3.7WiFi软件设计 在这一部分,我们需要将STM32通过串口2连接ATK-ESP8266,ATK-ESP8266再通过MQTT协议将温湿度数据传输至OnenNet云平台。所以我们要介绍STM32与ATK-ESP8266连接的软件部分;OneNET云平台环境配置;ATK-ESP8266通过MQTT协议将温湿度数据传输至OnenNet云平台。3.7.1STM32与ATK-ESP8266连接 因为ESP8266与STM32单片机通过杜邦线相连,所以需要对PA2和PA3初始化。首先启用PA的时钟。对PA2和PA3进行端口配置,PA2连接的是ESP8266的RXD(接收)引脚,所以设为推挽输出,速度为50MHz。PA3连接的是ESP8266的TXD(发送)引脚,所以端口设为浮空输入,速度为50MHz。因为STM32用串口2与ESP8266通讯,所以需要使能串口2。ESP8266的RST引脚与单片机的PA4相连,需要初始化PA4。之后用串口2发送AT指令到ESP8266,配置ESP8266。首先串口发送AT进行测试,无误之后串口会发回OK。之后继续用AT指令选择WIFI为STA模式,使能DHCP。用串口发送需要连接WIFI的账号密码、云平台的IP地址、端口号等数据用来建立TCP连接,ESP8266的配置就完成了。用到的AT指令如表3-所示,ESP8266具体配置流程如图3-12所示。表3-1AT指令表指令说明AT测试指令AT+CWMODE=<MODE>选择WIFI应用模式<MODE>1STA模式(客户端模式)2AP模式(接入点模式)3AP+STA模式(两种模式共存)AT+CWDHCP=<MODE>,<EN><MODE>0:设置AP1:设置STA2:设置AP和STA<MODE>0:失能DHCP1:使能DHCP本设置掉电重启设置仍保留。AT+CWJAP=<SSID>,<PASSWORD><SSID>接入WIFI名称<PASSWORD>接入WIFI密码例AT+CWJAP=<OneNET>,<12345678>本设置掉电重启设置仍保留。AT+CIPSTART=<TYPE>,<ADDR>,<PORT><TYPE>表示连接类型“TCP”建立TCP连接“UDP”建立UDP传输“SSL”建立SSL连接<ADDR>远程服务器IP地址<PORT>远程服务器端口号例AT+CIPSTART=”TCP”,”183.230.40.39”,”6002” 图3-SEQ图3-\*ARABIC13ESP8266配置 我们通过串口可以查看初始化过程信息。如图3-14所示。图3-SEQ图3-\*ARABIC14WIFI连接 这样我们的ESP8266初始化的部分就完成了。3.7.2OneNET云平台环境配置 首先我们进入OneNET——中国移动物联网开放平台,在创建账号之后,点击右上角控制台。在控制台里我们选择全部产品服务,在全部产品服务中,选择多协议接入,MQTT旧版。产品和设备添加完之后己住产品ID、设备ID、鉴权信息等。在应用管理中添加应用,OneNET云平台配置完之后如图3-15和3-16所示。图3-SEQ图3-\*ARABIC15产品概况图3-SEQ图3-\*ARABIC16添加完成的应用3.7.3MQTT协议将温湿度数据传输至OnenNet云平台 MQTT是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上[19]。MQTT协议适用于设备和平台之间需要长时间保持联系的场景,它的特点在于可以实现设备间的消息传播而不依赖其他服务。MQTT协议十分适用于本次设计。基于MQTT协议的特性,STM32需要使用以太网连接到代理服务器,然后订阅相关的主题[20],就可以发送到云平台上。流程如图3-17。图3-SEQ图3-\*ARABIC17MQTT协议 由于MQTT协议已经相当成熟,只用OneNET上的例程移植就可以。将发送的数据改为实验的温湿度数据,具体流程如图3-18所示。图3-SEQ图3-\*ARABIC18数据发送到平台3.8开关控制软件设计 STM32控制I/O口输出高电平使继电器开关闭合,所以要对PB13进行初始化。首先使能PB的时钟,再将PB13设为推挽输出,端口速度为50MHz。初始化流程如图3-19。图3-SEQ图3-\*ARABIC19继电器初始化第四章智能花架系统测试 为了检测系统的可行性,验证本次系统设计方案的合理性以及分析系统的缺陷和不足,本章主要对系统进行OLED显示实验、温湿度检测实验、WIFI发送数据实验、警告实验。4.1实验平台 实验平台如下: (1)ALIENTEKMiniSTM32F103RCT6单片机; (2)keiluVision5平台; (3)XCOM串口调试助手; (4)移动云OneNET平台。 实验目的: (1)验证OLED显示的准确度; (2)验证DHT11和FC-28传感器采集温湿度的准确度以及灵敏度; (3)验证移动云OneNET是否能接受到温湿度数据; (4)验证温湿度达到阈值是否能发出警告。4.2系统测试4.2.1OLED显示测试实验 首先,将OLED模块插到STM32单片机上,然后用T口USB数据线将电脑USB与STM32单片机相连供电,ST-LINK连接单片机。程序烧入单片机后不接接DHT11和FC-28传感器,先观察显示屏是否显示汉字,如图4-1所示。图4-SEQ图4-\*ARABIC1OLED显示 当未接传感器的时候,串口打印数据如图4-2所示。图4-SEQ图4-\*ARABIC2串口打印数据 由4-1和4-2可以看到,汉字显示完成且数据都为零。 当我们接入传感器之后,并把土壤湿度传感器插到土中(土壤湿度传感器悬空时为0,看不出来变化)如图4-3和图4-4所示。图4-SEQ图4-\*ARABIC3接传感器后OLED显示图4-SEQ图4-\*ARABIC4接传感器后串口打印的数据 由以上OLED显示屏和串口打印的数据相对比我们可以看出,OLED屏显示稳定字体清晰,并且能够很准确的将数据显示出来。4.2.2DHT11温湿度传感器和FC-28土壤湿度传感器测试实验 首先,将DHT11和FC-28用杜邦线接到STM32单片机上,通过串口发送的数据观察正常温度下DHT11采集的数据,如图4-5所示。再用吹风机加热DHT11传感器,通过串口观察检测到的数据变化如图4-6所示。图4-SEQ图4-\*ARABIC5正常状态下DHT11检测温湿度图4-SEQ图4-\*ARABIC6吹风机加热之后 由4-5和4-6我们可以看到,DHT11在正常条件下检测到的数值,而且在加热之后温度迅速升高,湿度降低。之后将多功能温湿度计和DHT11静置在同一环境下,每分钟记录一次数据,整理后的表格如表4-1所示。表4-SEQ表4-\*ARABIC1DHT11传感器与实际温湿度对比空气温度空气湿度测量值(℃)实际值(℃)误差(℃)测量值(%)实际值(%)误差(%)2526-1696902426-2726842526-16769-2272616769-22627-16869-1292726569-428271737032627-1696902627-16668-22727069681 由上表可以看出,DHT11检测的温度值较为准确,检测的湿度值稍有波动但是变化并不大。 之后对FC-28土壤湿度传感器进行测试。首先我们分别将土壤湿度传感器悬空和插入到水中,如图4-7、图4-8、图4-9所示。之后分别放入不同种类、不同湿度的土壤,观察显示的数据。如图4-10、图4-11、图4-12、图4-13所示。图4-SEQ图4-\*ARABIC7悬空图4-SEQ图4-\*ARABIC8插入水中(自来水)图4-SEQ图4-\*ARABIC9插入水中(蒸馏水)图4-SEQ图4-\*ARABIC10沙子1图4-SEQ图4-\*ARABIC11沙子2图4-SEQ图4-\*ARABIC12泥土1图4-SEQ图4-\*ARABIC13泥土2 通过对比以上七组结果我们可以看出,FC-28土壤温湿度传感器在检测不同种类不同湿度的土壤时,检测到的数值也不同。同时在检测土壤湿度时跟土壤的电解质也有很大的关联,在自来水中接近100,而在蒸馏水中只有40。4.2.3OneNET云平台接受数据以及显示测试实验 本次设计将会把检测到的数据传到OneNET云平台上,为了更加直观的看到温湿度的数据和变化,我们用仪表盘和折线图来显示数据和发送数据的时间。如图4-14和图4-15所示。图4-SEQ图4-\*ARABIC14OneNET网页端查看图4-SEQ图4-\*ARABIC15OneNET手机端查看4.2.4警告测试实验 当温度高于一定数值(本次设计为30度)或湿度小于一定数值(本次设计为20度)时,LED0会闪烁并且蜂鸣器发出警告,继电器开关闭合。使温度上升到30度以上,土壤湿度在20%以上时,如图4-16所示。图4-SEQ图4-\*ARABIC16温度过高 当温度在30度以下,土壤湿度在20%以下时,如图4-17所示。图4-SEQ图4-\*ARABIC17湿度过低 由4-16和4-17可以看到,LED0在温度过高和湿度过低时都闪烁。
第五章设计成果展示以及总结5.1设计成果展示图5-SEQ图5-\*ARABIC1智能花架控制系统图5-SEQ图5-\*ARABIC2智能花架实物图5.2本文总结 本文利用STM32单片机性能强、具有丰富的I/O口的特点,针对实现无人看管种植的需求,研究了一款对植物温湿度进行实时监控的花架系统,并实现了系统的硬件和软件上的设计。经测试,各个模块的功能基本都能成功实现,并且系统可以稳定运行。本文设计的智能花架由如下优点: 1、控制系统选用的STM32单片机价格实惠且十分稳定,其他的传感器、OLED显示屏、WIFI模块的价格也很便宜,非常适合工业化的大规模使用。它本身所集成的资源以及丰富的I/O口还可以拓展出更多的功能。 2、系统在设计思想方面,将环境检测、数据上传、采取措施几个步骤结合起来,使系统更加智能且人性化,不需要人工处理,很大程度节约了人工成本。 3、由于使用了WIFI连接互联网的方法,可以使数据远距离传输。用户可以随时随地监控实时状态。 由于时间有限,系统设计在某些方面还存在可以提高的地方。主要有以下几点: 1、本次设计只有将数据上传到云平台,没有实现通过云平台下发数据到单片机上,如果能够实现从云平台下发数据到单片机的话,用户就可以远程控制浇水,将会大大提高效率。 2、单片机上有三个额外的独立按键没有利用上。可以利用这三个按键实现手动浇水。 3、本次设计不能在单片机上直接设定温湿度阈值,只能在软件上修改,比较麻烦。
参考文献[1]桂彩云,党学立,王娟.智能自动浇花系统设计[J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京同仁堂鄂尔多斯市药店有限公司招聘10人参考考试题库及答案解析
- 深度解析(2026)《GBT 26732-2025轮胎翻新工艺》(2026年)深度解析
- 深度解析(2026)《GBT 25915.5-2010洁净室及相关受控环境 第5部分:运行》
- 2025广东佛山市顺德区杏坛中心小学后勤服务人员招聘1人参考考试题库及答案解析
- 2025安徽淮北相山区招考村(社区)后备干部66人考试笔试备考题库及答案解析
- 深度解析(2026)《GBT 25771-2010滚动轴承 铁路机车轴承》(2026年)深度解析
- 2025福建泉州晋江市博物馆招聘编外人员1人参考考试试题及答案解析
- 高中生涯规划教育的区域推进机制-基于上海市“学生发展指导”试点经验
- 2025山西长治市上党区公益性岗位人员招聘50人参考考试题库及答案解析
- 《利用三角形全等测距离》数学课件教案
- 矿山企业年终总结与反思
- DB43∕T 3134-2024 稻田土壤酸化治理技术规程
- 学业水平考务培训
- 2025年新护士各层级的岗位职责试题(附答案)
- 2026年黑龙江农垦职业学院单招职业适应性测试必刷测试卷新版
- 2025年建筑工程行业智能建造技术研究报告及未来发展趋势预测
- 2026江苏春季高考语文学业考试总复习:专题07 语言表达得体(原卷版)
- DB4401-T 55-2020 建设工程档案编制规范
- 节能环保安全知识培训课件
- 钢结构工程施工质量检查标准
- 2025-2030中国集成电路设计行业人才缺口分析与培养体系建设及技术创新评估
评论
0/150
提交评论