基于单片机的自动浇花器设计机械制造专业_第1页
基于单片机的自动浇花器设计机械制造专业_第2页
基于单片机的自动浇花器设计机械制造专业_第3页
基于单片机的自动浇花器设计机械制造专业_第4页
基于单片机的自动浇花器设计机械制造专业_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中文题目:基于单片机的自动浇花器设计摘 要本次自动浇花器设计,系统是用AT89C51单片机作为控制核心,使用YL-69作为土壤湿度传感模块,光敏电阻作为光照量传感模块,LCD1602作为显示数据的模块,按键用来设定数值。本系统有三种模式的功能,一是可以通过YL-69湿度传感器进行土壤湿度的采集,利用单片机AT89C51对信息进行处理,输出控制信号,控制信号通过控制继电器控制水泵电源是否通断,从而完成自动浇水。二是利用单片机精确控制,在设定时间内实施浇水。三是在系统中加入一个光敏电阻,当检测到有光照的时候即白天的时候系统检测到土壤湿度低于设定值时才运行完成浇水,当检测到无光照即黑夜时即使检测到土

2、壤湿度低于设定值系统也不会运行。关键词:YL-69;湿度;光敏电阻;AT89C51单片机;水泵;LCD1602 AbstractThe automatic watering device design, system uses AT89C51 microcontroller as control core, use YL-69 as a soil humidity sensor module, photosensitive resistance as the amount of light sensing module, LCD1602 as data display module, butt

3、on is used to set the value. This system has the function of the three modes, one is the soil moisture by YL-69 humidity sensor acquisition, processing the information using microcontroller AT89C51 output control signal, the control signal through the control relay to control the pump power is on an

4、d off, so as to complete the automatic watering. Two is the use of single-chip precision control, the implementation of water within the set time. The three is to add a photosensitive resistance in the system, when the detected light time during the day when the system detects the soil humidity is l

5、ower than the set value before operation finished watering, when the detected light is dark even to detect soil moisture is lower than the setting value, the system will not be running.Keywords: YL-69; humidity; photosensitive resistance; AT89C51 single chip; water pump; LCD1602目 录1 绪论61.1 研究背景61.3主

6、要设计内容72 系统设计92.1 方案论证92.1.1 总体方案设计92.1.2 土壤湿度测量方案92.2 硬件的选择102.3 系统结构103 系统硬件设计123.1 AT89C51主要性能参数123.2 时钟电路133.3 AT89C51的复位电路143.4 YL-69土壤湿度传感器153.5 ADC0832转换芯片163.6 SRS-05VDC-SL继电器173.7 按键电路183.8 光敏电阻及其控制电路183.9 DS1302时钟芯片194 系统软件设计204.1 系统流程图204.2 土壤湿度检测程序214.3 设置湿度上下限程序224.4 按键程序234.5 LCD1602显示程

7、序245 仿真设计与硬件调试255.1 硬件调试25结论26参考文献27致谢28附录29附录A:实物图29附录B:主程序301 绪论1.1 研究背景如今,对于浇灌系统而言,微喷技术被国际上许多国家广泛采用,该项技术的工作原理为借助低压管道让水快速的射出,并在空气里分散为细小的水珠,从而让这些水雾覆盖于种植物、农作物及周围的土地表面,使得农作物不再缺乏水分。该系统具有节约水,对植物的冲击力小等优点,不过此系统主要应用于植物种植密度大,植物柔软细嫩的场合。随着社会生产力的发展,人们的生活水平也在不断提高,如今千家万户都会在自己的余暇功夫里自己栽培花草。不仅美化环境,又能净化空气。植物的生长是离不开

8、水的,但是花盆的储水量是非常有限的,需要定期浇水,人们也许会因为工作忙可能会忘记给植物浇水,或者没有一定的浇花经验甚至会因为浇水过多导致植物的死亡等。这都是非常不利于植物生长的。1.2 国内外的发展现状1.2.1国外研究现状 对于西方的发达国家来说,智能家用电器的技术已经十分先进,而站在国际的层面来看,由于我国的制造及设计产业在国际上的关键地位,使得中国已然发展成国际上智能家电的主要市场。同时,也提高了我国对智能家用设备的重视程度,家居设备的研发与测试技术也得到了较为迅速的发展。随着科技的不断前进,智能家电所涉及的领域也越来越广泛,其中就涵盖了智能花盆。如今,智能花盆在全球已经受到广大客户的青

9、睐,虽然它们的控制及工作原理有着较大的差异,可它们设计的目的都是为了服务于人类平时生活中的养花种草等方面。在英国有这样的一类智能花盆,它的设计者是瑞贝克皮特森。它能够随时观察记录盆栽的生长情况。当主人靠近它时,它会发出声音来表示自己的需要。发出的声音可能是唱出来一首歌或者是几句话。“Plantroid”是一个智能花盆机器人,它是由东京农工大学副教授水内郁夫发明创造的,“Plantroid”与其它的花盆不同的是,除了有六个晶硅太阳能以外,在他的底部还装有四个可以滚动的滑轮,这使得其能够在地面随处移动。其内部装有光线传感器,当它检测到盆栽处于背阴处时,或者晒不到阳光的地方,机器人会自动下达指令让滑

10、轮走到有阳光的地方,因而方便了人们的植物培养,并且使得植物充分的享有光照进行光合作用,加速植物的健康生长。Click and Grow同样也是一款智能花盆机器人,它的创作者是美国的著名科学家,设计理念取自于美国航天航空局的相关应用,功能较为强大,给植物浇水施肥都能够做到。在不久前,英国学生娜塔莉金也创造出了一款智能的花盆机器人,此机器人的配套设施较为齐全,在花盆下面装有检测湿度与温度的传感装置,花盆表面设有光线传感器。这些装置的安装能够让植物在处于不适宜的环境下自动报警,比如在湿度过大或温度过强时,花盆都会自动闪光提示,让主人能够及时采取相关措施。1.2.2 国内研究现状 对于中国而言,已然出

11、现了许多供植物浇水的器具,然而这些都是传统的浇水设施,在智能机械方面的研究成果较少。目前,在中国市场上普遍存在大量的自动浇水装置,可是这些浇水的器材都是传统的定量浇水,很难根据植物的自身需要进行适当适量的浇水施肥,这也导致了大面积的水资源浪费,不仅没有使得植物得到很好的生长,相反却让植物的成长起到了副作用。由于全球技术的高速传播,如今的中国也有许多关于智能花盆方面的研究。杨守建等人于2011年,开始了相关方面的工作,他们研究的主要任务是利用装置检测土地的湿度及温度,参照检测装置反馈的数据对植物进行适当适量的浇水,整个科研的经费花费较少,且后期维护的花销也不高。与此同时,王薇等学者在2011年也

12、开始了相关智能花盆上的研究,此种智能花盆由多个部分组成,其中包括:放大电路、比较电路、驱动电路、继电器、电磁阀等等。工作原理也是能够自主检测植物土壤周围的湿度,从而根据实际情况进行浇水。 学者张兆朋在此方面也有着自己的发面,他一人设计创造了小型的职能家庭浇水仪器,同时更够依据植物的不同种类,运行不同的控制程序。在工作原理上也是参照上述几种智能仪器,实现自主职能浇水。学者赵丽也发明了一类高效智能的植物浇水装置,在仪器底部装有传感装置,用以检测相关环境的温度、湿度,在借助单片机展开数据分析,下达相关的执行指令,对浇水器进行控制,完成相关的浇水任务。学者罗维也开展了智能浇水装置的相关工作,他是立足于

13、TRIZ理论的基础上来研发,提出了可控自动浇花的整体方案设计,这个使用新型具有自动浇花装置和并解决了水流量可控问题。 现如今科技不断发展,智能化技术发展迅速,逐步向工业,军事等领域渗透,和日常生活密切相关。同时家用电器的智能化也得到了广大国民的青睐,所以,对于智能花盆的相关研究还是十分有必要的。1.3主要设计内容此论文是立足于单片机的自动浇花器设计:(1) 完成整体的规划和结构设计(2) 围绕着单片机展开相关工作,并对装置原件展开处理,让它们有机的搭配起来。主要的硬件部分涵盖有:土壤湿度检测电路、光亮度检测电路、电源电路、按键设置电路、LCD1602显示电路与继电器控制水泵电路。以及系统的软件

14、设计及编写,使其与硬件模块互相配合。大体涵盖有以下几类程序:主要程序、湿度检测程序、信息汇总程序、按键触碰程序、运行子程序等。(3) 完成硬件模块和软件模块的调试。2 系统设计2.1 方案论证2.1.1 总体方案设计该方案的系统体系主要由两部分共同搭建,分别是:硬件方面、软件方面。硬件模块方面大体包括了土壤湿度检测模块、光亮度检测模块、按键设置模块、LCD1602显示模块与继电器控制水泵电路模块,设计了一种智能浇灌的系统,这个自动浇花系统可以在没有人的环境下做到对植物进行自动浇灌,在花卉需要浇水的时候,可以根据土壤干湿程度以及光照的强度,对植物的浇水进行自动控制。单片机是此方案的控制中心,通过

15、环境湿度检测仪展开相关信息的传递,继而使用智能系统规定其湿度的最大及最小值,然后再借助单片机将传输来的相关信息展开分析与整理,从而评估外界环境的湿度。一旦反馈的湿度值明显小于规定的湿度最小值,那么单片机将下达指令至控制水泵,让其进行浇水行为,在经过一段时间的浇水过后,当湿度达到规定的最大值时,仪器又将停止运水,这就是整个浇花的工作原理。或在无人的情况下,根据自己的浇灌经验通过设定时间来进行浇灌,当到达设定时间时单片机控制水泵浇水,超过一分钟后水泵停止浇水。本实验主要完成以下的几个功能:1.借助湿度传感器采集土壤湿度的相关信息;2.显示测量的数据3.对最适宜植物成长的土壤进行分析,并规定其湿度的

16、最大值和最小值;4.使用光敏电阻测量光照量5.不同模式的选择。2.1.2 土壤湿度测量方案检测土壤湿度的相关活动在众多的部门中都得到了广泛的应用,其中主要包括:科研单位、工业制造、气象监测等,然而在一般的情况中,对于土壤水分的检测并不是唯一的数据。因为土壤湿度会受到大气压强、温度或人类甚至无法察觉的因素影响。如今,对于土壤湿度的测量我们通常有2种方法,分别是干湿球与电子湿度传感器。下面是对两种方法展开的对比研究,旨在选择最佳的检测方法。对于干湿球方法而言,它属于非直接的检测方法,借助对干球与湿球的两种测量从而了解其湿度。因此对工作环境的温度没有严格的限制,在环境温度比较高的情况下也不会对传感器

17、造成损坏。所以,如果在温度较高或者环境较为恶劣的情况下,我们会优先选择干湿球法。随着科技的不断进步,电子湿度检测在这些年得到了广泛的推崇,由于其测量数值较为精确,一般可达2一3RH,同时在运行的阶段对外界的影响有着较强的抗干扰能力。但使用的时间一长,传感器的精度就会有所下降,因此电子式传感器比较适用于工作在常温、稳定的环境中。2.2 硬件的选择(1) 土壤湿度传感器的选择:选取的yl-69土壤水分传感器作为土壤传感系统模块,灵敏度可调,数字输出简单,模拟输出准确,比较器LM393,工作稳定可靠。(2)主控芯片的选择:方案一:使用STC89C52系列的单片机,特点是驱动能力强,运转比较稳定,与A

18、T89C51系列相比拟,性价比较高,抗干扰能力强。方案二:使用AT89C51单片机,AT89C51系列是我们在常接触的单片机,所以资料的查询比较容易。它由Atmel公司生产的。主要的特点是低电压、高性能,同时价格也比较便宜,最主要的是AT89C51单片机和 MCS-51系列有很好的兼容性。但缺点是定时器、ROM较少。AT89C51单片机是我们学习的主要单片机,它的配置已经完全可以满足系统的需求,所以选择方案二AT89C51单片机。(3)A/D转换芯片选择:第一种方案:通过ADC0832芯片转换,ADC0832转换芯片为双通道8位分辨率的转换芯片。其最高分辩可达256级。由于其转换速度快、便宜、

19、体积较小、稳定性高等特点,因此深受单片机爱好者喜爱,普及率极高。第二种方案:ADC0809转换芯片ADC0809芯片的使用,是一种并行转换芯片,相比较ADC0832要快得多,但其引脚电路比较复杂,并且价钱是昂贵的。综合考虑选用ADC0832可以满足系统需求,故选用方案一。(4)继电器选择:在早期设计阶段,仪器的运行需要利用小电流实施对大电流的操控,因此我们选择了继电器去操控电磁阀的运行。由于工作电压在只有5V左右,并且成本低。综上所述,本次的系统设计中,选用的是松乐SRS-05VDC-SL型号的继电器。其工作电压为5V,它的触摸电容值为3A /250VAC / 30V直流,并在市场价格约1.5

20、元。(5)显示器的选择:因系统需要必须用到一个显示系统模式功能和检测数据的显示器。LCD1602本身是一个特殊的显示字母、阿拉伯数字和符号的点阵液晶显示,按照系统的需求,我使用的是可以同时显示出16*02即32个字符的16脚(带背光)模块。(6)电源选择:系统选用5V电源适配器,考虑到水泵的运行可能会导致屏幕显示不清,所以给水泵配备3节干电池。2.3 系统结构此系统主要由六个电路组建而成,分别为:土壤湿度检测电路、光亮度检测电路、电源电路、按键设置电路、LCD1602显示电路与继电器控制水泵电路。系统原理图如图1所示。LCD1602显示电路单片机电源电路A/D转换模块土壤湿度检测电路LED灯亮

21、光亮度检测电路继电器控制水泵电路按键设置电路图1 系统原理图3 系统硬件设计3.1 AT89C51单片机简介及设计3.1.1 AT89C51主要性能参数AT89C2051是一款极为精简的51单片机,将P0口和P2口进行了精简,引脚也仅有20个,然而其内部却安装了十分实用的模拟比较器,对于开发研究精简的51系统而言,其是最好不过的选择了,因为在大多数的情况下,我们开发根本用不到所有的32个I/O口,所以选择AT89C2051较为适宜,不仅芯片体积更小,同时其工作电压最低为2.7V,所以用来开发时能够用5号电池供电的便携式产品。其引脚图如图2所示。与MCS51系列彻底兼容K字节可重复擦写Flash

22、闪速存储器1000次擦写周期4.05.5V的工作电压范围全静态工作模式0HZ24HZ三级程序加密锁32个可以编程的I/O接口低功率空闲和掉电模式有6个中断源内部RAM字节为128*82个16位定时计数器全双工串行UART通道看门狗(WDT)及双数据指针掉电标识和快速编程特性其主要性能参数如下所示:图2 AT89C51引脚图3.1.2 时钟电路单片机AT89C51的内部装有一个以高增益的发达器,在此之内同样包含了一个输入端与一个输出端,分别是以引脚XTAL1与XTAL2的放大器,最终的目的是为了搭建一个较为巩固的自激式振荡电路,因此我们一定要在XTAL1及XTAL2引脚中装设晶体振荡器、陶瓷振荡

23、器,此电路的输出能够传送到程序内部的时序电路。对于单片机AT89C51而言,其产生的时钟途径主要包括以下两种:外部时钟与内部时钟。就单片机的时钟电路而言,其重要性不言而喻,它相当于人体的大脑,控制着单片机的运行频率。而连接单片机的主要形式通常包括以下两种:外部时钟形式、内部时钟形式。之所以选用此方案的内部时钟的理由为:一个高增益放大器和相位平方芯片内部外部跳线晶体,调谐电容时钟电路生成的结构形式,时钟电路图的系统如图3所示。在这一系统中,内部时钟模式,C1、C2使用30pf,C1、C2可微调频率,对于晶振频率的选择是12mhz。为了可以保障振荡器的可靠性、稳定性、缩小寄生电容发生概率。时钟电路

24、图如图3所示。 图3 时钟电路3.1.3 AT89C51的复位电路51单片机高电平复位。就现如今使用比较多的AT89系列得单片机来讲,在复位脚加上2个高电平机器周期(即24个振荡周期)就可以使单片机进行复位。复位后,单片机的主要特征是各IO口显现为高电平,程序计数器开始从零运行程序。复位方式有两种:1.手动复位:当按钮按下时,复位脚就会获得VCC的高电平,单片机复位。当按钮放开后,单片机就从头开始运行。2.上电复位:在复位电路通电以后,电容电压不能够突变,VCC电压利用复位电容(10F电解)给单片机复位脚施加5V的高电平,与此同时,通过10K的电阻向电容器进行反向充电,使复位脚电压逐渐降低。经

25、过一段时间后(约10毫秒)复位脚的电压变为0V,单片机继续开始工作。本系统选用的是手动按键复位的模式,采用的措施是接一个按钮在复位RST端和正电源Vcc之间。当按钮被按下时,Vcc的+5V电平就会被直接加到RST复位端。由于按键闭合的时间非常短,而我们总可以使按钮保持最起码十毫秒的接通时间,因此,完全可以符合对复位的时段要求。图4为按键电路图图4 按键电路图3.2 YL-69土壤湿度传感器该系统设计采用yl-69是一个相对简单的土壤水分传感器,这相当于一个湿敏电容原理,当测试土壤水分的变化,通过湿敏电容所处的空间内介质发生变化,这也导致了其电容数值产生改变,并且电容的数值和湿度值之间呈正比关系

26、。YL-69表面经过镀镍处理,可以很好的提高导电性,保护传感器不易被腐蚀。借助电位器掌控有关的阀值,在探查到环境湿度在最小值以下,DO随之产生高电平;相反,在探查到的环境温度在最大值以上,DO随之产生一个低电平。本次系统的电路设计为VCC外接一个5V电压,GND外接数字地,DO"小板数字量输出接口(0和1)”接到单片机。电路原理图如图5所示,k1是YL-69探头。图5 YL-69与AD转化电路3.3 ADC0832转换芯片ADC0832是串行接口8位的A/D转换器,ADC0832与单片机是由三根导线相连接,它的主要特点为着性价比高、耗能低,多用于使用在袖珍型的智能设备中。ADC083

27、2是一个8位分辨率,这样的分辨率可以达到256的最高水平,仿真的一般是没有问题的。ADC0832资料整理采用双数据输出完成,以达到减小误差的目的,转换速度快、稳定性强。ADC0832为减少数据错误,校对时采用的是双数据使用手段,提高了转换速度,并且增加了过程的稳定性。因为ADC0832完全可以实现单独输入,所以处理器就能够更方便的控制多个器件。利用DI数据输入,可以使信道功能选择简单。它的优势在于,在8位分辨率的条件下,基准电压为5v时,能耗能够降到15mW;输入和输出电平与CMOS及TTL兼容;输入的模拟信号的电压范围在05V;有两种模拟输入通道可供选择;在时钟频率为250kHz,转换时间为

28、32us;以供给选择的模拟输入通道;在时钟频率为250KHZ时,转换时间是32us;ADC0832有DIP和SOIC两类,DIP的ADC0832引脚布列如图6所示。每个引脚解释如下:CS芯片选择端,低电平有效。cho,CH1两模拟信号输入。DI数据信号输入,选取通道控制。DO数据信号输出,改变数据输出。CLK串行时钟输入。Vcc/REF电源输入和参考电压输入。图6 ADC0832引脚图ADC0832 的控制原理:ADC0832在经常的使用情况下有4个引脚与单片机连接,这4个引脚分别为CLK、DI、CS、DO。因为ADC0832的通讯在并非会同时利用DO端口和DI端口,而且是DO和DI端口与单片

29、机的接口是双向的,所以在设计电路的时候不妨用一根线将DO端和DI端衔接到一块儿。当ADC0832未运行,其端口CS为高,这一次的芯片将被禁止,DO/DI和时钟可以是任意的水平。如果需要进行A/D转换,那么CS端口必须为低电平并且需要保持到A/D转换完成为止。在芯片开始工作的时刻,处理器将会向ADC0832的时钟输入端CLK提供时钟脉冲,DI端口将会进行数据信号的选择 ,在第1个时钟脉冲信号来到前,DI端口一定要是高电平,这意味着程序启动。在第二个和三个时钟脉冲到来之前,DI端口应该能够输入到2位数据来选择信道功能,如表1所示。表1 ADC0832的配置位输入形式配置位选择通道CH0CH1CHO

30、CH1差分输入00+-01-+单端输入10+11+如表1所示,和CH1的0和0号的配置,只有一个单一的频道转换CH0。在配置位CH0与CH1数字为1、1时,只是能够对CH1进行单通道转换。在配置点0和0、0号+的CH1,正输入0和负输入- CH1,两输入。在配置位CH0与CH1数字为0、1时,负输入端IN-位CH0,正输入端IN+位CH1,将其二者进行输入。第三脉冲到达后,DI口将失去输入电平的功能,在此之后DI/ DO侧将开始读取输出数据,通过DO数据转换。从第四个时钟脉冲起,转换数据的最高位D7将由DO端口输出。直到最低位数据从第11个脉冲发出时,这就实现了一个字节数据的输出。在同一时间,

31、相对字节数据也将被输出,这是从第十一时钟脉冲输出开始。从第11个到第19个输出8个时钟脉冲,到19个时钟脉冲输出之后,A/D转换即完成了一次。将CS设置为高电平,使芯片不能使用,最后将数据转换为待处理的保留。3.4 SRS-05VDC-SL继电器继电器(relay)是一种电控制器件,能够将线性变化的输入量输出为阶跃变化结果。这种特质就可以被利用来起到控制的作用,当输入量达到了一定程度,就可以通过控制阶跃变化的结果反过来影响整体电路,在整个电路中,继电器只需要很小的电流,相当于以弱电流来控制大电流的控制器,而且一定程度上继电器还可以用来保护电路,防止电压变化过大,损害电子元件。当前市场上的继电器

32、种类有很多,但是经过一一对比,本系统选择电磁继电器作为整个电路的控制方式。电磁继电器结构较为简单,线圈、铁芯、衔铁及触点簧片等就可以完成功能上的需求。其原理是通过电流变化来改变电磁效应的强弱,从而将电信号转化为磁性强度变化,最终通过触点的接触与否来影响电流的通断。图7中Q2PNP型三级管的b基级低电位时,三极管导通,继电器掌管K1单刀双掷开关向右边偏离,电机M水泵通电,水泵开始运行。图7 继电器控制水泵3.5 按键电路因本系统设计定时电路,需要用按键进行设置,所以加入按键模块按键:按键设计如图8所示。S1是模式键、S2是设置键、S是调整加键、S4是调整减键。图8 按键电路3.6 光敏电阻及其控

33、制电路光敏电阻的特点在于能够将光学物理信息转化为电信号,这种特质也是其命名的来源,这种电阻也可以被简称为光电阻,或者可以称它为光导管。具体来说,这种电阻可以在不同运动,电子的光照强度下表现为不同的电阻值,所以用这种材料制成的电阻器也被称为光电导探测器。当照射光强增加时,电阻值不断减小,变化趋势呈现为负相关,反之亦然。这是因为光照产生的载流子改变了材料导电的能力,在外加电场的干预下能够以漂移的方式运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的导电能力迅速提升,在物理值上反映为电阻的降低。本次系统设计将光敏电阻并联在湿度传感器的电路中。电路图如图9所示。图9 光敏电阻电路图3.7

34、 DS1302时钟芯片DS1302是比日常中比较常用的一种时钟芯片,它具有计时的功能。在本次系统中,因为要加上定时功能,所以选择在系统在加入DS1302芯片。它和我们日常接触的电子表功效基本相似,能够对年月日、时分秒、礼拜计时。我们能够经过对按键的调整用单片机往DS1302里面写入时间进行时段的设置,也能够用单片机从DS1302中读取时间,读出来的时间也可以放在液晶上显示。电路图如图10所示。 图10 DS1302时钟芯片电路图4 系统软件设计4.1 系统流程图系统软件设计包括对土壤湿度检测程序、对采集到的数据进行处理的程序、设置湿度上下限的程序、按键程序、显示程序等。主程序流程如图13所示。

35、否是图14 程序流程图4.2 土壤湿度检测程序土壤湿度传感检测模块对土壤的湿度变化特别敏锐,日常用来检测泥土的湿度,模块在土壤湿度达不到设定阈值时,DO口输出高电平,当土壤湿度高出设定阈值时,模块D0输出低电平;小板数字量输出D0能够与单片机直接相连接,通过单片机来检测高低电平,由此来检测土壤湿度void display1(void)/白天自动检测浇花 ad=ADC0832_read(0);Delay_ms(25);temp=(1-(double)ad/255)*100;if(temp<=jiaohua_num)if(f=0)/清屏标志位LCD_write_command(0x01);d

36、elay_n40us(100);f=1;lcd1602_write_character(0,1,"Flower is Dying!");lcd1602_write_character(0,2," Auto Watering!");jidainqi=0;jidainqi_led=0;/自动浇花else/if(temp<1.5)/wei=sprintf(temp_ad,"%0.2f",0);/elsewei=sprintf(temp_ad,"%0.2f",temp);if(f=1)LCD_write_comman

37、d(0x01);delay_n40us(100);f=0;lcd1602_write_character(0,1," The mode one:"); /初始化显示的文字lcd1602_write_character(3,2," ");lcd1602_write_character(9-wei,2,temp_ad);lcd1602_write_character(9,2,"%RH");jidainqi=1;jidainqi_led=1;/停止浇花4.3 设置湿度上下限程序void display4(void)/浇花湿度设置 T0_nu

38、m+;if(T0_num=254) T0_num=0; lcd1602_write_character(0,1," Set water num"); /初始化显示的文字if(T0_num%2=0)/偶数次显示LCD_disp_char(9,2,ASCIIjiaohua_num/10); /LCD_disp_char(10,2,ASCIIjiaohua_num%10); / Delay_ms(1);elseLCD_disp_char(9,2,ASCIIjiaohua_num/10); LCD_disp_char(10,2,ASCIIjiaohua_num%10); 4.4 按

39、键程序按钮是机器的特性。但按钮关闭后,可即时保持良好的接触,二十反弹回。时间很短,我们根本感觉不到。但对于每秒数以百万计的指令可以在单芯片上执行,这个时间是比较长的。在这段上下震颤的期间里,单片机会读到很许多的高低电平。假如不对其采取得当的处置,那么系统会以为按键被按了屡次。但是实际上,操作者通过手的不断触碰,这并非是多次相同按压。假若要想准确的判别按键是不是被按下,系统就需要是不是这段时间。根据正常按钮的力学特性,这段时间一般在10ms 30ms。按键流程图如图14所示。图15 按键流程图unsigned char v_readkey_f(void);/延时程序unsigned char k

40、ey;if(P17=0)delay(30); /延时30msif(P17=0) key=1; while(!P17)/等待释放 elsekey=04.5 LCD1602显示程序液晶显示器LCD1602是液晶的物理特性来实现原理来使用的,使用电压可在显示区域,当有电,LCD可以显示图像。液晶显示器(LCD)很薄,可以大规模电路直接驱动,实现彩色显示非常方便,已广泛应用于平板电脑、智能相机,移动通信工具,LCD1602液晶显示和数据写入书面说明和程序如下:void write_com(uchar com)/写指令rs=0;rd=0;lcden=0;P0=com;delay(5);lcden=1;d

41、elay(5);lcden=0;void write_date(uchar date)/写数据rs=1;rd=0;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;5 仿真设计与硬件调试5.1 硬件调试在参考电路的运行图之后,依照其样式将实物制出,然后把程序烧录至AT89C51单片机内接通电源,将YL-69土壤湿度传感器探头放入土壤中,按键调至模式一,调至湿度值50%,屏幕显示浇水开始,水泵运行,浇灌到设定湿度值时停止浇水。按键调至模式二,检测到湿度值低于设定湿度,水泵开始浇水,将光敏电阻遮盖住,屏幕显示为夜间模式,停止浇水。将其按键转换到第三

42、种模式,规定时间并运行浇水,在系统检测到需要浇水时,水泵便会自动出水,运行60秒后便停止灌溉。之后,看实物能否稳定操作。如果一切显示都正常的话,就无需开展硬件的相关调整,如果运行的不正常则要分析其原因并开展相关调试工作。第一次调试实物无法按正常设计步骤运行,做一下检测:(1)对于电路板进行检查,观察其焊接有没有出问题或是有零件松动及相关零件的安装;(2)通过万用表观察其有无错误及引脚短路的情况;(3)测试元件是否毁坏;测试结果及结论(1)因为电路复杂,在焊接中按键电路与定时电路焊接出现短路现象,在拆解的过程中由于引脚细小,用力不当导致按键和电路板损坏。所以进行二次焊接。(2)在进行了全方位的调

43、试过后,发现其可以正常运转并且没有问题出现,这表明了该系统具有较好的稳定性;在不同湿度的土壤环境中,该系统仍能够稳定运作,同之间的假设一样,表面程序没有错误;(3)该系统在检测湿度时,反应时间较短且数据较为精确,所以我们觉得在时间上完全符合要求。结论基于单片机的自动浇花器的设计,是基于电子自动洒水装置原理的基础上,利用现代传感器技术采集土壤水分数据,利用单片机控制系统对各部分进行控制,使其浇灌模块是否进行运作。这个自动浇花器系统分为两个部分,一个是通过检测土壤湿度数据并在LCD1602上进行显示,二是通过系统分析对灌溉系统进行控制。土壤湿度测量的模块为YL-69,其主要的作用是将测量的湿度信息

44、传递至单片机的系统内部,同时利用单片机的处理将I/O传递至LCD屏幕上。LCD上显示的值是土壤的含水值,这是判断灌水是否的数值。程序的控制部分由自动浇花部分组成,而系统的监察部分则是由土壤湿度处理组成。整个系统的为智能化的自动运行,程序的控制主要是通过单片机分析数据并处理得来,在湿度监测仪检测到土壤湿度低于规定的数值后,那么单片机将下达指令至控制水泵,让其进行浇水行为,在经过一段时间的浇水过后,当湿度达到规定的最大值时,仪器又将停止运水,这就是整个浇花的工作原理。单片机还可以手动输入定时时间,时间会通过LCD1602进行显示,通过程序设计浇灌开始及浇灌结束时间。参考文献1陶佰睿,顾丁,苗凤娟,

45、张冬梅,刘文慧,彭立志.一种基于单片机的湿度传感器校准实验平台设计与实现J.传感技术学报,2013,03:435-438.2刘攀.基于单片机的智能浇花器硬件系统设计J.产业与科技论坛,2016,06:56-57.3吴平.多路智能家庭实用浇花器设计J.价值工程,2014,12:23-25.4栾瑞.无线温湿度监测系统的设计D.吉林大学,2013.5刘光伟.基于单片机的温室温湿度监测系统设计与实现D.燕山大学,2012.6吴光杰.王海宝.传感器与检测技术M. 重庆:重庆大学出版社,2011.7郭东平.基于单片机的大棚温湿度监测报警装置的研究与开发D.西北农林科技大学,2015.8杜树春.基于Prot

46、eus和Keil C51的单片机设计与仿真M. 北京:电子工业出版社,2012.9赵振德.单片机原理及实验/实训M.西安:西安电子科技大学出版社,2009.10张问银,陈丙康,郭锋,李新颜,黄夫海.一种单片机原理实验箱P.山东:CN203192291U,2013-09-11.11季作亮.基于单片机的温湿度控制系统的设计D.山东师范大学,2014.12PedroM.Faia,JulianoLibardi,CristinaS.Louro.EffectofV2O5dopingonp-ton-conductiontypetransitionofTiO2:WO3compositehumiditysens

47、orsJ.Sensors&Actuators:B.Chemical,2016,222.13TaherAlizadeh,MahrokhShokri.AnewhumiditysensorbasedupongraphenequantumdotspreparedviacarbonizationofcitricacidJ.Sensors&Actuators:B.Chemical,2016,222.14YangLi,KaichengFan,HuitaoBan,MujieYang.Detectionofverylowhumidityusingpolyelectrolyte/grapheneb

48、ilayerhumiditysensorsJ.Sensors&Actuators:B.Chemical,2016,222.致谢时光荏苒,不觉四年已过去,心中万分感慨。在此论文完成之际,我要向许多人表示由衷的谢意。首先,我想对我的导师表示深深的敬意和真挚的感谢!您严谨的治学精神,精益求精的工作作风,深深地感染了我,激励我要更好的完成课题研究。授人以鱼不如授人以渔,置身其间,使我学会用灵活的全新思维方式去看待、解决问题。您朴实无华、平易近人的人格魅力更深深地影响了我,使我明白了许多为人处世的道理。其次,本论文的顺利完成,离不开各位同学和朋友的热心帮助。在撰写期间,对本课题给予了很多启发。同

49、他们一起的学习研究交流中,也让我从他们的身上学习到了很多。有幸能与你们一起学习,是我的莫大的收获。在此,我要向他们表示我的感谢。也祝愿他们人生道路上一帆风顺、事业有成!最后,我要深深感谢我的家人,多年来一直在背后默默支持我,并用最无私的爱,让我全身心投入到学习和研究中。我欣慰地知道,多年以后这里依然会到处充盈着我的气息,承载着我的青春岁月,对此我满怀感激。再次感谢你们。附录附录A:实物图附图1实物图附录B:主程序#include<reg52.h>#include<LCD1602.h>#include<ADC0832.h>#include<INTERRU

50、PT.h>#include<math.h>#include<stdio.h>#include<EEPROM.h>#include<DS1302.h>sbit jidainqi = P14;/自动浇花开关sbit jidainqi_led = P13;/自动浇花开关指示灯sbit key_mode = P32;/模式切换按键sbit key_set = P33;/设置sbit key_jia = P34;/加sbit key_jian = P20;/减sbit guang = P22;/光uchar temp_ad6; double temp

51、;uchar f=0;uchar wei;uchar mode;uchar set_time=0;uchar jiaohua_num;/浇花湿度值uchar set_shidu=0;/按键设置标志位uchar T0_num;uchar ad;char naozhong1=0x00,0x00,0x00;/*函数名称:void delayms(uint ms)函数作用:毫秒延时函数参数说明:*/ void Delay_ms(uint ms)unsigned char i=100,j;for(;ms;ms-)while(-i)j=10;while(-j);void display(void)/选择页

52、面lcd1602_write_character(0,1,"Watering System "); /初始化显示的文字lcd1602_write_character(0,2," Choice mode"); /初始化显示的文字void display1(void)/白天自动检测浇花 ad=ADC0832_read(0);Delay_ms(25);temp=(1-(double)ad/255)*100;if(temp<=jiaohua_num)if(f=0)/清屏标志位LCD_write_command(0x01);delay_n40us(100);

53、f=1;lcd1602_write_character(0,1,"Flower is Dying!");lcd1602_write_character(0,2," Auto Watering!");jidainqi=0;jidainqi_led=0;/自动浇花else/if(temp<1.5)/wei=sprintf(temp_ad,"%0.2f",0);/elsewei=sprintf(temp_ad,"%0.2f",temp);if(f=1)LCD_write_command(0x01);delay_n4

54、0us(100);f=0;lcd1602_write_character(0,1," The mode one:"); /初始化显示的文字lcd1602_write_character(3,2," ");lcd1602_write_character(9-wei,2,temp_ad);lcd1602_write_character(9,2,"%RH");jidainqi=1;jidainqi_led=1;/停止浇花void display4(void)/浇花湿度设置 T0_num+;if(T0_num=254) T0_num=0; lcd1602_write_character(0,1," Set water num"); /初始化显示的文字if(T0_num%2=0)/偶数次显示LCD_disp_char(9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论