俞纪良,刘壮林,范海平,曾孟佳,2
(1.湖州师范学院信息工程学院,浙江湖州 313000;2.湖州学院理工学院,浙江湖州 313000)
随着人们对美好生活标准的不断提高,许多居民为美化生活环境和净化空气,在家里种植了盆栽植物[1]。但忙碌的生活使得人们很多时候无法及时给盆栽植物浇水,大大影响植物的正常生长和存活率。为保证家中绿植的生命活力,研制并开发一种自动浇花装置就很有必要。目前,市面上的自动浇水装置,一般通过人为在定时器上设定时间,计时清零时执行浇水动作实现[2],时间的设定依赖于种植户对绿植的养植经验,并不能根据植物所需和实际土壤状况实施较为精准的浇水动作。为解决上述问题,保证自动浇水的及时性和精确性,该文设计了一种以土壤湿度为依据的自动浇花系统,可使土壤湿度保持在合适的范围内,有利于绿色植物的健康成长。
自动浇花系统设计采用AT89C52 单片机为核心,其中按键电路、ADC0832 采样电路是输入模块,输出模块为水泵控制电路和LCD 液晶显示电路,总电源电路为各模块供电。
土壤湿度传感器可以获取当前的土壤水分信息,将采集到的模拟量转换成数字量,通过单片机进行传输,然后在LCD 液晶屏上显示[3]。通过单片机内置的判断程序语句来选择是否浇水。当湿度低于预设的湿度值时,单片机系统发出浇水信号,驱动水泵开始浇水,达到智能浇水的目的。系统硬件框图如图1 所示。
图1 系统硬件框图
电源电路使用的硬件接口是直流电源插座DC,可连接USB 电源线接5 V 电源[4]。LED 作为系统运行的指示灯,其中串联的电阻R7大小为1 kΩ,对LED灯起到限流保护的作用,可防止灯泡因电流过大而烧坏,导致系统故障。自锁开关SW 的功能是按下开关红灯亮,同时输出5 V 电源,电源电路如图2 所示。
图2 电源电路
微型水泵的作用主要是将水输送到花盆里面[5],水泵控制电路如图3 所示。水泵是将电机的机械能转化为抽送液体的动能从而达到抽送液体目的。在该电路中,LED 灯是黄颜色的,它的亮与暗可以反馈水泵是否正常工作。限流电阻R8大小为1 kΩ,作用是保护LED 灯不会因过流而烧坏[6],保证系统的正常运行。当单片机对应的控制引脚为低电平时,三极管打开,水泵正常工作。另外,电解电容的作用是滤除泵电源的低频参数,使水泵工作更加稳定,水泵为水流的传输提供了渠道,使得浇花变得更加方便。
图3 水泵控制电路
土壤湿度检测电路如图4 所示。其中ADC0832是一种8 位A/D 转换芯片[7],芯片转换时间短,转换速度快。土壤湿度传感器先检测土壤湿度,采集的实时土壤湿度会与单片机预先设定的湿度相比较,作为是否发出浇水信号的重要依据。ADC0832 选择模拟输入通道CH0 作为土壤湿度检测信号采集口,将土壤湿度传感器采集的数字信号转换为模拟电压信号[8],经过STC89C52 单片机传输到LCD 液晶显示屏上实时显示土壤湿度。
图4 土壤湿度检测电路
LCD1602 液晶屏驱动电路模块的作用是将显示字符的ASCII 码写入内部的显示数据存储器,通过LCD 液晶屏显示该字符[9]。LCD 液晶显示电路如图5所示。
图5 LCD液晶显示电路
选用的LCD 具有14 条引脚线,其各引脚的作用如表1 所示。
表1 LCD引脚作用表
LCD 显示的每个字符都是由点阵组成的,在编程显示时只需将对应的点置1,就可以显示字符[10]。通过LCD 液晶接收显示信号,每个字符点都会保持其原始颜色和亮度,并继续发光。这与数码管显示的机制不同,数码管动态显示时由于人眼的视觉暂留效果,通过循环扫描每一位数码管实现。因此,选用LCD显示器可以提高图像显示效果并且不会闪烁。
这个轻触按键起着电子开关的作用,其功能主要是通过按钮内部的金属弹片力来实现的[11]。初始化情况下,单片机的按键控制引脚为高电平。当按键被按下时,单片机的相关引脚由高电平变为低电平,同时运行该键的功能程序,所以系统可以通过按键手动配置湿度信息。按键电路如图6 所示。
图6 按键电路
选用AT89C52 单片机作为整个系统的控制核心[12],其具有8 位CPU,为自动浇花系统的运行提供高速运算支撑,8k 的Flash 存储器可以反复擦写,有利于该系统的优化改良。内部存储器用于储存土壤湿度信息,按下设置键后预设的土壤湿度值由中断系统实现。定时计数器为预设湿度值的增减作计数支撑,32个双向的I/O是单片机数据流动的桥梁。该单片机具有高度集成性,拥有掉电存储功能[13],适用于自动浇花系统的开发,其单片机引脚图如图7所示。
图7 AT89C52单片机引脚图
土壤湿度检测与自动灌溉系统流程图如图8 所示。根据绿色植物品种对土壤湿度的实际需求,提前设定土壤含水量的预设值,如30%。将土壤湿度传感器实时检测的湿度含量[14]与预设的湿度值进行比较,判断是否需要进行浇水。
图8 系统流程图
部分代码如下:
系统初始化后采集当前环境的湿度值。完成A/D转换后[15],设置好预置湿度值,传输到LCD 液晶屏上显示信息,系统确定当前土壤湿度和预设土壤湿度之间的关系。如果低于设定值的30%,继电器驱动水泵进行灌溉;如果高于设定值的70%,则继电器和水泵不工作。湿度传感器可以实时获取当前的土壤湿度。当浇水过程中土壤含水量大于设定值时,浇水过程结束。LCD 显示湿度图如图9 所示,LCD1602第一行显示了土壤当前湿度,第二行显示人为预设值[16],可以通过设置键调整土壤湿度上下限,按下增大键湿度加一,反之按下减少键湿度减一,再次按下设置键退出设置程序。
图9 LCD显示湿度
Proteus 仿真测试结果表明,进入自动浇花系统后,先预设土壤的湿度值。根据土壤湿度传感器采集的数据与预设湿度值对比进行判断,再进入程序处理[17]。当湿度值小于预设值时,进入水泵电机驱动程序并启动浇花功能,直到达到预设湿度。
自动浇水系统能对绿色植物进行监测[18],并能准确反馈土壤湿度信息,根据植物对土壤湿度的实际需求进行实时浇水。
该设计主要研究了土壤湿度与植物所需水分灌溉量之间的关系,使得绿色植物在生长过程中,其土壤湿度一直保持在合适的范围内。选用AT89C52 型单片机,在Keil 软件上采用C51 语言编写程序,最后运用Proteus 进行仿真测试,验证了系统的可行性和稳定性。当湿度低于预设值时,单片机发出浇水信号,水泵系统开始浇水,达到预设土壤湿度值后停止浇水。它适用于没有时间照顾花草的用户,为绿色植物的管理提供了方便。