随着人们生活水平的提高,花卉逐渐收到人们的青睐,陶冶情操,净化空气。利用单片机设计了一款家庭智能浇花器实现自动浇花,节省人力,方便人们出差的时候,不至于影响花卉的生长,如果在家也可以关断浇花器,手动浇花。浇花器设置为两种方式,一种是定时定量浇花,一种是根据湿度浇花。采用哪种方式是通过按键控制或者红外遥控的,在采用定时定量浇花时,数码管显示时间和流水时间,在选用根据湿度浇花时,数码管显示是目前的湿度。
1 总体设计
利用AT89S52单片机设计了自动浇花器,针对不同的花卉,此智能浇花器设置为两种方式:一是定时定量浇花,二是利用湿度传感器检测花卉(也可以用于蔬菜等)的湿度,采集的湿度传送到单片机芯片,单片机根据湿度控制是否浇水,如果需要浇水,单片机的一个引脚p2.0置高电平,使继电器线圈通电,敞开触点闭合,打开电磁阀,实现定时定量的自动浇水,设定时间到,电磁阀自动闭合,并且水流时间可调,上面安装了数码管,并有一个按钮根据不同花卉所需水量不同,设置浇花时间长短,在数码管上可以显示浇水时间的长短;如果检测湿度足够,p2.0仍保持为低电平,不打开电磁阀。采用哪种方式是通过按键控制或者红外遥控的,在采用定时定量浇花时,数码管显示时间和流水时间,在选用根据湿度浇花时,数码管显示是目前的湿度。
该技术所采用的技术方案是:利用单片机实现自动控制,首先检测采用何种方式浇花,如果定时定量浇花,就在规定的时间开始浇花,按照设置浇花时间的长短进行浇花;如果是根据湿度控制是否浇水就设置单片机1个引脚为低电平,湿度传感器检测湿度,传送给单片机芯片,当检测到湿度不够时,单片机这个引脚就变为高电平,把继电器吸合,常开触点闭合,使得电磁阀线圈得电,此时电磁阀门有闭合变成断开,水流经过,给花卉浇水。其结构如图1所示。
2 硬件设计
硬件电路由单片机、湿度传感器、继电器、电磁阀、数码管、1302芯片、按键、红外遥控接收等组成。注意,电磁阀如果安放离单片机太近,将会造成无法正常工作,解决方法是:1)电磁阀远离单片机;2)加入电阻电容。这里采用的是加入电阻电容的方法,这样方便把元器件集中,所做控制器也比较小。智能浇花器的原理图如图2所示。
2.1 定时定量浇花方式
定时定量浇花是每天规定的时间开始浇花,设置浇花时长,比如1分钟,1分钟后停止浇花。具体硬件:安装了2个三位共阳数码管和1个两位共阳数码管,用以显示时间和浇花时间的长短。按键控制时间调整和时间设置调整,并有一个按钮根据不同花卉所需水量的不同,设置浇花时间长短,在数码管上显示出来,1302芯片实现时间保持,断电时不影响时间。
这里可假设每天早上7点20分自动给花卉浇水,浇花时间为1分钟,到了早上的7点20分,单片机控制智能浇花器开始浇花,单片机p2.0引脚接继电器,继电器接电磁阀,电磁阀控制水流,到了7点20分,给单片机一个指令,setb 02.0,三级管导通,这样继电器线圈有电流经过,对应的常开触点闭合,使得电磁阀线圈得电,此时电磁阀门由闭合变成断开,水流经过,给花卉浇水,1分钟时间到,给单片机一个指令clr p2.0,这样单片机p2.0引脚输出低电平,三极管截止,继电器线圈没有电流经过,常开触点恢复为断开,电磁阀线圈失电,此时电磁阀门闭合,水流停止。这里的时间是显示在数码管上,通过按键控制,时间可调整,同时浇花的时间也可以通过按键设置,另外浇花时间的长短也可以通过按键调整。同时加入1302芯片,为了断电时不影响时间正常,防止每次断电后都要重新调整是时间。图3为定时定量浇花结构图。
2.2 湿度控制浇花方式
先通过按键设定湿度,这里选用的湿度传感器是LTM8901湿度传感器,LTM8901是一款专门为用户设计自身产品而提供的数字化温湿度探头,其湿度测量量程为1%~99%RH,分辨率为0.5%RH,测量精度为±3.0%RH(典型值);温度测量范围为-25~+60℃,分辨率为0.062 5℃,测量精度为±0.5℃;响应时间典型值为5 s;工作电压范围为4.5~5.5 V。LTM8901将测量结果直接输出为数字信号,通过“一线式总线”串行传送给单片机,不需要进行模数转换,减少了元件,简单方便。利用LTM8901湿度传感器检测到湿度,传送到单片机进行处理,湿度显示在数码管上,当湿度低于设定值时,给单片机一个指令,seth p2.0,继电器线圈有电流经过,对应的常开触点闭合,使电磁阀线圈得电,此时电磁阀门由闭合变成断开,进行浇花,当等于或高于设定值时,clr p2.0,继电器线圈失电,对应常开触点断开,电磁阀线圈失电,阀门闭合,水无法流过,停止浇花。湿度控制浇花结构如图4所示。
2.3 方式设定
可以通过手按按键设定,按奇数次设定浇花方式为定时定量浇花,按偶数次,设定浇花方式为根据湿度浇花。也可通过红外遥控设定浇花方式,发射用电视遥控器,接收电路用三位一体接收器接收信号,三位一体接收器的1脚接地,2脚接电源,3脚(信号脚)与单片机一个I/O引脚相连,信号来时进行解码,做出不同处理,一次接收到信号按定时定量浇花,再次接收到信号根据湿度浇花,根据按的次数,奇数次采用定时定量浇花方式,偶数次采用湿度控制浇花方式,这主要是针对不同的花卉。接收到信号,发光二极管闪烁30 s。蜂鸣器响10 s,用以提示。智能浇花器外部构造如图5所示。
3 程序设计
3.1 程序设计思路
1)方式设定 通过检测按键按下次数来确定工作方式,设按下次数为n,第一次按下n=1,每次按下n加一,加到一定次数1 000,n从0开始,if(n=10000)(n=0);刚开始连接按键的引脚为高电平,一旦按下就变为低电平,通过检测高电平变为低电平的次数来检测是否按下;按下奇数次,采用定时定量浇花,偶数次采用通过检测湿度浇花,if(n%2=0)来判断,如果余数为O,说明偶数次,否则奇数次。
2)定时定量浇花 先写出时间显示程序,再判断是否到了设定的浇花时间以及浇花时间长短。
程序里,c表示时,b表示分,a表示秒,w表示设置的时间长短。首先时间没到的情况下,p2.0引脚为0(P2_0=0),不浇水,当时间到了设定的时间(if(c==7&b==20&0&a
>
/>