基于AT89S52的家庭智能浇花器设计方案
先通过按键设定湿度,这里选用的湿度传感器是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&a<w)),开始浇水,等到了设定的浇水长短时间,p2.0引脚为0(P2_0=1;),停止浇水,这里设定的浇水时间较短。
3)湿度检测浇水 首先启动转换,读取LTM8901检测到的湿度,进行比较判断,最后执行。
3.2 流程图
智能浇花器程序流程图如图6所示。
4 结论
本文介绍了家庭智能浇花器的设计,进行了硬件设计与程序分析,已经做成实物,并且使用效果好。家庭智能浇花器用处较广,改变程序还可作为可定时开关、宿舍灯光系统、温控塑料大棚等使用,此家庭智能浇花器,也可以用在智能浇灌草坪、蔬菜等,把水箱去掉,直接接水龙头即可。系统设计的创新之处在于实现不同方式的自动浇花以及水管的可伸缩有助于改变花盆离水源的距离;在设计过程需要注意的问题是防止电磁阀吸合时使单片机复位,加入电阻和电容加以缓冲,在此系统中选用的电容为耐压400 V的。
AT89S52 温度检测 DS1302 单片机 红外遥控 相关文章:
- 基于AT89S52的机载电气盒测试仪的设计(09-18)
- 基于AT89S52单片机的电机控制系统设计 (08-26)
- 基于单片机的音乐播放器的仿真与制作(03-18)
- 基于AT89S52的MEMS陀螺信号采集与处理系统设计(10-09)
- 基于AT89S52的数字频率计设计(05-18)
- 基于单片机的语音播报万用表设计(06-15)