Hướng dẫn sử dụng cảm biến mưa FC-37 hoặc YL-83 với Arduino

Cảm biến mưa được sử dụng để phát hiện nước và nó có thể phát hiện vượt ra ngoài những gì cảm biến độ ẩm làm.

Cảm biến mưa FC-37 (hoặc các phiên bản khác như YL-83) được thiết lập bởi hai linh kiện: board điện tử (ở bên trái) và board thu (ở bên phải) thu thập các giọt nước, như bạn có thể thấy trong hình sau:

Cảm biến mưa có tích hợp 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 đèn LED đầu ra kỹ thuật số.

Làm thế nào nó hoạt động?


Về cơ bản, điện trở của board thu thay đổi tương ứng với lượng nước trên bề mặt của nó.

Khi board:

  • Ướt: điện trở tăng và điện áp đầu ra giảm
  • Khô: điện trở thấp hơn và điện áp đầu ra cao hơn

Ví dụ: Cảm biến mưa với Arduino


Đây là một ví dụ đơn giản để bạn hiểu cách bạn có thể sử dụng cảm biến mưa trong các dự án của mình với Arduino.

Trong ví dụ này, bạn sẽ chỉ đọc các giá trị cảm biến tương tự bằng cách sử dụng Arduino và in các giá trị đọc đó trong serial monitor của Arduino IDE.

Linh kiện cần thiết


Trong ví dụ này, bạn sẽ cần:

  • 1x Cảm biến mưa: FC-37 hoặc YL-83
  • Arduino UNO
  • 1x Breakboard
  • 2x Điện trở 220 Ohm
  • 1x LED đỏ
  • 1x LED xanh
  • Dây dẫn

Nối dây

Việc kết nối cảm biến với Arduino khá đơn giản:


Chân          Đấu nối với Arduino


A0               Chân tương tự

D0               Chân kỹ thuật số

GND           GND

VCC            5V


Sơ đồ


Thực hiện theo sơ đồ này để hoàn thành dự án:

Code

Tải bản phác thảo sau lên board Arduino của bạn (thoải mái điều chỉnh ngưỡng biến Value với một giá trị ngưỡng khác nhau):

int rainPin = A0;
int greenLED = 6;
int redLED = 7;
// you can adjust the threshold value
int thresholdValue = 500;

void setup(){
  pinMode(rainPin, INPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(redLED, OUTPUT);
  digitalWrite(greenLED, LOW);
  digitalWrite(redLED, LOW);
  Serial.begin(9600);
}

void loop() {
  // read the input on analog pin 0:
  int sensorValue = 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);
}

Mở serial monitor của Arduino IDE để xem các giá trị. Sau đó, bạn có thể bắt đầu nhỏ nước vào board thu.

Khi giá trị value dưới một ngưỡng nhất định, LED màu đỏ sẽ bật và khi giá trị vượt quá ngưỡng nhất định, LED màu xanh sẽ bật.

Dịch từ: https://randomnerdtutorials.com/guide-for-rain-sensor-fc-37-or-yl-83-with-arduino/

 

 

 

 

 

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chat hỗ trợ
Chat ngay