温禧龙 朱旺宇 王飞宇 张 蕊
(安徽师范大学皖江学院 安徽芜湖 241008)
随着现代人生活水平的提高以及对家庭环境和家居装饰的重视,在家庭栽种绿植逐渐成为一种新时代的潮流。但部分养花人受限于工作繁忙,无暇顾及花草;经验不足,无法正确提供植物所必要的光照和水分。为了避免不必要的损失,以及提高花草种植者的种植体验,文章设计了一个自动检测光照强度、环境温湿度和土壤湿度并进行浇水和提供人工光照实现自动照顾花草植物的设备。
系统主要以Arduino为核心,由光照强度传感器、DHT11环境温湿度传感器、土壤湿度传感器等作为信息采集子系统对环境数据进行收集,将收集到的数据汇集到Arduino进行处理。以水泵、LED植物灯为执行机构。
通过传感器实时监测植物周边环境温湿度以及土壤湿度、光照强度、光照时间并根据用户设定的模式判断是否需要开启人工光照和浇水程序。
物联网处理平台选择使用Arduino Mega、Arduino平台使用c语言进行开发,拥有自己的IDE和类型多样的库便于用户调用,减少开发时间。且mega2560接口丰富性能强,后期拓展方便。
文章使用GY-30光照传感器,测量范围1-65535lux,分辨率可达1lux,使用I2C通信,因本文在检测光照精度需求较高因此采用H-分辨率模式,此模式下测量精度更高,更能满足测量光照强度的需求。
环境温度传感器采用DHT11该传感器工作稳定可靠性高且价格低廉,温度量程为0℃-50℃精度为±2℃,湿度量程为5-95%RH精度±5%RH。供电电压3.3v。
使用YL-69传感器对土壤湿度进行测量。YL-69拥有四个接口,并可以通过A0接口输出模拟量,通过D0接口输出数字量。为获得更准确的土壤湿度值本文选用A0接口配合AD转换器接入Arduino模拟接口测量土壤湿度。
该设备使用15瓦LED植物灯,可通过模拟太阳光谱为植物提供光照,适合为完全室内种植的植物提供光照,促进植物生长且相较于传统钠灯光效高,更节能环保。
作为无线连接模块与Arduino通过TX RX接口连接实现数据交换,在本文中设置为STA模式,在此模式下ESP8266模块通过路由器连接到网络和服务器可通过电脑通过互联网实现对设备的远程查看和控制。
为使系统在未连接网络情况下正常工作获取时间,时钟模块采用DS1302可以提供年月日以及日期、秒、分钟等信息,并且还有闰年自动调整的能力,自带一颗纽扣电池保证系统在断电重启后也能准确获取时间。
文章设计机器有三种工作模式分别为自动模式、辅助模式和建议模式。可通过按钮和app操控实现模式切换,模式切换使用switch语句进行模式切换,当轻触开关被按下则切换模式。
在自动模式下浇花设备可自动进行土壤湿度判断并浇水,当土壤湿度低于设定值时自动打开水泵进行浇水5s之后判断水量是否充足,如果水量充足则结束浇水程序,反之则重复浇水程序直到土壤湿度传感器判断水量充足,并根据光线传感器返回值判断是否需要开启LED植物灯。
在辅助模式下浇花设备会辅助用户进行浇水,当用户忘记浇水时系统会自动浇水和提供光照,在检测到土壤湿度低于设定值时,系统会通过时钟模块获取时间,当时间超过凌晨2:00且土壤湿度低于设定值时设备会启动自动浇水程序。
在建议模式下浇花设备不会主动进行浇水和提供光照,仅会给用户提供浇水和光照建议,会读取传感器返回值并与设定值进行比较,当土壤湿度低于设定值时推送消息提醒浇水以及给植物提供光照。
设备每6分钟检测一次温湿度以及土壤湿度,当检测到土壤湿度低于设定值时,控制器向电磁继电器发送信号打开水泵浇水5s后等待5s,使水流有足够时间渗进土壤避免过量浇水。
本系统需要连接至服务器以实现向用户推送消息的功能,但由于ArduinoMEGA没有搭载WiFi模块,故本文将esp-01连接至Arduino实现WIFI通信。
本文设计的基于Aduino的智能浇花设备可实现对花卉生长环境的监控并自动进行浇灌以及提供光照,解决了传统浇水设备不够智能,浇水过量的问题。但整套系统仍存在浇水量的精细控制不足、温湿度的测量精度不高、光照时间的准确判断不足以及设备断网后无法及时向用户推送消息等不足。