自动浇花系统.docx

上传人:b****4 文档编号:24648650 上传时间:2023-05-29 格式:DOCX 页数:25 大小:178.48KB
下载 相关 举报
自动浇花系统.docx_第1页
第1页 / 共25页
自动浇花系统.docx_第2页
第2页 / 共25页
自动浇花系统.docx_第3页
第3页 / 共25页
自动浇花系统.docx_第4页
第4页 / 共25页
自动浇花系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

自动浇花系统.docx

《自动浇花系统.docx》由会员分享,可在线阅读,更多相关《自动浇花系统.docx(25页珍藏版)》请在冰豆网上搜索。

自动浇花系统.docx

自动浇花系统

摘  要

随着人们生活节奏的加快,即使是最爱的花草浇水也无法顾及,偶尔出差、旅行、探亲也是很正常的事情,而家中花草谁来管?

花草生长问题80%以上是由花儿浇灌问题引起;好不容易种植几个月的花草,因为浇水不及时,长势不好,用来美化家园的花草几乎成了“鸡肋”;对于广大DIY爱好者,我们要介绍一款可以自己编程、设置参数、自己动手组装的自动浇花控制器,这是一款基于Arduino的控制器,使用土壤湿度传感器对土壤湿度进行监测,通过温湿度传感器对室内温度、湿度进行测量,控制水泵或电池阀进行浇水,从而达到自动浇灌的目的。

 

关键词:

单片机自动传感器ATMEGA32U4  DS18B20

 

Basedonthearduinoelectronicbuildingblocks

Suiteintheautomaticwateringsystem

Aspeopleliferhythmspeedingup,evenfavoritewateringflowersandplantsareunabletotakecareof,onceinawhileonabusinesstrip,travel,visitingrelativesalsoisverynormalthings,buthomeflowersandplantswhocometotube?

Flowersandplants,morethan80%ofthegrowthproblemiscausedbytheflowerswateringproblem;Verynoteasytogrowafewmonthsofflowersandplants,becausewaterisnottimely,growthisnotgood,isusedtobeautifythehomeflowersandplantsisalmosta\"chickenribs\";FortheDIYenthusiast,wecantointroduceaprogramming,setparameters,DIYassembly,automaticwateringtheflowersofthecontroller,thisisacontrollerbasedontheArduino,usingsoilmoisturesensorformonitoringsoilmoisture,theindoortemperature,humidityismeasuredbytemperatureandhumiditysensorandcontrolvalveforwaterpumporbattery,soastoachievethegoalofautomaticwatering.

 

目录

第1章绪论1

1.1引言1

1.2课题研究的背景和意义1

1.3本课题研究的热点及发展现状2

第2章单片机——Arduino的核心器件3

2.1单片机的定义3

2.2单片机与个人计算机的异同3

2.3单片机的作用3

第3章Arduino的基本组成4

3.1Arduino的定义4

3.2Arduino的诞生4

3.3Arduino语言4

3.3.1结构4

3.3.2功能4

第4章总体设计方案6

4.1设计思路6

4.2套件清单7

4.3安装步骤7

4.4开发环境9

第5章实验效果图11

5.1实验原理图11

5.2土壤湿度传感器原理图11

5.3自动浇花系统流程图12

结论13

参考文献13

附录15

后记21

第1章绪论

1.1引言1

1.2课题研究的背景和意义1

1.3本课题研究的热点及发展现状2

第2章单片机——Arduino的核心器件

2.1单片机的定义3

2.2单片机与个人计算机的异同3

2.3单片机的作用3

第3章Arduino的基本组成

3.1Arduino的定义4

3.2Arduino的诞生4

3.3Arduino语言4

3.3.1结构4

3.3.2功能4

第4章总体设计方案

4.1设计思路6

4.2套件清单7

4.3安装步骤7

4.4开发环境9

4.5初体验10

第5章仿真效果图

5.1实现原理11

5.2土壤湿度传感器的原理12

5.3自动浇花系统流程图13

结论13

参考文献14

附录15

后记21

第1章绪论

1.1引言

Arduino是一个开源的电子原型平台,它基于易于使用的硬件和软件而设计。

适合于艺术家,设计师和业余爱好者创建交互性的对象和环境。

Arduino通过接收来自各种传感器的输入来感知环境的变化,通过控制灯光,马达和其它驱动器来表现行为。

主板微控制器的编程使用Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)。

Arduino项目可以独立运行,也可以与计算机上运行的软件通信(如Flash、Processing、MaxMSP)。

主板可以通过手工制作,或者购买商业成品,而软件是可以免费下载。

硬件参考设计(CAD文件)是开源许可的,可以根据需求自由调整。

1.2课题研究的背景和意义

现代生活中,随着人们生活水平的提高,人们对花卉.树木等绿色植物的喜爱和种植越来越多,然而以前对花木的浇灌.施肥等工作都需要靠人工来实现,由于现代生活节奏的加快,人们往往忙于工作而忘记定期.及时地为花卉补充水分及养料,或者由于放假回家而将花放在办公室等处没人管理导致花木枯死。

水是植物生存,生长的最基本需要,因此,设计一种能够在无人管理的情况下的自动浇花系统,能够有效的放置花木在上述情况下的枯死

当今社会,科学技术的飞速发展,半自动化.自动化的智能化的各种装置和系统渐渐地融入到人们的生活中。

我们喜爱并且种植了植物,在我们无暇管理的时候,得以补充充足的水分成为了可能。

这其中就需要到人类发明的自动控制系统

一整套的自动控制系统,可能会用到很多领域的不同器件,但是,在众多自动控制系统器件中,控制核心却是其最基本和最决定性的,所以,人们在一直不断的开发更准.更快.更全面.更智能化的控制核心。

单片机,Arduino开源电子平台就是在这样一种情况下被发明出来的,并且逐渐被得到了广泛应用。

当然,单片机也用到了我们上述所提到的自动控制浇花系统中去,因此,我们不再喜爱的花木身边时,自动控制浇花系统也能让它们喝到充足的水,健康的生长。

另一方面,经济和科技向低碳方向转变的需要,人们在尝试着将低碳.环保的理念融入到自动控制系统中,已达到更好地为我们服务。

1.3本课题研究的热点及发展现状

相对于STC而言,Arduino发展前景更加广阔,适用范围更大,他对各个方面支持都比较完善,而且有较大的用户社区,但是国内最近才开始兴起,技术相对来说还不是很成熟。

国外相对比较成熟,用它可以让你的计算机能够拥有更强的感应、控制真实世界的能力,而不仅局限于键盘、鼠标、屏幕、扬声器等单一的标准I/O设备。

它同时也能作为独立的核心,作为机器人、智能车、激光枪等电子设备的控制器,应用非常简单。

Arduino,丰富的接口,简便的编程环境,极大的自由度,可拓展性能非常高!

标准化的接口模式为它的可持续发展奠定了坚实的基础。

Arduino具有类似java、C语言的开发环境。

可以快速使用Arduino语言与Flash或Processing等软件完成互动作品。

Arduino能够使用开发完成的电子元件,如Switch、Sensors或其它控制器、LED、步进电机或其它输入/输出装置,同时,Arduino也可以成为独立与软件沟通的平台,如flash、Processing、Max/MSP或其它互动软件。

Arduino系统是建立在C/C++基础上的,也就是基础的C语言,,Arduino系统只是将AVR单片机(微控制器)相关的一些寄存器参数设置等都函数化了,即使不太了解AVR单片机的朋友也能轻松上手,设计出各种实用的电路开发系统。

 

第2章单片机——Arduino的核心器件

2.1单片机的定义

单片机,全称单片微型计算机(英语:

Single-ChipMicrocomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。

2.2单片机与个人计算机的异同

一台能够工作的计算机要有这样几个部份构成:

中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、只读存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。

在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。

而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。

电脑应用于高端,单片机应用于中低端,二者有着各自的生存空间,至少短期内不会出现一种取代另一种的情况。

2.3单片机的作用

实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿处理器吗?

应用的关键是看是否够用,是否有很好的性能价格比。

如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。

单片机通常用于工业生产的控制、生活中与程序和控制有关(如:

电子琴、冰箱、智能空调等)的场合。

 

第3章Arduino的基本组成

3.1Arduino的定义

Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构建于开放源代码simpleI/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。

3.2Arduino的诞生

2005年冬天,MassimoBanzi和DavidCuartielles讨论学生们抱怨找不到便宜好用的微控制器问题,讨论使两人决定设计自己的电路板,由Banzi的学生DavidMellis为电路板设计编程语言。

两天以后,DavidMellis就写出了程式码。

又过了三天,电路板就完工了。

这块电路板被命名为Arduino。

随后Banzi,Cuartielles,和Mellis把设计图放到了网上。

保持设计的开放源码理念,因为版权法可以监管开源软件,却很难用在硬件上,他们决定采用共享创意许可。

在共享创意许可下,任何人都被允许生产电路板的复制品,还能重新设计,甚至销售原设计的复制品。

你不需要付版税,甚至不用取得Arduino团队的许可。

唯一被保留的只有Arduino这个名字。

它被注册成了商标。

3.3Arduino语言

Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言。

3.3.1结构

voidsetup()初始化发量,管脚模式,调用库函数等

voidloop()连续执行函数内的语句

3.3.2功能

数字I/O

pinMode(pin,mode)数字IO口输入输出模式定义函数,pin表示为0~13,mode表示为INPUT或OUTPUT。

digitalWrite(pin,value)数字IO口辒出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。

比如定义HIGH可以驱动LED。

intdigitalRead(pin)数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。

比如可以读数字传感器。

模拟I/O

intanalogRead(pin)模拟IO口读函数,pin表示为0~5(ArduinoDiecimila为0~5(Arduinonano为0~7)。

比如,可以读模拟传感器(10位AD,0~5V表示为0~1023)。

analogWrite(pin,value)-PWM数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数。

pin表示3,5,6,9,10,11,value表示为0~255。

比如,可用于电机PWM调速或音乐播放。

时间函数

delay(ms)延时函数(单位ms)。

delayMicroseconds(us)延时函数(单位us)。

数学函数

min(x,y)求最小值

max(x,y)求最大值

abs(x)计算绝对值

constrain(x,a,b)约束函数,下限a,上限b,x必须在ab之间才能返回。

map(value,fromLow,fromHigh,toLow,toHigh)约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。

pow(base,exponent)开方函数,base的exponent次方。

sq(x)平方

sqrt(x)开根号

 

第4章总体设计方案

4.1设计思路

首先要将硬件搭建起来。

接下来就写程序。

本系统应有以下模块:

温度控制模块,湿度控制模块,光强控制模块,数字显示模块,用户设置模块和警报模块。

程序的功能定义:

实现从上位机软件选择湿度传感器(湿度传感器或碳棒)和浇水形式(潜水泵或电池阀),同时返回土壤湿度、室内温度、湿度到上位机上显示。

程序设计原理:

让控制器循环采集每个湿度传感器和预置阀值比较,如果某个传感器低于阀值,那么就控制舵机转到相对的角度,然后在打开水泵进行浇水。

程序代码:

#include//我们提供的库函数

#include

#definetemperature40//室温阀值,用户可以自己定义

Free_Lifeflower;

voidsetup()

{

flower.Initialization();//初始化主控制器,默认选择湿度传感器和水泵

Serial.begin(115200);//波特率115200

}

voidloop()

{

flower.process(temperature);//传入室温阀值,当室内温度大于该阀值时,水泵强制停止

flower.print();//输出土壤湿度、室内温度、湿度给上位机软件显示

delay(500);

}

总程序在附录里

4.2套件清单

▪FreeLife自动浇花系统控制器1个

▪MicroUSB线1根

▪DHT11温湿度传感器1个

▪土壤湿度传感器1个

▪模拟接口转数字接口传感器连接线2根

▪潜水泵1个(注意:

潜水泵必须在水中使用,不能露出水面!

▪潜水泵电源连接线1根

▪主板电源连接线1根

▪橡胶水管1米

▪塑料外壳1个

▪2mm一字螺丝刀1个

▪1号十字螺丝刀1个

▪电子文档上位机软件1份

4.3安装步骤

 

(1)、先将水泵的连接头接到控制器的SolenoidValve端子上,蓝色接负极(-)棕色接正极(+),然后将电源连接头接到PWRIN端子上,黑色接负极(-)红色接正极(+)。

(2)、如上图所示,将控制板安装到外壳底板上,然后将MoistureSensor(土壤湿度传感器)插到传感器接口上,这里使用橙色传感器连接线,注意方向,传感器在控制器上的默认端口为模拟口2。

(3)、将DHT11温湿度传感器插到传感器接口上,这里使用橙色传感器连接线,注意方向,传感器在控制器上的默认端口为数字口9。

(4)、使用MicroUSB线连接电脑,初次使用需要安装USB驱动程序,先去下载Arduino最新的IDE:

 

(5)、使用MicroUSB线将程序下载到主板上(出厂已经下载好程序,可以直接使用)。

(6)、以上操作完成后,将外壳盖上。

(7)、将水装到水桶或水盆里,放在离花盆较近的位置,把配的水管插到潜水泵上然后置于水中,必须保证蓄水充足,以供浇水(注意潜水泵必须在水中使用,在空气中使用会导致损坏)

(8)、将水泵和电池盒(或者电源适配器)连接到水泵接口和电源接口上。

(9)、通上电后,如果土壤湿度传感器放在空气中,此时水泵就开始抽水,将土壤湿度传感器的探测头放到水中,此时水泵应该停止抽水。

(10)、为了能方便用户观察土壤湿度及室内环境的参数,我们开发了flower'slife这款软件,通过该软件把土壤湿度和环境温湿度数据呈现在我们面前,打开flower'slife软件。

 

(11)、该软件主要是通过对串口数据的监听来实现对当前控制器串口返回的土壤湿度和室内温度、湿度等参数的读取。

其读取时间不定,该软件会自动监测串口数据的接收并自动读取,不会在没有数据的时候随意读取,避免了一定的数据读取冲突造成错误。

(12)、通过这款软件,能对浇水的动力和湿度传感器进行选择,动力包括潜水泵和双稳态电磁阀,传感器包括土壤湿度传感器和碳棒,我们默认设置为潜水泵和土壤湿度传感器,在没有其他装置的情况下请勿乱设置。

插上MicroUSB线,点击设置,选择当前串口端口号和通讯波特率,串口号请到设备管理器中查看Arduino下载器的端口号,波特率默认为115200。

(13)、设置好后,单击链接按钮,连接成功后,我们就可以看到当前土壤湿度以及室内温湿度的情况了。

(14)、不同的花,对土壤湿度的需求也尽不相同,我们可以根据自动浇花控制器上的湿度调整电位器来改变浇水阈值,以适应不同花儿对土壤湿度的需求,轻轻转动电位器旋钮(如下图箭头所示),软件上的浇水阈值的数据也会随之发生改变,这样,我们就能根据花儿的最佳生长状态调节一个适合的浇水阈值了,浇水上限在库文件中做修改即可。

(15)、另外,如果环境温度过高,花儿不宜浇水,否则可能会导致花儿枯死,浇水的温度阈值在程序中进行设置,程序默认为40摄氏度以上不启动浇水系统,用户也可以根据自己意愿进行修改。

(16)、用户可以根据我们提供的资料,对自动浇花系统进行二次开发,使用ArduinoIDE环境编程,Arduino下载器将程序下载进去。

 

4.4开发环境

本次设计使用的软件为Arduino开发环境Arduino-0022,如图4-2所示。

图4.3开发环境

把Arduino控制板与其他器件连接好,再把Arduino与微机USB口连接好。

4.5初体验

首先介绍下FreeLife自动浇花套件,它提供了一个系统控制器,控制器使用ATMEUEGA32U4芯片,程序的上传和ArduinoLeonado是一样的。

用户可以使用Arduino为系统控制器编写程序达到自己想要的效果。

套件里还有一个潜水泵以及土壤湿度传感器DHT11温湿度传感器各一个。

这些传感器可以将植物所处的环境情况变成数据反馈给用户。

套件还为系统控制器提供了一个防水外壳。

这使整个系统可以在更加安全的情况下使用。

同时,套件还支持DS18B20温度传感器。

系统控制板上的USB口用来和电脑通信,供用户烧写程序。

板子提供了5个数字I/O口,4个模拟I/O口,温度阀值调节钮,电源接口和水泵接口等。

用户可以将湿度传感器等连接到控制板上,来完成相应的工作。

控制板还提供了无线模块接口,使用无线模块,用户可以通过手机等设备来遥控系统。

 

第5章实验效果图

5.1实验原理图

图5.1设计原理图

 

5.2土壤湿度传感器原理图

图5.2土壤湿度传感器原理图

5.3自动浇花系统流程图

图5.3自动浇花系统流程图

结论

通过这次毕业设计我有温习了大学所学的专业知识,锻炼了自己的钻研能力,经过十几周的努力终于完成了本次毕业设计。

在本次设计中最关键的我认为是大方向的把握,现当今,单片机的应用无处不在,利用单片机实现自动控制也多不胜举,本次设计以Arduino为平台,利用在单片机中编写程序,通过改变程序内的参数来实现本次设计的效果。

用C语言编程,辅以编译软件来完成本次设计。

在大的方案确定下来后,我就开始逐一解决各个功能模块,在很多小细节方面遇到很多问题,比如编译出错,仿真出错等。

在遇到问题后,我通过请教老师,并不断查阅各种资料文档,在这过程中我也学习到了不少新知识和研究问题的新方法。

我觉得学习还是要学以致用,不然学得再多也没有发挥出作用,要多动手勤思考,只有这样大学所学的知识才不会浪费。

 

参考文献

[1]翁浩峰.在Flash课件中使用传感器[J].物理通报,2010(6):

35-37

[2]袁本华,董铮.基于Arduino控制板的温室大棚测温系统设

计[J].安徽农业科学,2012,40(8):

5049-5050.

[3]李德骏,马孝辉.基于Arduino平台的家用安防监控系统设

计[J].科技与生活,2011

(1):

114.

[4]邹建梅,王亚格.利用Arduino增强Flash互动性的研究[J].

中国教育技术装备,2010(36):

107-109.

[5]崔才豪,张玉华,杨树财.利用Arduino控制板的光引导运

动小车设计[J].自动化仪表,2011,32(9):

5-7.

[6]Buechley,LeahEisenberg,Michael.TheLilyPadArduino:

towardwearableengineeringforeveryone[J].IEEEpervasive

computing,2008,7

(2):

12-15.

[7]OxerJ,BlemingsH.PracticalArduino:

CoolProjectsforOpen

SourceHardware[M].NewYork:

Springer-Verlag,2009.

[8]BanziM.GettingStartedwithArduino[M].USA:

O'Reilly

Media,2008.

[9]杨继志,杨宇环.基于Arduino的网络互动产品创新设计[J].

机电产品开发与创新,2012,25

(1):

99-100.

[10]LORSCHEITER,AguirreT,PAIM,etal.UsingMs-Visual

studioandArduinotodotemperaturemeasurements[J].

PeriódicoTchêQuímica,2011,8(16):

60-66.

[11]BenderP,KussmannK.Arduinobasedprojectsinthecomputer

sciencecapstonecourse[J].JournalofComputingScienc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1