/*
* Rain Detection System - ระบบตรวจจับฝน
*/
// กำหนดขา Pin
const int rainSensorPin = A0;
const int buzzerPin = 8;
// ตัวแปร
int sensorValue = 0;
int threshold = 500; // ปรับค่าได้
bool rainDetected = false;
void setup() {
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT);
digitalWrite(buzzerPin, LOW);
Serial.println("Rain Detection Ready!");
Serial.println("Threshold: " + String(threshold));
}
void loop() {
sensorValue = analogRead(rainSensorPin);
Serial.print("Sensor: ");
Serial.print(sensorValue);
if (sensorValue < threshold) {
// ตรวจพบฝน
if (!rainDetected) {
rainDetected = true;
Serial.println(" -> Rain Detected! 🌧️");
// เสียงเตือน 3 ครั้ง
for (int i = 0; i < 3; i++) {
digitalWrite(buzzerPin, HIGH);
delay(200);
digitalWrite(buzzerPin, LOW);
delay(200);
}
} else {
Serial.println(" -> Still Raining...");
digitalWrite(buzzerPin, HIGH);
delay(100);
digitalWrite(buzzerPin, LOW);
}
} else {
// ไม่มีฝน
if (rainDetected) {
rainDetected = false;
Serial.println(" -> Rain Stopped ☀️");
digitalWrite(buzzerPin, LOW);
} else {
Serial.println(" -> No Rain");
}
}
Serial.println(rainDetected ? "Status: RAIN" : "Status: DRY");
Serial.println("----------");
delay(1000);
}