自动浇花套件

概述

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

技术规格

传感器资料

配送清单

组装示意图

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

KIT0003connect1.jpg

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);
}

结果

测试水泵

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

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);
    }

相关文档

教程资料包 (下载后,请手动改名为“教程.zip”)

常见问题

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

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

更多

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