淘宝上买的雨滴模块。有两个部分,如下图所示:上面的模块两边都有引脚,左边的四个引脚与Arduino相连,右边的两个引脚与第二个部分相连。各个引脚的意义如下:
A0:模拟信号输出引脚,输出滴了雨滴后的模拟电压值;
D0:数字信号输出引脚,第一个部分中的可调电阻可以限定一个固定的值,当模拟电压超出该值时输出1,低于该值时输出0;
GND:电源负极;
VCC:电源正极。
第一个部分右边的两个引脚是输出的正极和负极,他们与第二个部分的两个引脚相连。
两个部分连接后的实物图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/dc96e9ae9f5e7da8897ed0717e72c880.png)
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(A0));
delay(100);
}
1)将尺寸较小的水滴滴到水滴模块的不同位置,测试模拟引脚的输出值,不同位置的输出值如下图所示;
![](https://i-blog.csdnimg.cn/blog_migrate/f9678dbe428b114f10926e677f7d3293.png)
2)将尺寸较大的水滴滴到水滴模块的不同位置,测试模拟引脚的输出值,不同位置的输出值如下图所示;
![](https://i-blog.csdnimg.cn/blog_migrate/d38fb55a6c34b83dbdcea1ad00f1b722.png)
3)将不同大小的水滴滴到水滴模块,滴很多滴,然后看水滴模块的模拟引脚输出值,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/12f35d314bcbc3a82d29b3a0dadebf60.png)
通过上述三种方式测试可以发现,雨滴尺寸越大,雨滴数量越多,雨滴模块的输出值就越小,因此使用该模块时,可以将阈值设置的比较低,这样就避免偶尔有水滴溅到模块上造成的误操作。
设计了简单的LED测试电路对水滴模块进行测试,测试代码如下:
int outputPin=8;
void setup() {
Serial.begin(9600);
pinMode(outputPin, OUTPUT);
digitalWrite(outputPin,LOW);
}
void loop() {
int value=analogRead(A0);
Serial.println(value);
if(value<400)//这个值是随便给的
{
digitalWrite(outputPin,HIGH);
}
else
{
digitalWrite(outputPin,LOW);
}
delay(100);
}
![](https://i-blog.csdnimg.cn/blog_migrate/0600c96f4439cb3c593e566510894db8.png)
参考文献
[1]http://www.cirmall.com/circuit/989/details#/details