Arduino - DIY自动浇花系统(土壤湿度传感器+水泵)

 

继电器

 

Arduino - DIY自动浇花系统(土壤湿度传感器+水泵)_第1张图片

 

 

电路连接

 

D13-----------INT(继电器)

D6-----------DO(土壤湿度传感器)

A5----------- AO(土壤湿度传感器)

 

GND-----------GND

VCC-----------VCC

 

电路图

 

Arduino - DIY自动浇花系统(土壤湿度传感器+水泵)_第2张图片

 

 Arduino - DIY自动浇花系统(土壤湿度传感器+水泵)_第3张图片

 

实例代码1

/*
 * 传感器-8
 * 有水   LOW     0
 * 无水   HIGH    1
 * 
 * 继电器-13
 * 低电平触发  LOW   0
 *
 */

#include 

int sensorpin = 8;//传感器引脚 有水为0;无水为1
int pumpin    = 13;//水泵引脚 低电平触发 digitalWrite(8,LOW);
int var;

void setup() {
  Serial.begin(9600);
  
  pinMode(8,INPUT);
  pinMode(13,OUTPUT);
}

void loop() {

  var = digitalRead(8);
 
  //如果传感器检测值为1表示没水;0表示有水
  if(var==HIGH)
  {
    digitalWrite(pumpin,LOW);//水泵打开
   delay(3000);//浇水的时间是3秒
    digitalWrite(pumpin,HIGH);//水泵关闭
    }
    else
    {
    digitalWrite(pumpin,HIGH);//水泵关闭

   
    }

    Serial.print("var=");
    Serial.println(var);
    int var2=digitalRead(pumpin);
    Serial.print("var2=");
    Serial.println(var2);

    delay(10000);
    //delay(3600000);//一小时扫描一次

}


实例代码2 


/*
 * 传感器-8
 * 有水   LOW     0
 * 无水   HIGH    1
 * 
 * 继电器-13
 * 低电平触发  LOW   0
 *
 */
 
#include 
 
int sensorpin = 6;//传感器引脚 有水为0;无水为1
float pumpin = 13;//水泵引脚 低电平触发 digitalWrite(8,LOW);
int var;
int var3;

int sensorpin2 = A5;
 
void setup() {
  Serial.begin(9600);
  
  pinMode(sensorpin,INPUT);
  pinMode(sensorpin2,INPUT);
  pinMode(pumpin,OUTPUT);
  digitalWrite(pumpin,HIGH);//水泵关闭
}
 
void loop() {
 
     var = digitalRead(sensorpin);
     
     int var2=digitalRead(pumpin);
     var3=analogRead(sensorpin2);
     
    Serial.print("var3:");
    Serial.println(var3);
    
  //如果传感器检测值为1表示没水;0表示有水
  if(var==1&&var3>600)
  {
    Serial.print(var); 
    Serial.println("缺水状态!");
    digitalWrite(pumpin,LOW);//水泵打开
    Serial.println("水泵状态-打开");
     
   delay(1000);//浇水的时间是10秒
   
    digitalWrite(pumpin,HIGH);//水泵关闭
     Serial.println("水泵-关闭");
    
 
    }
    else
    {
    digitalWrite(pumpin,HIGH);//水泵关闭
    Serial.print(var); 
    Serial.println("不缺水状态!");
    Serial.println("水泵-关闭");
   
    }
 
 
   delay(1000);//十秒钟扫描一次;
     //delay(36000000);//10小时扫描一次
 
}

 

你可能感兴趣的:(Arduino)