當時看到雨水感測模組時,想說這個模組不知道能不能偵測雨量的大小?待實作後再來看看結果如何?
雨水感測模組的規格如下:
接上5V電源,電源指示燈亮,感應板上沒有水滴時,DO輸出為高電位,開關指示燈滅 ,滴上一滴水,DO輸出為低電平,開關指示燈亮。擦掉上面的水滴,又恢復到輸出高電位狀態。
雨水感測模組的規格如下:
- 感測器採用 FR-04 雙面材料,超大面積5.0*4.0公分,並用鍍鎳處理表面,具有抗氧化及導電性佳的特性
- 工作電壓3.3V-5V
- 輸出形式 :數位開關量輸出(0和1)和類比量電壓輸出
- 使用寬電壓的 LM393 比較器
接上5V電源,電源指示燈亮,感應板上沒有水滴時,DO輸出為高電位,開關指示燈滅 ,滴上一滴水,DO輸出為低電平,開關指示燈亮。擦掉上面的水滴,又恢復到輸出高電位狀態。
[材料]
- Arduino Uno 開發板
- 雨水感測模組
- LED x1
- 220歐姆電阻 x1
- 蜂鳴器 x1
- 麵包板 x1
- 排線 N 條
[接線圖]
| Arduino接腳 | Water水位感測器 | LED及蜂鳴器 |
|---|---|---|
| +5V | VCC | - |
| GND | GND | - |
| A0 | A0 | - |
| D3 | D0 | - |
| D5 | - | 紅色LED正極,負接220歐姆電阻,電阻另一端接地。 |
| D4 | - | 蜂鳴器正極,另一端接地。 |
[程式]
int led=5;
int buzz=4;
int get_D3 = 3;
int get_A0 = A0;
void setup(){
pinMode(led,OUTPUT);
pinMode(buzz, OUTPUT);
pinMode(get_D3, INPUT);
Serial.begin(9600);
}
void loop(){
int value = analogRead(A0); //從A0讀取感測值
Serial.print(value);
Serial.print(" ");
if(digitalRead(get_D3) == LOW){
Serial.println("Digital value : wet");
digitalWrite(buzz,HIGH);
}
else{
Serial.println("Digital value : dry");
digitalWrite(buzz,LOW);
}
delay(1000);
}

張貼留言