Official Approved Reseller of Raspberry Pi

Arduino Rain Detection System — ระบบตรวจจับฝนแบบเรียลไทม์ 🌧️🔔

Rain Detection System Using Arduino — คู่มือสร้างระบบตรวจจับฝน

📖 เกี่ยวกับบทความนี้

พัฒนาจาก โปรเจกต์ต้นฉบับใน Arduino Project Hub โดยเพิ่มคำอธิบายภาษาไทยและขั้นตอนละเอียดสำหรับผู้เริ่มต้น

Rain Detection System Using Arduino

สร้างระบบตรวจจับฝนอัตโนมัติด้วย Arduino และ Rain Sensor

Rain Detection System
👨‍💻 โดย: Arduino Thailand 📅 อัปเดต: ⏱️ เวลาทำ: 30-45 นาที
1

รู้จักโปรเจกต์

👶 เริ่มต้น

ระบบตรวจจับฝนนี้ทำอะไรได้บ้าง?

  • 🌧️ ตรวจจับฝน: รู้ทันทีเมื่อฝนเริ่มตก
  • 🔊 แจ้งเตือน: ส่งเสียงเตือนด้วย Buzzer
  • 📊 ดูข้อมูล: ตรวจสอบค่าเซ็นเซอร์ผ่าน Serial Monitor

🎯 เหมาะสำหรับใคร?

🏠 ใช้ในบ้าน

แจ้งเตือนเมื่อฝนตก เพื่อเก็บผ้าหรือปิดหน้าต่าง

🌾 เกษตรกรรม

หยุดระบบรดน้ำอัตโนมัติเมื่อฝนตก

📚 การเรียนรู้

โปรเจกต์ Arduino เบื้องต้นที่เข้าใจง่าย

Rain Sensor Module Components

💡 หลักการทำงาน

Rain Sensor ใช้หลักการความต้านทาน เมื่อมีน้ำฝนหยดลงบนแผ่นเซ็นเซอร์ ความต้านทานจะลดลง Arduino อ่านค่าและสั่งให้ Buzzer ส่งเสียงเตือน

2

อุปกรณ์ที่ต้องใช้

👶 เริ่มต้น

Arduino Uno R3

บอร์ดไมโครคอนโทรลเลอร์หลัก - 1 ตัว

Rain Sensor Module

เซ็นเซอร์ตรวจจับน้ำฝน - 1 ตัว

Buzzer (Active)

ตัวส่งเสียงเตือน - 1 ตัว

ตัวต้านทาน 220Ω

จำกัดกระแสให้ Buzzer (ถ้าจำเป็น) - 1 ตัว

Breadboard + สายจัมเปอร์

สำหรับต่อวงจรทดลอง

3

การต่อวงจร

🔧 ปานกลาง

ต่อวงจรตามตารางด้านล่าง ระวังการต่อสายให้ถูกต้อง:

อุปกรณ์ Pin Arduino Pin หมายเหตุ
Rain Sensor VCC 5V ไฟเลี้ยง
GND GND กราวด์
AO A0 สัญญาณ Analog
Buzzer + Pin 8 ควบคุมเสียง
- GND กราวด์

⚠️ ข้อควรระวัง

  • ปิดไฟก่อนต่อสายทุกครั้ง
  • ตรวจสอบขั้วของ Buzzer (+ และ -)
  • ห้าม VCC และ GND สัมผัสกัน
  • ตรวจสอบการต่อสาย Rain Sensor ให้ถูกต้อง
4

โค้ด Arduino

🔧 ปานกลาง

คัดลอกโค้ดด้านล่างไปใส่ใน Arduino IDE:

📄 Rain_Detection_System.ino
/*
 * 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);
}

📝 ขั้นตอนอัปโหลด

  1. เปิด Arduino IDE
  2. เลือก Tools → Board → Arduino Uno
  3. เลือก Tools → Port → เลือก COM Port ที่ถูกต้อง
  4. คัดลอกโค้ดด้านบนไปใส่
  5. กด Verify (✓) เพื่อตรวจสอบ
  6. กด Upload (→) เพื่ออัปโหลด

💡 การปรับแต่ง

threshold = 500; - ปรับค่านี้เพื่อเปลี่ยนความไว
• ค่าสูง (600-700) = ไวน้อย
• ค่าต่ำ (300-400) = ไวมาก

5

ทดสอบระบบ

🔧 ปานกลาง

🧪 วิธีทดสอบ

  1. เปิด Serial Monitor: Tools → Serial Monitor (Ctrl+Shift+M)
  2. ตั้งค่า Baud Rate: เลือก 9600 baud
  3. ทดสอบด้วยน้ำ: หยดน้ำลงบนแผ่นเซ็นเซอร์เล็กน้อย
  4. สังเกตผลลัพธ์: ดูค่าเซ็นเซอร์และการทำงานของ LED/Buzzer

✅ พฤติกรรมที่ถูกต้อง

☀️ สภาพปกติ

ไม่มีเสียง Buzzer, แสดงข้อความ "ไม่มีฝน"
ค่าเซ็นเซอร์: 800-1023

🌧️ ตรวจพบฝน

Buzzer ส่งเสียง 3 ครั้ง, แสดงข้อความ "ตรวจพบฝน!"
ค่าเซ็นเซอร์: 0-500

6

แก้ไขปัญหา

🔍 ขั้นสูง

🔧 ปัญหาที่พบบ่อย

❌ ไม่มีเสียง Buzzer

  • ตรวจสอบการต่อสาย Pin 8
  • ลองเปลี่ยน Buzzer ตัวใหม่
  • ตรวจสอบว่าใช้ Active Buzzer

❌ Serial Monitor ไม่แสดงข้อมูล

  • ตรวจสอบ Baud Rate ให้เป็น 9600
  • ตรวจสอบการเชื่อมต่อ USB
  • เลือก COM Port ที่ถูกต้อง

❌ ค่าเซ็นเซอร์ไม่เปลี่ยน

  • ตรวจสอบการต่อสาย A0
  • ทำความสะอาดแผ่นเซ็นเซอร์
  • ตรวจสอบไฟเลี้ยง 5V และ GND

💡 เคล็ดลับการปรับแต่ง

  • ไวเกินไป: เพิ่มค่า threshold เป็น 600-700
  • ไม่ไวพอ: ลดค่า threshold เป็น 300-400
  • เสียงดังเกินไป: ลดเวลา delay ในลูป Buzzer

🛒 ต้องการอุปกรณ์สำหรับทำโปรเจกต์นี้?

เรามีชุดอุปกรณ์ครบเซ็ต พร้อมคู่มือภาษาไทยและการสนับสนุนหลังการขาย

📦 ชุด Rain Detection Kit

อุปกรณ์ครบเซ็ต + คู่มือ + การสนับสนุน

🔧 บริการช่วยเหลือ

ปรึกษาปัญหาและแก้ไขโค้ดฟรี

✅ จัดส่งทั่วไทย | 🚀 ตอบกลับเร็ว | 💯 รับประกันคุณภาพ

7

สรุป

👶 เริ่มต้น

ยินดีด้วย! คุณได้สร้างระบบตรวจจับฝนด้วย Arduino สำเร็จแล้ว 🎉

🎯 สิ่งที่คุณได้เรียนรู้

  • การต่อวงจร Arduino กับเซ็นเซอร์
  • การอ่านค่า Analog และควบคุม Digital Output
  • การเขียนโปรแกรม Arduino เบื้องต้น
  • การแก้ไขปัญหาและปรับแต่งระบบ

🚀 ไอเดียพัฒนาต่อ

📱 แจ้งเตือนมือถือ

เชื่อมต่อ WiFi ส่งแจ้งเตือนไปยังสมาร์ทโฟน

📺 จอแสดงผล

เพิ่มจอ LCD แสดงค่าเซ็นเซอร์และสถานะ

🏠 Home Automation

เชื่อมต่อกับระบบบ้านอัจฉริยะ

📚 เรียนรู้เพิ่มเติม

โปรเจกต์นี้เป็นพื้นฐานสำหรับการเรียนรู้ IoT และ Smart Home ต่อไป ลองทำโปรเจกต์อื่นๆ เพื่อพัฒนาทักษะ!

📚

อ้างอิง

📖 แหล่งข้อมูลและเอกสารอ้างอิง

1. โปรเจกต์ต้นฉบับ

Rain Detection System Using Arduino
Arduino Project Hub - webotricks
https://projecthub.arduino.cc/webotricks/rain-detection-system-using-arduino-aafbf5

2. เอกสาร Arduino

Arduino Language Reference
Arduino Official Documentation
https://www.arduino.cc/reference/en/

3. Rain Sensor Module

Rain Drop Detection Sensor Module
Datasheet และคู่มือการใช้งาน
https://components101.com/sensors/rain-drop-sensor-module

4. Webotricks - Arduino Projects

Arduino และ IoT Projects
Webotricks - Electronics & Programming Tutorials
https://www.webotricks.com/

5. Arduino Uno Specifications

Arduino Uno Rev3 Technical Specifications
Arduino Official Store
https://store.arduino.cc/products/arduino-uno-rev3

📝 หมายเหตุ

บทความนี้ได้รับการพัฒนาและปรับปรุงจากโปรเจกต์ต้นฉบับ โดยเพิ่มคำอธิบายภาษาไทย ขั้นตอนละเอียด และการแก้ไขปัญหาเพื่อให้เหมาะสมกับผู้เริ่มต้นในประเทศไทย

แท็ก


ฝากความคิดเห็น

ฝากความคิดเห็น

Blog posts

  • Raspberry Pi 1 Countdown & Debian ยุติการซัพพอร์ต ARMEL/MIPS64EL

    , โดย Global Byte Shope Raspberry Pi 1 Countdown & Debian ยุติการซัพพอร์ต ARMEL/MIPS64EL

  • ESP32 Sleep Modes และการใช้งาน Deep Sleep Mode — คู่มือสมบูรณ์

    , โดย Global Byte Shope ESP32 Sleep Modes และการใช้งาน Deep Sleep Mode — คู่มือสมบูรณ์

  • Bitcoin Mining ด้วย Raspberry Pi — คู่มือสมบูรณ์ตั้งแต่เริ่มต้น

    , โดย Global Byte Shope Bitcoin Mining ด้วย Raspberry Pi — คู่มือสมบูรณ์ตั้งแต่เริ่มต้น

  • Raspberry Pi GPIO — เริ่มเขียนโค้ดควบคุม LED และปุ่มกดด้วย Python

    , โดย Global Byte Shope Raspberry Pi GPIO — เริ่มเขียนโค้ดควบคุม LED และปุ่มกดด้วย Python

© 2025 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี