arduino智能浇花系统_智能自浇花系统

本文介绍了使用Arduino制作的智能浇花系统,该系统通过土壤湿度检测和水位监测自动控制灌溉,结合电容式土壤湿度传感器和小水泵实现精准浇水。文章详细阐述了制作过程,包括校准传感器、电路连接、电机控制等方面。
摘要由CSDN通过智能技术生成

本帖最后由 hnyzcj 于 2017-10-17 08:50 编辑

http://www.tudou.com/programs/view/vR5rKEo-cls

IMG_20160124_164836.jpg (38.99 KB, 下载次数: 49)

2016-2-1 15:21 上传

学习技术哪家强,中国山东找蓝翔。智能浇花哪家强,中国上海找DF,如果我没有记错的话,DF大BOSS好像有做过浇花的机器人。而且坛子里做智能浇花的也不少,但是我还是要来把我的浇花应用发来给大家看看。顺便说明下,我真的不喜欢花花草草的,做这个完全是为了好玩,嗯,就是这么简单……

QQ图片20160201151947.png (342.27 KB, 下载次数: 39)

2016-2-1 15:21 上传

这是一个很常见的场景,一盆您倾注了很多时间、情感和金钱的盆栽在您外出几天之后发现它已经枯萎死亡了。当然,现在您也可以用ParallelGoods公司发布的3D打印的自动浇水花盆设计。该浇水系统的自下而上的性质有助于土壤留住养分,从而为您的室内园艺创造一个更为健康的环境。

IMG_20160124_153813.jpg (33.05 KB, 下载次数: 39)

2016-2-1 15:21 上传

IMG_20160124_153915.jpg (32.91 KB, 下载次数: 31)

2016-2-1 15:21 上传

这种装置的设计和使用都很简单。您只需在上层的盆中填好土,并种上自己喜欢的植物。盆子底部的网眼使得植物的根部能够获取自己所需要的水分。

考虑到花盆的坚固性、水密性我们对打印模型文件的设置如下图所示。

QQ图片20160201152341.png (87.65 KB, 下载次数: 36)

2016-2-1 15:25 上传

QQ图片20160201152648.png (74.14 KB, 下载次数: 36)

2016-2-1 15:27 上传

水被消耗的速度会根据植物品种的不同而有所差别,但是这种自动浇水花盆一次储存的水量能够满足一种典型的草本植物两三次浇水所需要的量。”

看到这里你可能会说,就这么简单,其实也就这么简单。不过我们不能让它这么简单,毕竟花盆的水量是有限的,如果长期外出话,这东西还是不靠谱。于是对此花盆进行功能添加。

1.  土壤湿度检测,当土壤湿度小于设定的临界值区间时,启动电机灌水到下层水箱。

2.  水位高度到达下层水箱临界高度时,停止灌水,毕竟不能让水漫出来。

器材

1. overlordpro 3D打印机

2. PLA(1.75粉色)

4. 电机拓展板

5. 小水泵

6. 电容式土壤湿度传感器

7. 电池

8.  1K电阻

9. IO拓展板

制作过程:

A电容式土壤湿度传感器校准

在正式检测土壤湿度前,需要有一个校准过程。烧入下列校准代码至Arduino主控板。打开串口监视器。(注:这里土壤湿度传感器的正极接主控板3.3V)

void setup() {

Serial.begin(9600);

}

void loop() {

int val;

val =analogRead(2);

Serial.print(val);

Serial.println();

delay(1000);

}

干湿度校准

分别读取传感器在空气中和水中的数值来限定一个测量范围。打开串口监视器,将波特率根据程序设置为9600。首先请将该传感器放置在空气中读取模拟值,代表干燥时的读数。然后拿一杯水,把传感器插入水中一定深度(做一下标记,此深度为你将要插入泥土的深度),一定不能超过红色警戒线!并记录此时读到的模拟值,代表100%湿度。(输出数据与湿度成反比,在水中的输出量最小)插入深度如图推荐。

SEN0193-Test.png (27.69 KB, 下载次数: 40)

2016-2-1 15:30 上传

区间设定

由于传感器数值会受到入土深度、土壤松紧度的影响,只能检测到土壤的相对湿度,我们把湿度分为三等级,分别表示干燥、湿润、非常潮湿。之前记入的两个数据为湿度区间。例如:空气中读数为520,水中读数为260,这样就可以分为(520,430],(430,350],(350,260]这三个区间分别代表干燥、湿润、非常潮湿。

注意:由于此传感器会根据电容感应原理来监测土壤湿度,所以放到土壤湿度不同、松紧度不同、插入深度不同的地方,会体现出不同的湿度,即使在同一个地方,同样的深度,在第二次插入时,由于第一次拔出时已经造成了泥土的松动,可能读到的湿度会比第一次低。

B电路连接

传感器连线

将IO拓展板、电机拓展板、Arduino Uno按对应D\A口叠加如下图;土壤湿度传感器接模拟口2(注意三根线分别接在IO拓展板的A2,+5V,GND上);

IMG_20160124_153222.jpg (40.83 KB, 下载次数: 36)

2016-2-1 15:21 上传

信号下拉

由于我们是通过两根导线是否连同来判断下层水箱里的水,是否到达临界位置。所以这里使用了下拉电阻来完成。这里使用1K电阻就是做信号下拉避免干扰和噪声,没有电阻,模拟口就会悬空,悬空就会有干扰。将下拉线一头金属部分粘在花盆的底部,临界位置导线一端粘在临界点处。当水位达到临界值时,电路联通。如下图所示。

IMG_20160124_161302.jpg (22.54 KB, 下载次数: 34)

2016-2-1 15:21 上传

下拉线的做法:取杜邦线若干,1K欧电阻两端分别与黑色、棕色线焊接;蓝色线与红色线焊接;红色线和棕色线焊接。黑线一端接在拓展板GND,蓝色线一端接拓展板A3,红色和棕色线焊接后与紫色线搭接,紫色线最后粘在下层的底部。这样完成一个信号下拉线。

IMG_20160124_151718.jpg (36.09 KB, 下载次数: 33)

2016-2-1 15:21 上传

将各焊接点用黑色绝缘胶布粘牢,避免相互搭线。

IMG_20160124_152641.jpg (39.08 KB, 下载次数: 31)

2016-2-1 15:21 上传

水泵连线

从下表我们可以看出驱动一枚电机需要有三个参数,首先就是方向,对应IO口的高电平为一个方向,低电平为反方向,然后就是速度,这里使用PWM的方式控制,给予其不同的占空比会获得对应的速度,最后是刹车,刹车的含义为:是否将电机的两极短接。若短接两极后电机旋转会有非常大的阻尼,能量由续流二极管吸收,进而起到制动的作用。因此要想电机转,这个IO口应该是低电平。知道了原理,驱动电机应该就很简单了吧。使用注意:使用电机驱动应保证电机驱动板与Arduino控制板电源完全独立,使用两块电池或者两个独立的电源,保证其电气隔离性。

功能电机A电机B

1方向D12D13

2速度D3D11

3制动D9D8

将水泵的红色线接如A+接线柱,黑色线接入A-接线柱。外接电源的正极接VIA,负极接GND。

IMG_20160124_153544.jpg (49.23 KB, 下载次数: 98)

2016-2-1 15:21 上传

将上述代码烧录到主控板中,测试一下你的浇花系统吧。最后别忘记添加储备水箱,你的花多长时间浇水,就看你的水箱大小了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值