Arduino与水泵实验+土壤湿度传感器

1 水泵实验
我们这里是使用的继电器控制的水泵,注意再实验的时候电池的电压不要超过6v,太大容易烧毁水泵,如果是长时间的使用水泵,要注意将水泵放入水中,这样可以达到给水泵降温的效果。
1、全新5V继电器模块
2、可以用作单片机开发板模块,可以用作 家电控制
3、TTL控制信号
4、控制直流或者交流信号,可以控制220V交流负载。
5、有一个常开和一个常闭触点
6、有电源指示灯
7、有控制指示灯,吸合亮,断开不亮
8、三极管驱动增加继电器线圈,控制脚高阻抗。
9、控制脚有下拉电路,防止悬空继电器误动作
Arduino与水泵实验+土壤湿度传感器_第1张图片
继电器属于数字信号模块,我们通过继电器数字信号使继电器开合来控制水泵。我们使用Arduino 控制器的数字接口13,输出高电平延时1 秒后,输出低电平1 秒,即为开关断开一秒再接通一秒。
参考源程序:

int RelayPin=13;
void setup() {
  // put your setup code here, to run once:
pinMode(13,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}

2 土壤湿度传感器
土壤湿度传感器用于土壤的湿度检测。可通过电位器调节土壤湿度的阀值,顺时针调节,控制的湿度会越大,逆时针越小;湿度低于设定值时,DO输出高电平,模块提示灯亮;湿度高于设定值时,DO输出低电平,模块提示灯灭。工作电压3.3V-5V。3V时,在空气中AO读取的值最大为695,浸泡在水里的 最小值245;5V时,在空气中AO读取的值最大为1023,浸泡在水里的最小值245。
接线:VCC接 Arduino 3.3V或5V,GND接Arduino GND,AO接ArduinoAnalog。
DO接Arduino Digital 4
Arduino与水泵实验+土壤湿度传感器_第2张图片
代码:

#define PIN_AO 2
#define PIN_DO 4
 
void setup() {  
  pinMode(PIN_AO, INPUT);
  pinMode(PIN_DO, INPUT);  
  Serial.begin(9600);  
}  
 
void loop() {
  Serial.print("AO=");  
  Serial.print(analogRead(PIN_AO));
  Serial.print(", DO=");  
  Serial.println(digitalRead(PIN_DO));
  delay(2000);  
}

3 自动浇花(土壤湿度传感器+水泵)
Arduino与水泵实验+土壤湿度传感器_第3张图片
代码:

#include 
 
int sensorpin = 4;//传感器引脚 有水为0;无水为1
float pumpin = 13;//水泵引脚 低电平触发 digitalWrite(8,LOW);
int var;
int var2;
int var3;
int sensorpin2 = A2;
void setup() {
  Serial.begin(9600);
  pinMode(sensorpin,INPUT);
  pinMode(sensorpin2,INPUT);
  pinMode(pumpin,OUTPUT);
  digitalWrite(pumpin,HIGH);//水泵关闭
}
void loop() {
 
     var = digitalRead(sensorpin);
     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与水泵实验+土壤湿度传感器)