一、原理介绍
我们这里使用的水位传感器,只能说是一个小实验用途的水位传感器。我们首先上图
如上图所示,线没有连接,传感器由许5对裸露在外的铜线片作为传感部分,当浸入水中时这些铜线片会被水桥接。 这些被水连接起来的铜线,根据水浸没的程度,电流的流通量会不一样。 就好像一个可变电阻(就像一个电位器),其电阻根据水位的变化而变化。 电阻的变化与传感器浸没的多少相对应。所以,我们通过电阻来判断水的浸没程度,自然就是用模拟信号口来接收信号了。
二、电路原理图
如果你找不到proteus中的watersensor器件,可以在这里下载。
如果我们需要连接一个显示用的LCD,可以如下连接。
三、测试代码
#define POWER_PIN 8
#define SIGNAL_PIN A5
#define SENSOR_MIN 0
#define SENSOR_MAX 521
int value = 0; // variable to store the sensor value
int level = 0; // variable to store the water level
void setup() {
Serial.begin(9600);
pinMode(POWER_PIN, OUTPUT); // configure D7 pin as an OUTPUT
digitalWrite(POWER_PIN, LOW); // turn the sensor OFF
}
void loop() {
digitalWrite(POWER_PIN, HIGH); // turn the sensor ON
delay(10); // wait 10 milliseconds
value = analogRead(SIGNAL_PIN); // read the analog value from sensor
digitalWrite(POWER_PIN, LOW); // turn the sensor OFF
level = map(value, SENSOR_MIN, SENSOR_MAX, 0, 4); // 4 levels
Serial.print("Water level: ");
Serial.println(level);
delay(1000);
}