基于Arduino的温湿度系统设计Word文件下载.doc
- 文档编号:6961862
- 上传时间:2023-05-07
- 格式:DOC
- 页数:40
- 大小:4.40MB
基于Arduino的温湿度系统设计Word文件下载.doc
《基于Arduino的温湿度系统设计Word文件下载.doc》由会员分享,可在线阅读,更多相关《基于Arduino的温湿度系统设计Word文件下载.doc(40页珍藏版)》请在冰点文库上搜索。
ThispaperdesignsatemperatureandhumiditycontrolsystembasedonArduino,,thesystemusesacontainingcompositesensorDHT11digitaltemperatureandhumiditycalibrationofdigitalsignaloutputtotemperatureandhumiditydataacquisitionintheenvironment..AfterArduinotreatment,andthetreatmentresultsthroughtheLCDdisplaydisplay.Whentheparametersintheenvironmentreachesthecriticalvalue,thealarmwillsoundthealarmsystem.
UseaArduino-typemicro-controllerdesigntemperatureandhumiditycontrolsystemfor,instantaccuratereactiongreenhousetemperatureandmoderatechanges.Complete,suchasthetemperaturewascooledtoaspecifictemperature,raisedtoaspecifictemperature.Maintainconstanttemperatureandothercontrolinthevolatility
temperaturerange,humiditycontrolisalsotrue.Theapplicationofthissystemtothegreenhousewhichisnodoubtthatprovidesamoresuitableenvironmentforvegetationgrowth.Forgreenhousecultivationandflowergarden,flowercultivation,youmustinstallcertainenvironmentaltemperatureandhumiditydevicemonitor.Thissystemcanbetimely,accuratereflectionoftheindoortemperatureandhumiditychanges,abletomeettherequirementsofthetemperatureandhumiditycontrol.
Keywords:
Arduino;
DHT11;
Sensor;
LCD;
TemperatureandHumidity;
目录
第一章绪论 1
1.1课题背景 1
1.2研究目的及意义 1
1.2.1生活环境与温湿度的关系 1
1.2.2温湿度检测的意义 2
1.3国内外发展历程和状况 3
第二章Arduino理论基础 5
2.1单片机-Arduino的核心器件 5
2.1.1单片机的概念 5
2.1.2单片机的作用 5
2.1.3Arduino的定义 6
2.1.4Arduino的优势 6
2.2Arduino开发工具介绍 7
2.3Arduino语言 8
2.4本章总结 9
第三章系统整体设计 10
3.1方案论证 10
3.1.1系统主要功能 10
3.1.2系统的工作原理简介 10
3.1.3总体设计简介 11
3.2系统硬件设计 12
3.2.1主控模块 12
3.2.2数据采集模块 14
3.2.3数据显示模块 16
3.2.4报警模块 18
3.2.5原理总图及器件清单 19
3.3系统软件设计 20
3.3.1总体程序流程图 20
3.3.2液晶显示模块程序 20
3.3.3传感器模块程序 22
3.4本章小结 24
第四章调试过程和注意问题 25
4.1程序下载说明 25
4.2硬件问题及解决 ……………………………………………27
4.3软件问题及解决 27
第五章总结与展望 29
5.1全文总结 29
5.2未来展望 29
致谢 31
参考文献 32
附录一 34
附录二 35
江西理工大学2014届本科生毕业设计(论文)
第一章绪论
1.1课题背景
农业科学技术与信息科学互相融合、渗透是现代农业生产的显著特点。
各种高新技术不断应用于农业的生产,农业信息化的总趋势就是:
计算机技术,信息存储和数据处理技术以及各类软件,网络通信,人工智能与智能控制系统等综合应用于现代智能机械化的农业生产[1]。
很长一段时间,对温室环境的监测一般采用人工方式,这种传统的数据收集的方法浪费人力财力,准确性不是很高,而且容易受其它外部因素影响,很难达到期望的目的。
特别是在现代化的蔬菜温室的生产和管理过程中,环境的温度和湿度变化对植物的健康成长有重要影响。
如果白天和夜里的温湿度变化很大,则会对植物的正常生长产生重要影响[2]。
国内外温室种植业的实践生产经验表明,提高温室环境的管理水平和自动化控制水平可以有效发挥温室作物生产的高效性,其中对作物生长环境的温湿度的数据采集是温室环境监测的重要组成部分。
因此,为了提高农作物产量,我们需要对植物生长环境中的温湿度因素进行必不可少的监测与控制,使其保持在有利于作物生长的合理范围内波动,以提高农作物的产量和质量。
随着通信网络技术,传感器数据采集技术及计算机控制技术等现代信息技术的迅猛发展,目前设施农业的一个研究热点就是数据自动采集及智能控制系统的开发[3]。
因此,设计一套能够实时对植物生长环境因素有效监测和控制的智能系统对于提高农作物产量具有十分重要的意义。
1.2研究目的及意义
湿温度是工业领域内比较重要的两个监测目标。
无论是我们的日常生活环境,还是生产领域都需要对温湿度参数进行控制和监测。
对温湿度的测量与控制水平直接影响到人类的所有活动。
1.2.1生活环境与温湿度的关系
随着人类社会对生活环境的质量要求不断提高,特别是温度和湿度的变化所带来的不同负面影响,比如温度变化都直接影响到我们这个社会,而湿度的波动也一样会影响着我们的生活以及其他物种的生存条件。
近代随着工业革命而带来的二氧化碳的排放导致全球气候变暖,因此对我们的生活带来了一系列的巨大影响。
随着全球气候的变暖,导致南北极的冰山融化,进而导致海平面的上升。
因此导致全球有上亿的人口收到海平面上升所带来的威胁,类如海水倒灌,岛屿消失等。
温度的上升也影响着全球的气候变化。
最近几十年厄尔尼诺现象频繁发生,导致无数人的生活受到影响。
温度的变化同时也会影响到环境湿度的变化,因为当温度较高时会加剧地面水汽的蒸发,使湿度上升,例如在南美地区温度较高同时也使湿度较高。
但是当温度达到很高时也会是空气急剧干燥,例如在北非地区。
在国家安全、环境保护、生产制造、气象预测、科学研究等部门,经常需要对环境温度和湿度数据进行控制和监测。
随着科技的不断进步,为了保持一起的精确,现在越来越多的紧密仪器需要在恒定环境下工作,对环境中的温湿度要求越来越高。
在食材成品加工、生物制药工程等关于国计民生的工业制造领域对于精确监测温度和湿度变化更是有重大的意义。
为了生产出合格的产品,有时我们必须精确的控制和监测环境中的温度和湿度的变化。
1.2.2温湿度检测的意义
无论是在现代化工业生产、现代农业生产,还是在仓库保管、气象卫星等领域,对温度和湿度的测量都是随处都可以看到的。
有效合理的调解与控制湿温度参数,不但可以减小资源浪费还更有利保障行业生产的正常发展。
在工业生产领域,各种高科技自动化精密设备都需要在特定的环境下工作。
电器设备是工业生产领域最常见的也是使用频率最高的设备。
电器设计人员在设计电器设备时的必须要考虑到的问题之一就是考虑温度和湿度的波动变化。
电器工程师为了设计出合格的设备,在设计的时候必须要考虑设备使用过程中散热通风的问题,使产品能适应特定工作环境中温度和湿度的波动。
在众多的工业材料中选取性能优秀的材料并且对设备表面进行特别封装可以大大有效提升设备的运行年限。
大型的电器设备如果长期处于大电流、高电压和满负荷运行的状态,将导致造成聚集大量热量而不能及时降低温度,因为电流的热效应造成的危害直接影响设备的绝缘安全保护器件,对设备的正常工作和员工的人身安全产生严重的安全隐患,所以对用电机器的温度和湿度变化进行及时精确的测量与控制是十分必要的[4]。
温湿度对动植的生长都有很大的影响,当温度达到了动植物生长所能承受的最高值或最低值时,这些植物和动物就会慢慢的从地球上消失,或者适应环境而演变成其他的一些物种。
所以对特定环境下的温湿度我们必须能准确有效的测量。
同时我们也要记录他们的的变化情况和变化规律,只有这样这样我们才有可能对我们当前所生活的环境的变化有个更为直观感性的了解与认识。
老式的温度计的原理是利用水银遇热膨胀和遇冷收缩来实现的,尽管物美价廉,但是它的精度很低,而且需要很仔细才能读清测量值。
干湿球显示测量法是老式的湿度计普遍采用方法,但它不仅构造复杂而且测量精的确度也不是很高[5]。
但是采用Arduino对温湿度进行测量控制,不但控制简单,操作方便和应用灵活等一系列的优点,而且可以大幅度提升温湿度控制的技术指标。
用LCD液晶显示屏来显示温湿度的数值,看起来更加直观。
1.3国内外发展历程和状况
目前国外先进大型室内环境监控系统大多是多种因素综合控制系统。
这些先进控制系统提供了可以人机交互的操作界面,不仅可以方便操作人员对环境参数进行设定和对参数进行显示,而且还可用计算机对各种环境因子进行的远程监视与控制,涉及到的环境因子如二氧化碳浓度、温湿度变化、光照强度等,包含了农作物在各个生长阶段的生命信息甚至包括开花时间的控制等[6]。
在美国,摩托罗拉集团在80年代初就已经研制出了一套专门用于灌溉的中央计算机控制系统,很快这套系统赢得了美国大部分地区的广泛的认可和应用[7]。
GeenAir集团开发的GHCl00型温室环境控制系统在满足低成本通风控制要求的同时也可对温室进行全方位控制[8],用户不仅可以通过显示器来进行实时监控和现场设置,还可进行远程数据记录、监测、控制。
荷兰具有世界领先的温控技术水平,在全球市场上,其智能温室成套设施备受各国青睐。
追溯到上世纪70年代荷兰就开发出了计算机控制系统CECS,并且集成了一系列的计算机软、硬件,实现了温室内施肥、供水以及环境的自动控制等[9]。
荷兰Priva公司是著名的温室系统设备研发及生产的公司[10],他们所研制的温室控制系统不但能够协调控制各种环境因子而且也能对温室过程控制、浇水施肥作业进行智能控制。
以色列的温室农业技术的发展也非常迅速,它的温室计算机环境控制系统采用比较先进的温室控制结构和空气温湿度调控技术等,并配备了天窗、幕帘及遮阳网等,可依据光线强度的不同自动调节环境因子。
此外,该系统在室内还设置了现代化的滴灌和微喷灌智能控制系统,可以方便快捷地通过现场控制器与监控室内的中央计算机之间的通信对室内进行远程遥控灌溉和施肥,使水肥的利用率达80%到90%[11]。
在英国,温室农业大部分都采用远程计算机来控制二氧化碳、温湿度、营养液供给等[12],英国自主研发的远程计算机遥控技术可以监测并遥控50km以外温室内的温湿度等环境状况的变化。
在日本,其温室监控技术水平发展也很高,比如四国电力集团发明的“OpenPLANET”远程双向监测控制系统[13],该系统包括检控专用LAN、服务器、数据的收集、分散控制等,也可对温室的群进行管理。
此外,ESE公司研发的控制系统可以对温室内的环境因子如温度、二氧化碳浓度等可进行全面的检测和控制[14]。
但是,我国在温室控制检测技术方面的研究相对较晚。
在80年代初期,外国高科技温室技术的蓬勃发张也促使我国的农业科技工作人员逐渐对温度、C02浓度、湿度等单一的环境因子方面展开了丰富的研究[15]。
国内外在信息的传输方式上还是有不小的差距的。
对于一般数据的传输(例如温度、烟火警报等)我国现在主要还是在运用走线布线的方式,先进一点的采用功率较大的无线芯片进行星型网络数据的传输,尽管这样节省了对于信号线的布线,但其能量消耗比较大,而且还需要对电源线进行布线[16]。
然而,基于低功耗无线自组网的Zigbee传输模式在美国早已走进了千家万户,为人们的生活生产提供便利。
总的来说,我国在温室控制方面的研究和开发与运用主要集中在环境的控制算法、控制系统结构等方面获得数据,但是和国外相比,国内温室自动控制系统在可靠性、经济性、可扩展性、功能等方面还需进一步的改善。
鉴于Arduino控制器拥有较为稳定的可靠性、可扩展性,而且在功能和经济性方面远远优于其他控制器,所以本文将采用DHT11数字复合温湿度传感器采集温湿度数据,以Arduino为控制器来控制数据的处理,来设计一个高性价比的基于Arduino的温湿度控制系统。
所以,本次毕业设计以DHT11传感器为例,介绍基于Arduino的数字温湿度系统的的设计。
第二章Arduino理论基础
本章作为Arduino的理论概述部分,将介绍与Arduino相关的知识原理为后续章节提供基本理论基础。
本章文首先将讲述什么是Arduino,关于Arduino的一些基础知识及关于Arduino编写语言C语言的基础知识和开发工具。
2.1单片机-Arduino的核心器件
要理解Arduino就先要明白单片机的作用,Arduino控制板是一块基于AVR命令集的电子开发平台。
Arduino的主要元器件是一块微型处理器,它是基于Atmega328P-PU芯片的开源开发平台[17]。
2.1.1单片机的概念
计算机一般包括包括以下几个部份:
CPU、ROM、RAM、输入/输出设备I/O[18]。
在个人计算机上这些部份被分割成若干块不同的芯片,安装在一个被叫做主板的印刷线路板上。
但在单片机平台中,各个部件会被全部一起做到一块集成芯片中,所以就被命名为单片机[19],而且有一些单片机中除了上述组成部份外,还集成了其它部份如模/数转换和数/模转换等。
2.1.2单片机的作用
其实在我们的实际工作中要根据不同的场合和应用来选择合适的处理器,选择应用处理器的关键是看是否支持设备运行,是否有很高的性价比等。
单片机经常用在工业生产的控制智能家居设备中。
但是有些场合使用单片机就会使简单的问题复杂化,因为在开发单片机资源的时候需要了解寄存器,指针等资源,对于一般的初学者很难掌握这些资源的使用方法。
因此为了找到一个便宜又好用的控制器,2005年MassimoBanzi和DavidCuartielles设计一个基于Atmega328P-PU芯片的开源控制平台,被命名为Arduino[20]。
图2-1Atmega328P-PU单片机
Arduino可以使用Arduino语言与Processing、MacromediaFlash、Max/MSP和SuperCollider等软件,结合其他常用电子元件,例如传感器或LED发光灯、电动马达或其他电子器件,设计出许多具有艺术创意性的互动作品[21]。
图2-1就是一个Atmega328P-PU单片机。
2.1.3Arduino的定义
Arduino是一套能够感应和控制现实物理世界的工具。
它由一个基于单片机并且代码开源的硬件平台,和一套ArduinoIDE开发环境组成[15]。
Arduino可以用来开发交互式智能产品,例如它可以读取大量的开关和传感器数据,同时可以控制不同种类的电子元器件等其他各种物理设备。
基于Arduino的控制系统既可以独自进行,也可以在运行的同时又和计算机中正在运行的其他程序进行数据通讯。
Arduino的编程环境是基于处理多媒体的,编程语言就像在类似的物理平台上连线。
2.1.4Arduino的优势
很多的单片机和单片机平台的设计都采用交互式系统。
例如:
ParallaxBasicStamp,Phidgets,MIT’sHandyboard等提[22]。
对于这些工具,工程师都不需要去关心那些单片机编程的复杂细节,提供给编写人员的是一套很容易上手的工具包。
同样Arduino也很大程度的简化了内部芯片的工作顺序,但Arduino和其它开发平台相比在一些方面更具有优越的特点:
跨平台——Arduino编程环境可以完美兼容MacintoshOSX,Windows和Linux等应用系统。
但很多其它的单片机系统都只能在Windows环境下运行。
便宜——Arduino控制板价格低廉,既可亲自组装,也可以购买完整的成品。
软件开源且可扩展——Arduino软件是开源的,专业的程序员可以对其进行扩展。
可以通过C++库对Arduino编程语言进行扩展[23]。
简易的编程环境——Arduino编程环境和Processing编程环境很相似,所以我们很容易就可以学会如何熟练使用Arduino开发环境。
硬件开源并可扩展——Arduino开发板是基于Atmel公司的ATMEGA8和ATMEGA168/328单片机,基于CreativeCommons许可协议[24],所以我们能够根据需求设计模块,可以对其扩展或改进。
Arduino是基于AVR开发平台的,并且对AVR库进行了二次编译封装,把所有端口都进行了打包,基本不需要寄存器、地址指针等资源。
但是Arduino是二次编译封装,所以编写的代码没有直接使用AVR代码编写精练,代码的执行效率与代码容量都没有直接AVR编写的好。
2.2Arduino开发工具介绍
一、Arduino开发工具的作用
Arduino开发工具(是一个用来编写Arduino程序的软件,将程序编写好检测无误后,通过该软件下载到Arduino开发板中进行烧录。
二、获取和安装Arduino开发工具方式
1.下载Arduino开发工具
下载地址:
http:
//Arduino.cc/en/Main/Software
如图2-1所示,在页面上找到以下内容:
图2-1ArduinoIDE下载界面
我们既可以下载windowsinstaller版本,也可以下载windows(ZIPfile)版版本,windows(ZIPfile)版本的可以在直接解压后就使用。
2、Arduino开发工具功能介绍
安装成功后双击Arduino.exe即可打开Arduino,界面如下图2-2所示:
图2-2ArduinoIDE开发界面
各按钮功能如下:
Verify(校验):
在下载代码之前,对编好的代码进行检验。
Stop(停止):
可以停止进行的编译操作。
New(新建):
可新建一个程序文件。
Open(打开):
打开一个已经编写好后缀名为.pde的程序文件。
Save(保存):
保存当前的程序文件。
Upload(上传):
在Arduino编程环境里编辑的程序,还不能让Arduino运行出希望的结果,还需要将编写的代码下载到到Arduino控制板中。
SerialMonitor(串口监视窗):
可观测开发环境中所使用的串口收发的数据变化情况。
2.3Arduino语言
Arduino语言也就是基础的C语言,Arduino语言只不过把AVR单片机相关的一些参数设置都函数化,不需要我们去了解他的底层设计,是他的编写与设计更加简单方便[25]。
常量:
LOW|HIGH表示数字接口的电平高低,LOW代表低电平(0),HIGH代表高电平
(1)。
OUTPUT|INPUT表示数字IO口的方向,OUTPUT表示输出,INPUT表示输入(高阻态)。
true|falsetrue表示真
(1),false表示假(0)。
程序结构:
声明变量及接口名称:
voidsetup()放在在程序运行起始位置,具有初始化变量,定义管脚模式,调用库函数等一系列功能。
voidloop()放在在setup()函数之后,即初始化之后,loop()让程序循环地被执行。
数字I/O:
pinMode(pin,mode)定义数字IO端口输入输出模式的函数,pin指向为0~13引脚,mode表示输出方向INPUT或OUTPUT。
digitalWrite(pin,value)定义数字IO端口输出电平的函数,pin指向为0~13引脚,value表示为电平的高低HIGH或LOW。
intdigitalRead(pin,value)定义数字IO接口输入电平函数,pin指向为0~13引脚,value表示为电平的高HIGH或LOW。
模拟I/O:
intanalogRead(pin)定义模拟IO口读函数,pin指向为0~5引脚。
analogWrite(pin,value)-PWM数字IO口PWM输出函数,Ardui
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Arduino 温湿度 系统 设计