_SKU_KIT0003_自动浇花套件V2.0 - jimaobian/DFRobotWikiCn GitHub Wiki

自动浇花套件(SKU:KIT0003)

概述

随着人们生活节奏的加快,人们开始变得越来越忙碌,偶而出差、旅行、探亲也是很无可避免的事情,但这个时候问题来了,家中心爱的花草有谁来照管? 一个好的生活环境,植物是必不可少的一部分。据了解,80%的花草生长问题是由于不按时浇水导致的。特别是在都市生活的白领们,平时工作时间长,经常加班,生活不规律。辛苦几个月种的花,可能就因为一两周的不停加班而凋谢。直到某一天突然看到,心情就会变得很差,影响工作情绪。这对广大爱花人士来说,是一件非常心痛的事情,辛苦工作几许,却因为出差几天,加班几天,旅行几天,便失去了爱花的生命。 DFRobot专为广大DIY人士,养花爱好者推出了一款可编程自动浇花套件,基于Arduino Leonardo控制器设计,使用土壤湿度传感器,配上空气温湿度传感器,可以实时监测当前温湿度和土壤湿度。可手动设置湿度阈值,当湿度低于一定数值时,自动开启水泵。适用于不同品类的植物。板载一个Xbee接口,可插WiFi,蓝牙,Zigbee等无线设备,连接到本地网关,使实现物联网远程控制。即使不在家也可以自动照顾您的花草,免除您的后顾之忧。

技术规格

  • 输入电源:6-12V
  • bootloader:leonardo
  • 具有4个模拟口,5个数字口
  • 支持湿度传感器
  • 支持潜水泵和双稳态电磁阀浇水
  • 具有室内温度和湿度检测
  • 板载土壤湿度阀值调节
  • 支持xbee无线数�
  • 支持USB程序下载
  • 预留碳棒接口
  • 预留DS18B20温度传感器接口
  • 电源接口:接线柱
  • 潜水泵接口:接线柱
  • 碳棒接口:接线柱
  • DS18B20温度接口:接线柱
  • 预留3.3V电源输出接口焊点
  • 潜水泵额定电压:4.5-12V
  • 潜水泵扬程:0—220cm
  • 模块尺寸:75 x 50mm

传感器资料

配送清单

  • Free Life自动浇花系统控制器 1个
  • Micro USB线 1根
  • DHT11温湿度传感器 1个
  • 土壤湿度传感器 1个
  • 模拟接口转数字接口传感器连接线 2根
  • 潜水泵 1个(注意:潜水泵必须在水中使用,不能露出水面!)
  • 潜水泵电源连接线 1根
  • 主板电源连接线 1根
  • 橡胶水管 1米
  • 塑料外壳 1个
  • 2mm一字螺丝刀 1个
  • 1号十字螺丝刀 1个

组装示意图

warning_yellow.png

此套件中不含碳棒、XBEE、DS18B20,仅预留了接口,若想使用此产品请自行单独购买。 |

KIT0003connect1.jpg

  • 提示:
  • 主控板上的蓝色旋钮接在模拟引脚A1上,用户可以在程序中读取该旋钮的值来作为浇花的阈值。
  • DS18B20温度传感器接口可以直接外接三线DS18B20温度传感器。购买 DS18B20 防水数字温度传感器(SKU:DFR0198)
  • 连接DHT11温湿度传感器时,请将连接线的绿线朝上,竖直插在D9引脚上。
  • 连接土壤湿度传感器时,请将连接线的蓝线朝上,竖直插在A2引脚上。
  • 潜水泵连接线的棕色线接Solenoid Valve接口的+,蓝色线接-。
  • 电池盒连接线的红色接PWRIN接口的+,黑色线接-。

Arduino 样例程序

测试传感器

| **注:**此代码作用为将测得的传感器数据上传到电脑端的串口监视器,不具备浇花功能。 |


#include <dht11.h>
dht11 DHT;
#define MOISTURE_PIN A2
#define DHT11_PIN    9

int airHumidity;//空气湿度
int airTemperature;//空气温度
int soilHumidity;//土壤湿度

void setup(){
  Serial.begin(9600);
}

void loop(){
  int chk;
  chk = DHT.read(DHT11_PIN);    // READ DATA
  switch (chk){
    case DHTLIB_OK:
                Serial.print("OK,\t");
                break;
    case DHTLIB_ERROR_CHECKSUM:
                Serial.print("Checksum error,\t");
                break;
    case DHTLIB_ERROR_TIMEOUT:
                Serial.print("Time out error,\t");
                break;
    default:
                Serial.print("Unknown error,\t");
                break;
  }
  airHumidity=DHT.humidity;
  airTemperature=DHT.temperature;
  soilHumidity=analogRead(MOISTURE_PIN);

  Serial.print("airHumidity:");
  Serial.print(airHumidity);
  Serial.print(",\t");
  Serial.print("airTemperature:");
  Serial.print(airTemperature);
  Serial.print(",\t");
  Serial.print("soilHumidity:");
  Serial.println(soilHumidity);

  delay(2000);
}

结果

  • 打开串口监视器,选择波特率和程序中一致,本示例为9600,可观察到如下结果。

测试水泵

| **注:**此代码作用为控制水泵打开和关闭,不具备浇花功能。 |

void setup() {
  //水泵控制引脚初始化
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);

  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
}

void loop() {
  pumpOn();
  delay(1000);
  pumpOff();
  delay(1000);
}
//水泵打开
void pumpOn() {
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
}
//水泵关闭
void pumpOff() {
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
}

自动浇花示例(最终程序)

| **注:**本示例程序未使用DHT11温湿度传感器的数据,仅仅使用土壤湿度传感器数据,当土壤湿度传感器检测数据小于设定湿度时,打开水泵,土壤湿度大于等于设定湿度时关闭水泵。 |

#define MOISTURE_PIN A2  //土壤湿度传感器引脚

int soilHumidity;//土壤湿度
int setHumidity = 50; //设定湿度
void setup() {
  //水泵控制引脚初始化
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);

  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
}

void loop() {
  soilHumidity = map(analogRead(MOISTURE_PIN), 0, 1023, 0, 100);//将土壤湿度传感器转换为0—100%
  if (soilHumidity < setHumidity) {
    pumpOn();
  } else {
    pumpOff();
  }
}
//水泵打开
void pumpOn() {
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
}
//水泵关闭
void pumpOff() {
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
}

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

| 更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。 |

更多

DFshopping_car1.png Arduino 自动浇花套件(SKU:KIT0003)

⚠️ **GitHub.com Fallback** ⚠️