基于Arduino的自动浇水

引言

房子装修好之后,甲醛含量测下来很高,买了好几盆绿植净化空气。结果被派出去长期出差,正值天气转暖,花草得经常浇水,只好拜托朋友帮忙,很是麻烦。为了解决这个麻烦,便想着基于Arduino做一个自动浇水装置,解决在外出差时家里花花草草的浇水问题。出差期间,在油管上看到一些别人做的案列,发现要实现自动浇水并不复杂,于是开始着手准备。成品如下:

[站外图片上传中...(image-f08c43-1558062402817)]

部件介绍

板子用的Arduino Nano,好用不贵,且比较袖珍,只有大拇指大小。其他部件有:湿度传感器、继电器、水泵以及若干跳线。(不得不感慨一下,现在传感器真心便宜,只有我几年前读大学时的几分之一,大部分传感器也就两三块钱)思路很简单,就是用湿度传感器监测花盆中土壤的湿度,如果湿度下降到预设值时,继电器通电导通水泵电机电路,然后水泵运行设定时间后断开。

[站外图片上传中...(image-a439fb-1558062402817)]

接线

使用Fritzing绘制电路图,接线时注意继电器的NO是高电平时常开,NC是高电平时常闭。湿度传感器接Arduino模拟口A5,继电器接数字口D5,湿度传感器每50ms采集一次数据,湿度大于等于500时继电器通电闭合,水泵运行5秒后继电器失电断开。

[站外图片上传中...(image-a0ced6-1558062402817)]

写入代码

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后会时不时断网,还没弄明白原因。

SSH控制树莓派接口演示

你可能感兴趣的:(基于Arduino的自动浇水)