MODULE ARDUINO & THƯ VIỆN

Sử dụng cảm biến mưa và những điều cần biết

Sử dụng cảm biến mưa và những điều nên biết

Cảm biến mưa cho phép bạn đo lượng nước dính trên cảm biên thông qua chân đầu ra tương tự và đồng thời cung cấp đầu ra số khi vượt ngưỡng ngưỡng đã cài đặt trước bằng biến trở.

Module này sử dụng LM393 – một loại IC opamp

Nó bao gồm một bảng mạch điện tử và một PCB “thu thập” những giọt mưa. Khi giọt mưa rơi trên bảng mạch, chúng tạo ra các đường dẫn cho điện trở song song được đo bằng điện áp opamp.

Điện trở càng thấp (do càng nhiều nước) thì điện áp càng thấp. Ngược lại, nước càng ít thì điện áp đầu ra càng lớn trên chân tương tự. Cảm biến hoàn toàn khô sẽ cho ra điện áp 5V.

Sơ đồ chân module cảm biến mưa

Sơ đồ chân của cảm biến mưa được mô tả theo sơ đồ dưới đây:

 

Chân điều khiển, hiển thị

Chức năng
VCC Cấp nguồn +5V
GND Nối mass
DO Digital Output. Ngõ ra ở mức cao nếu lượng nước vượt ngưỡng
A0 Analog Output – Ngõ ra tương tự 0 – 5V. Điện áp càng thấp, lượng nước càng cao
Power LED LED báo nguồn
Output LED LED báo ngõ ra, hiện thị trạng thái ngõ ra khi giá trị vượt ngưỡng
Sensitivity Adjustment Điều chỉnh độ nhạy, ngưỡng cảm biến.

Kết nối cảm biến mưa với Arduino UNO

Download mã nguồn kết nối cảm biến mưa với Arduino

Mã nguồn dưới đây thực hiện 2 chức năng:

  • Giám sát ngõ ra digital từ module và đưa ra thông báo rằng trời đang mưa nếu đầu ra digital thấp (LOW).
  • Đo đầu ra tương tự và xuất ra giá trị lượng mưa, giá trị 1023 là hoàn toàn khô và giá trị 0 là mưa rất lớn.
int nRainIn = A1;
int nRainDigitalIn = 2;
int nRainVal;
boolean bIsRaining = false;
String strRaining;
void setup() {
  Serial.begin(9600);
  pinMode(2,INPUT); // Chân số 2 là chân đo ngõ vào digital
}
void loop() {
  nRainVal = analogRead(nRainIn); // Đọc giá trị Analog từ chân Analog
  bIsRaining = !(digitalRead(nRainDigitalIn)); // Trời mưa ngõ vào thấp, trời ko mưa ngõ vào cao
  if(bIsRaining){
    strRaining = "YES";
  }
  else{
    strRaining = "NO";
  }
  Serial.print("Raining?: ");
  Serial.print(strRaining);  
  Serial.print("\t Moisture Level: ");
  Serial.println(nRainVal);
  delay(200);
}

Thử nghiệm cảm biến mưa

Sau khi download code và nạp lên Arduino Uno, bạn cần mở cổng serial.

Thử nhỏ một vài giọt nước lên cảm biến mưa để thấy sự thay đổi số liệu.

Download code: Download

Xem thêm các module khác: https://www.abcarduino.com/category/module-arduino-va-thu-vien/