引言
房子装修好之后,甲醛含量测下来很高,买了好几盆绿植净化空气。结果被派出去长期出差,正值天气转暖,花草得经常浇水,只好拜托朋友帮忙,很是麻烦。为了解决这个麻烦,便想着基于Arduino做一个自动浇水装置,解决在外出差时家里花花草草的浇水问题。出差期间,在油管上看到一些别人做的案列,发现要实现自动浇水并不复杂,于是开始着手准备。成品如下:
部件介绍
板子用的Arduino Nano,好用不贵,且比较袖珍,只有大拇指大小。其他部件有:湿度传感器、继电器、水泵以及若干跳线。(不得不感慨一下,现在传感器真心便宜,只有我几年前读大学时的几分之一,大部分传感器也就两三块钱)思路很简单,就是用湿度传感器监测花盆中土壤的湿度,如果湿度下降到预设值时,继电器通电导通水泵电机电路,然后水泵运行设定时间后断开。
接线
使用
Fritzing
绘制电路图,接线时注意继电器的NO是高电平时常开,NC是高电平时常闭。湿度传感器接Arduino模拟口A5,继电器接数字口D5,湿度传感器每50ms采集一次数据,湿度大于等于500时继电器通电闭合,水泵运行5秒后继电器失电断开。
写入代码
int plantPin = 5; void setup() { Serial.begin(9600); pinMode(A5, INPUT); pinMode(plantPin,OUTPUT); } void loop() { int SensorValue = analogRead(A5); if(SensorValue >= 500) { digitalWrite(plantPin,HIGH); delay(5000); digitalWrite(plantPin,LOW); } delay(50); }
演示视频
视频中土壤是已经浇过水的,所以取出湿度传感器后,水泵会工作,插回土壤后,水泵停止工作。测试未使用12V的水泵,用的6V的小泵,所以水流较小。
存在问题及改进思路
- 廉价传感器不可靠
便宜的湿度传感器并不可靠,如果传感器故障,不能及时发现,会更加麻烦。想到的改进思路是多放几个湿度传感器,有大于两个检测到湿度低时启动水泵。
- 不能反馈实时信息
不能随时监视实时的情况,只能期望系统不出问题,不能让人放心。解决的想法是通过teamviewer
软件远程操作树莓派,用树莓派的gpio
接口控制继电器开合电路,在树莓派上安装motion
控制摄像头实现远程监控。
暂时只能在同一局域网下用SSH控制树莓派的gpio
接口,设置静态IP后会时不时断网,还没弄明白原因。