一开始通过土壤传感器接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); }