Phát hiện mưa (Rain Sensor) sử dụng NodeMCU ESP8266

Phát hiện mưa (Rain Sensor) sử dụng NodeMCU ESP8266

Cảm Biến Mưa (Rain Sensor) là một cảm biến được sử dụng khá nhiều trong đời sống hiện nay vì sự tiện lợi của chúng, được sử dụng trong các ứng dụng về thời tiết, các bộ cảnh báo mưa, cảnh báo rò rỉ nước. Trong nội dung bài viết hôm nay mình sẽ hướng dẫn các bạn cách để phát hiện mưa sử dụng NodeMCU ESP8266.

Sơ đồ đấu nối

Cảm Biến Mưa (Sensor Rain) NodeMCU ESP8266
VDD Vin
GND GND
A0 A0

Hình ảnh minh họa

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
NodeMCU ESP8266 1 Mua ngay
Dây cắm (Đực – Đực) 1 Mua ngay
Dây cắm (Đực – Cái) Mua ngay
Cảm Biến Mưa 1 Mua ngay
Breadboard 1 Mua ngay

Code cảm biến mưa ESP8266

#include <ESP8266WiFi.h>
const char* ssid = "Nha Trọ 4"; 
const char* password = "Nguyennam";

WiFiClient client;

int sensorPin = A0;
int enable2 = 13;
int sensorValue2 = 0;

void setup() {
pinMode(enable2, OUTPUT);  
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
Serial.print("..........");
Serial.println();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
Serial.println("WiFi connected");
Serial.println();
}

void loop() {
delay(500);
sensorValue2 = analogRead(sensorPin);
sensorValue2 = constrain(sensorValue2, 150, 440); 
sensorValue2 = map(sensorValue2, 150, 440, 1023, 0); 
if (sensorValue2>= 20)
{
  Serial.print("rain is detected");
  
digitalWrite(enable2, HIGH);
  }
  else
  
{
  Serial.print("rain not detected");
  digitalWrite(enable2, LOW); 
  }
//Serial.print("Rain value:       ");
//Serial.println(sensorValue2);
Serial.println();
delay(100);
}

Bài viết liên quan

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments