一开始通过土壤传感器接esp8266,然后读取数值之后导通继电器。但如果这样,就会浪费一个esp8266的板子,如果是单纯的控制继电器而不是显示当前湿度值的话。

所以想用土壤传感器直接控制继电器来工作。。。

遇到的问题:

1  电路问题:   通过继电器原理,我们可知,是需要土壤传感器给一个电压来击穿三极管导通继电器。所以,继电器的控制回路与传感器的回路必须在 一个电路中,否则不会发生任何反应。

2  3.3V供电问题。3.3V供电,DO端输出电压只有1.2V,无法击穿三极管。会导致继电器无法工作。后来换了12V,继电器可以导通,但是传感器则两个灯都亮,这说明传感器超负荷工作

3  5V供电是最完美的供电模式。传感器稳定工作,继电器也能导通。

4  AO能获得传感器的湿度信息,如果要接显示屏的话,可以接该AO口,通过显示屏显示相关湿度的信息来进行处理。

 

整个无人值守浇花系统的导通的配件:

12V抽水泵,没有任何问题。小的导水管若干,三通若干

12V转5V的稳压变压一个

5V接传感器和继电器。12V接水泵

如果想赶个时髦,可以接TFT屏幕。显示湿度情况,上水开始或者停止等情况

 

代码很简单

int JDQpin=14;
int sense_Pin=0;
int value=0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
    pinMode(JDQpin,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.print("AO:");
//Serial.print(analogRead(turangPin));
value= analogRead(sense_Pin);
value=value/10; 
Serial.println(value);
if(value>60)
{
     digitalWrite(JDQpin,HIGH);
  }
  else
  {
     digitalWrite(JDQpin,LOW);
    }
delay(1000);
}

 

posted on 2020-01-16 14:24  孤独斗士  阅读(425)  评论(0编辑  收藏  举报