Các cảm biến mưa được sử dụng để phát hiện nước và nó có thể phát hiện xa hơn những gì một cảm biến độ ẩm làm.
The-FC 37 cảm biến mưa (hoặc các phiên bản khác như YL-83) được thiết lập bởi hai phần: bảng điện tử (ở bên trái) và bảng cảm biến mưa (ở bên phải) thu thập các giọt nước, Như bạn có thể nhìn thấy trong hình dưới đây:
Các cảm biến mưa có một biến trở điều chỉnh độ nhạy của đầu ra kỹ thuật số (D0). Nó cũng có một đèn LED sáng lên khi cảm biến được bật và một đầu ra kỹ thuật số LED.Làm thế nào nó hoạt động?
Về cơ bản, cảm biến mưa khác nhau phải chỉnh cho phù hợp với lượng nước trên bề mặt của nó.
cảm biến mưa là:
- mưa: điện kháng tăng lên, và điện áp đầu ra giảm
- Khô: điện kháng thấp hơn, và điện áp đầu ra là cao hơn
cảm biến mưa với Arduino: Ví dụ
Đây là một ví dụ đơn giản để bạn có thể hiểu làm thế nào bạn có thể sử dụng các cảm biến mưa trong các dự án của bạn với Arduino.
Trong ví dụ này, bạn sẽ chỉ cần đọc các giá trị cảm biến tương tự bằng cách sử dụng Arduino và in những bài đọc trong màn hình nối tiếp Arduino IDE.
phần yêu cầu
Đối với ví dụ này, bạn sẽ cần:
- 1x Mưa Sensor: FC-37 hoặc YL-83 ( xem trên đây )
- 1x Arduino ( xem trên đây )
- 1x Breadboard
- 2x 220 Ohm Điện trở
- 1x LED đỏ
- 1x Đèn Xanh
- dây nhảy
dây pin
Nối dây cảm biến của bạn với Arduino là khá đơn giản:
Ghim | Dây để Arduino |
A0 | chân analog |
D0 | chân kỹ thuật số |
GND | GND |
VCC | 5V |
schematics
Thực hiện theo các sơ đồ để hoàn thành dự án:
Code
Upload the following sketch to your Arduino board (feel free to adjust the variable thresholdValue with a different threshold value):
/*
All the resources for this project:
http://randomnerdtutorials.com/
*/
intrainPin=A0;
intgreenLED=6;
intredLED=7;
// you can adjust the threshold value
intthresholdValue=500;
voidsetup(){
pinMode(rainPin,INPUT);
pinMode(greenLED,OUTPUT);
pinMode(redLED,OUTPUT);
digitalWrite(greenLED,LOW);
digitalWrite(redLED,LOW);
Serial.begin(9600);
}
voidloop(){
// read the input on analog pin 0:
intsensorValue=analogRead(rainPin);
Serial.print(sensorValue);
if(sensorValue<thresholdValue){
Serial.println(" - It's wet");
digitalWrite(greenLED,LOW);
digitalWrite(redLED,HIGH);
}
else{
Serial.println(" - It's dry");
digitalWrite(greenLED,HIGH);
digitalWrite(redLED,LOW);
}
delay(500);
}