自动浇花套件(SKU:KIT0003)

目录

1 概述

2 技术规格

3 配送清单

4 组装示意图

5 单盆花的浇灌制作步骤

6 Arduino 样例程序

6.1 数据测量

6.2 水泵测试

7 产品相关文档

概述

随着人们生活节奏的加快,即使是最爱的花草浇水也无法顾及,偶而出差、旅行、探亲也是很正常的事情,而家中花草谁来管?花草生长问题80%以上是由花儿浇灌问题引起;好不容易种植几个月的花草,因为浇水不及时,长势不好,用来美化家园的花草几乎成了“鸡肋”;对于广大DIY爱好者,我们要介绍一款可以自己编程、设置参数、自己动手组装的自动浇花控制器,这是一款基于Arduino的控制器,使用土壤湿度传感器对土壤湿度进行监测,通过温湿度传感器对室内温度、湿度进行测量,控制水泵或电池阀进行浇水,从而达到自动浇灌的目的。

技术规格

输入电源:6-12V

支持湿度传感器和碳棒检测土壤湿度

支持潜水泵和双稳态电磁阀浇水

具有室内温度和湿度检测

具有土壤湿度阀值调节

具有4个模拟口,5个数字口

支持xbee无线数传

支持USB接口下载程序

支持防水型DS18B20温度传感器

潜水泵额定电压:3.5-12V

潜水泵最大扬程:200cm

模块尺寸:70 x 60mm

配送清单

Free Life自动浇花系统控制器 1个

Micro USB线 1根

DHT11温湿度传感器 1个

土壤湿度传感器 1个

模拟接口转数字接口传感器连接线 2根

潜水泵 1个(注意:潜水泵必须在水中使用,不能露出水面!)

潜水泵电源连接线 1根

主板电源连接线 1根

橡胶水管 1米

塑料外壳 1个

2mm一字螺丝刀 1个

1号十字螺丝刀 1个

电子文档上位机软件 1份

组装示意图

单盆花的浇灌制作步骤

1、将Moisture Sensor与Arduino自动浇花系统控制器连接起来。Moisture Sensor连接到控制板的任意可用模拟口,用于采集土壤湿度参数(选择不同的模拟口,程序中需对应应模拟口设置),默认选择模拟口2(注意区分电源正负,红色为+,黑色为-),然后将Moisture Sensor插到土壤中(插入2/3即可)。

2、水泵连接到控制器的MOTOR插座上,注意区分正负(棕色为正,蓝色为负),将橡胶水管插到潜水泵的出水口上,另一端固定在花盆上。

3、将水装到水桶或水盆里,放在离花盆较近的位置,将潜水泵置于水桶或水盆内,保证蓄水充足,以供浇水(注意潜水泵必须在水中使用)。

4、 Arduino自动浇花系统控制器需要使用程序下载器连接到电脑才能与上位机通讯。程序下载器在使用前需要安装USB驱动程序。注意,如果自动浇花使用了电池盒供电,下载器上有一个电源跳线,需要拔掉。如果没有供电,那么可以使用下载器给控制器供电,跳线插接到5V端。

5、为了能方便用户观察土壤湿度及室内环境的参数,我们开发了flower's life这款软件,通过该软件把土壤湿度和环境温湿度数据呈现在我们面前,打开flower's life软件。界面如下:

6、该软件主要是通过对串口数据的监听来实现对当前控制器串口返回的土壤湿度和室内温度、湿度等参数的读取。其读取时间不定,该软件会自动监测串口数据的接收并自动读取,不会在没有数据的时候随意读取,避免了一定的数据读取冲突造成错误。

7、通过这款软件,能对浇水的动力和湿度传感器进行选择,动力包括潜水泵和双稳态电磁阀,传感器包括土壤湿度传感器和碳棒,我们默认设置为潜水泵和土壤湿度传感器,在没有其他装置的情况下请勿乱设置。点击设置,选择当前串口端口号和通讯波特率,串口号请到设备管理器中查看Arduino下载器的端口号,波特率默认为115200。

8、设置好后,单击链接按钮,连接成功后,我们就可以看到当前土壤湿度以及室内温湿度的情况了。

9、不同的花,对土壤湿度的需求也尽不相同,我们可以根据自动浇花控制器上的湿度调整电位器来改变浇水阈值,以适应不同花儿对土壤湿度的需求,轻轻转动电位器旋钮(如下图箭头所示),软件上的浇水阈值的数据也会随之发生改变,这样,我们就能根据花儿的最佳生长状态调节一个适合的浇水阈值了,浇水上限在库文件中做修改即可。

10、另外,如果环境温度过高,花儿不宜浇水,否则可能会导致花儿枯死,浇水的温度阈值在程序中进行设置,默认为35摄氏度以上不启动浇水系统,用户也可以根据自己意愿进行修改。

11、用户可以根据我们提供的资料,对自动浇花系统进行二次开发,使用Arduino IDE环境编程,Arduino下载器将程序下载进去。

程序代码:

功能定义:实现从上位机软件选择湿度传感器(湿度传感器或碳棒)和浇水形式(潜水泵或电池阀),同时返回土壤湿度、室内温度、湿度到上位机上显示。

/*

http://www.dfrobot.com.cn

http://dfrobot.taobao.com/

*/

#include //我们提供的库函数

#include

#define temperature 40 //设置环境最大温度

Free_Life flower;

void setup()

{

flower.Initialization(); //初始化主控制器,默认选择湿度传感器和水泵

Serial.begin(115200); ///波特率115200

}

void loop()

{

flower.process(temperature);//室内温度、湿度检测�

flower.print(); //输出室内温度、土壤湿度、室内湿度、土壤湿度阀值、传感器和驱动器参数给上位机

delay(500);

}

Arduino 样例程序

数据测量

/*

This Sample code is for testing the Auto flower watering kit.

Product: EcoDuino - An auto plant kit

SKU  : KIT0003

Library:AutoWatering

Library Functions:

1.Power a pump to water flowers according to the humidity and temperature

2.Use the DHT11 Sensor to test the ambient humidity and temperature

3.Use the Moisture Sensor to test the moisture of the soil

Hardwares:

Auto flower watering control board

DHT11 Teaperature and Humidity Sensor

Moisture Sensor

Immersible pump

Connection:

1.DHT11 & Free Life v1.0 board

S --- Digital Pin9

VCC --- VCC

GND --- GND

2.Moisture Sensor(Humidity) & Free Life v1.0 board

1S --- Analog Pin2

2GND --- GND

3VCC --- VCC

*/

#include

#include

#define MaxTemprature 40 //The Maximum Value of the Temperature

#define Sensor 1

#define Carbon 0

AutoWatering flower;

int temperature;

int moisture_dat;

int humidity;

void setup()

{

flower.Initialization();//Initialization for the watering kit

Serial.begin(115200);//Buad Rate is set as 115200bps

}

void loop()

{

//Obtain the Temperasture from DHT11 Sensor

temperature = flower.getTemperature();

Serial.print("Temperature is:" );

Serial.println(temperature);

//Obtain the Humidity from DHT11 Sensor

humidity = flower.getHumidity();

Serial.print("Humidity is:" );

Serial.println(humidity);

//Obtain the Soil Moisture from the Moisture Sensor

moisture_dat = flower.MoistureSensor();

Serial.print("Soil Moisture is:" );

Serial.println(moisture_dat);

Serial.println();

Serial.println();

delay(1500);

}

水泵测试

/*

Library:AutoWatering

Library Functions:

1.Power a pump to water flowers according to the humidity and temperature

2.Use the DHT11 Sensor to test the ambient humidity and temperature

3.Use the Moisture Sensor to test the moisture of the soil

Hardwares:

Auto flower watering control board

DHT11 Teaperature and Humidity Sensor

Moisture Sensor

Immersible pump

Connection:

1.DHT11 & Free Life v1.0 board

S --- Digital Pin9

VCC --- VCC

GND --- GND

2.Moisture Sensor(Humidity) & Free Life v1.0 board

1S --- Analog Pin2

2GND --- GND

3VCC --- VCC

*/

#include

#include

#define MaxTemprature 100 //The Maximum Value of the Temperature

#define SensorTest 1

#define CarbonTest 0

AutoWatering flower;

void setup()

{

flower.Initialization();//Initialization for the watering kit

Serial.begin(115200);//Buad Rate is set as 115200bps

}

void loop()

{

//Power on the pump according to the ambient temperature and humidity

pumpOn(SensorTest,CarbonTest,MaxTemprature);

//Power on the pump for testing whether the pump can work properly

//flower.pumpTestOn();

delay(2000);

flower.pumpOff();

delay(2000);

Serial.println();

}

//Power on the pump according to the ambient temperature and humidity

void pumpOn(int MoiSensor, int Carbon, int Temperature_max)

{

int humidity;

int humidity_max;

float dht_t;

//Choose to use the Moisture Sensor or the Carbon

//to test the soil moisture

if(MoiSensor==1&&Carbon==0)

{

humidity = flower.MoistureSensor();

}else if(MoiSensor==0&&Carbon==1)

{

humidity = flower.CarbonRod();

}else{

humidity = 0;

}

Serial.print("Soil Moisture is :");

Serial.println(humidity);

humidity_max = flower.ADJ_humMax();

dht_t = flower.getTemperature();

Serial.print("Temperature is :");

Serial.println(dht_t);

digitalWrite(6,LOW);

digitalWrite(5,LOW);

digitalWrite(7,LOW);

digitalWrite(4,LOW);

if(humidity<=humidity_max&&dht_t<=Temperature_max)

{

digitalWrite(6,HIGH);

digitalWrite(5,HIGH);

}

else

{

digitalWrite(6,LOW);

digitalWrite(5,LOW);

}

Serial.println("Pump is on!");

}

产品相关文档

内含上位机软件库Free_Life

Autowatering Library

DHT library

DHT11温湿度传感器

土壤湿度传感器

在运行样例程序前,请先安装库

注: FreeLife只是在上位机上显示温湿度等相关信息,里面的程序没有自动浇花功能。如果需要浇花时同时使用此上位机,参考FreeLife的库文件中print函数即可。

购买 Arduino 自动浇花套件(SKU:KIT0003)

arduino智能浇花系统_自动浇花套件相关推荐

  1. 基于STM32的智能行车辅助系统(自动大灯,倒车报警,自动雨刷,温湿度传感器,TFT 1.3寸LCD屏幕显示,ESP8266WIFI)

    基于STM32+ESP8266的智能行车辅助系统 基于STM32的智能行车辅助系统(自动大灯,倒车报警,自动雨刷,温湿度传感器,TFT 1.3寸LCD屏幕显示,ESP8266WIFI),这是一个课程设 ...

  2. arduino智能浇花系统_基于Arduino的远程自动浇花系统设计

    基于 Arduino 的远程自动浇花系统设计 陈培东 ; 姚玉环 ; 李祖鹏 ; 周艺轩 [期刊名称] <电子世界> [年 ( 卷 ), 期] 2017(000)006 [摘要] 设计了一 ...

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

    本帖最后由 hnyzcj 于 2017-10-17 08:50 编辑 http://www.tudou.com/programs/view/vR5rKEo-cls IMG_20160124_16483 ...

  4. arduino智能浇花系统_基于Arduino单片机的智能浇花器

    Internal Combustion Engine & Parts • 119 • 基于Arduino单片机的智能淺花器 卞 云 松 ;张 国 祥 ;任 佳 豪 :陆晨雨 (江海职业技术学院 ...

  5. arduino智能浇花系统_解放双手!自己动手做一个简易智能浇花系统

    原标题:解放双手!自己动手做一个简易智能浇花系统 面对疫情,宅在家的我们可以以各种方式为战"疫"一线的医护工作者.紧急研究病毒的科研人员.口罩厂日夜工作的人们......加油打气. ...

  6. arduino智能浇花系统_创新成果 | 养花神器——智能浇花机

    养花的人应该多少都会遇到这样的问题:需要根据花的习性定时浇水,但给花浇水是个「技术活」,不记得浇水或水浇多了,都会影响花的生长. 针对这个问题,可以研究制作一个简单.实用的自动浇花机.根据检测土壤的湿 ...

  7. diy 单片机 自动浇花_自动浇花系统的设计及制作 基于Arduino

    对于家里有养花草的人来说,一旦到外地出差或者出门远游,他们会纠结一个问题:家里的植物交给谁来打理呢?外出期间没有人浇水,它们很有可能会枯死.如果真的找不到别人来帮忙的话,可以试着按照下面的教程DIY一 ...

  8. arduino智能浇花系统_基于Arduino Android的家庭智能浇花系统设计与实现

    摘要: 在国家的大力倡导与扶持下,物联网掀起了信息产业的又一次浪潮.作为物联网重点发展领域之一的智能家居因此峰回路转,迎来新的发展契机.智能家居系统产品分类较多,经过需求分析和研究,本文设计开发了一套 ...

  9. 安装ubuntu出现花屏_电脑显卡花屏怎么办?电脑独立显卡花屏的原因和解决方法...

    可以说,电脑显卡花屏是比较常见的故障之一,对于我们新装机的新显卡,偶尔都会遇到显卡花屏的问题,各种换系统并重新打显卡驱动都得不到解决,这一般就是显卡自身导致的问题,也叫硬件故障.但是并不是所有的显卡花 ...

最新文章

  1. 安装esp8266库_基于ESP8266,DIY低成本智能远程开关灯小装置
  2. JavaWeb中验证码校验的功能实现
  3. Linux学习笔记4-三种不同类型的软件的安装(绿色软件、rpm软件、源代码软件)...
  4. 使用搜索栏过滤collectionView(按照首字母)
  5. linux iscsi软件,linux iscsi软件环境搭建
  6. java服务端 json接口_java以json格式向后台服务器接口发送请求的实例
  7. R语言中的机器学习包
  8. 软件类配置(四)【ubuntu16.04安装pycahrm】
  9. 基于jieba库的词频分析
  10. 设置计算机用户权限,计算机管理员权限在哪里设置_电脑系统如何设置管理员权限-win7之家...
  11. Oracle TFA日志收集工具简介
  12. 大多数人不敢想的PDF操作:添加书签,电子签名,压缩,修改文字,提取部分页面为新文件、批量导出为图片
  13. java sencha_sencha cmd安装创建项目与编译,特详细。
  14. 关于织梦后台dedecms管理员后台权限、新增后台管理员的功能
  15. 0基础学习前端开发,高职web前端开发技能大赛
  16. OpenCV:Scalar数据类型理解
  17. [重磅] 让HTML5达到原生的体验 系列之一 避免切页白屏
  18. 【田姓】宗谱——【名人精粹】
  19. 创新封基涨幅居前 折价率再度上升
  20. Python地铁车票

热门文章

  1. unity5 人皮渲染 Skin Shading
  2. MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介
  3. javascript中的'this'
  4. vim使用方法和vim解决乱码的问题
  5. Ubuntu 18.04下搭建单机Hadoop和Spark集群环境
  6. CentOS7中密码登录失败锁定设置
  7. linux查看具体进程占用的网络流量
  8. CSS中选择器的优先级 ( ※关于相同属性的覆盖问题 )
  9. 【Python-2.7】对列表进行排序
  10. 20-21-2网络管理quiz5