基于Arduino的自动浇水

匿名 (未验证) 提交于 2019-12-02 23:34:01

引言

房子装修好之后,甲醛含量测下来很高,买了好几盆绿植净化空气。结果被派出去长期出差,正值天气转暖,花草得经常浇水,只好拜托朋友帮忙,很是麻烦。为了解决这个麻烦,便想着基于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后会时不时断网,还没弄明白原因。

SSH控制树莓派接口演示

转载请标明出处:基于Arduino的自动浇水
文章来源: https://blog.csdn.net/weixin_45037820/article/details/90288847
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!