Arduino使用土壤湿度传感器

在淘宝上买的土壤湿度传感器,实物图如下图所示:
它总共有四个引脚:
VCC引脚:接电源正极
GND引脚:接电源负极
A0引脚:输出土壤湿度传感器的模拟电压值,输出范围为0-1023
D0引脚:输出土壤湿度传感器的开关量值,值为0,和1,开关量的变换值由蓝色顶调电位器进行控制。
 使用简单的代码进行测试,检查A0引脚的输出值,程序如下:
 
    

const int buttonPin = A0;
int inputValue = 0;

void setup() {
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin,LOW);

Serial.begin(9600);

}

void loop() {
inputValue = analogRead(buttonPin);
Serial.println(inputValue);
}

实物连接图如下:
我家里面有个特别大的花盆,里面种的有花,我就把土壤湿度传感器插到花盆中进行测试,花盆图片如下,测试时将土壤湿度传感器插在花盆的不同位置。 
 
  最后收集了8000多个数据,将这些数据放到matlab中进行图形展示,获取到的图形如下:
  土壤湿度传感器悬空时A0引脚输出为1023,当将土壤湿度传感器查到花盆的某一位置后,A0引脚输出值快速下降到某一稳定值,然后拔出土壤湿度传感器,再将其插到花盆的其它位置,这时A0引脚随着不同位置的湿度不同输出不同的模拟值。
因此采用土壤湿度传感器控制水泵对花盆进行浇水的思路就是设置某一阈值,当A0引脚的输出值高于该阈值时,控制水泵对花盆胶水,当A0引脚输出值低于阈值时,停止水泵。可以设置两个阈值,高阈值A和低阈值B,当土壤湿度传感器模拟引脚输出高于A时,启动水泵,当土壤湿度传感器模拟引脚输出值低于B时,停止水泵。这样可以方式频繁的浇水。

你可能感兴趣的:(Arduino)