首先说明一下,这是一个非常简单的小实验,是我现在所做项目的一个很小的部分,不过还是希望把它分享一下,期待看到的同行或爱好者与我交流或拍砖。
我用的水位传感器是这个,某宝链接:http://dwz.cn/5K0UTN
比较便宜,一块钱一个,但是便宜同时也有不足,因为量程太小,我用直尺量了一下,最深只能测4cm,不过好在它体积比较小而且轻便,自己可以根据需要DIY和定制,使用方式比较灵活。
说一下接线,水位传感器是通用三接口连线,一个连VCC一个连GND,模拟输出端接入Arduino的任何一个模拟输入端口中,我用的是A0端口,如下图:
代码如下:
double temp,data;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
该系统由5V开关电源电路,DC-DC变换电路,电压、电流、温度检测电路,以及放电电路组成,其充电原理见图1。5V开关电源电路提供稳定的5V直流电,供单片机和充电主回路使用。其工作原理如下:单片机通过内部集成的A/D转换器,实时采集充电时的电流、电压和温度信号,调节PWM控制信号的占空比,控制MOS管的开通和关断,从而调整脉冲电压的幅值进而调节充电电流的大小。MOS管输出的脉冲电压经过直流滤波,成为稳定的直流电加在蓄电池上,对蓄电池进行充电。放电控制适时地对蓄电池进行去极化放电。
temp=(long)analogRead(0);
data=(temp/650)*4;
Serial.print("the depth is:");
Serial.print(data);
Serial.println("cm");
delay(1000);
}
将传感器上的平行导线垂直插入水面,如图所示
就可以在串口监视器中看到以下数据:
来源:http://blog.csdn.net/song527730241/article/details/50897997
点击阅读原文进入作者博客
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >