Water Flow Sensor YF-S201 — วัดปริมาณน้ำที่รด

Flow Sensor YF-S201 — เซ็นเซอร์วัดการไหลของน้ำ

YF-S201 เป็นเซ็นเซอร์วัดอัตราการไหลของน้ำ ทำงานโดยใช้ Hall Effect Sensor ตรวจจับการหมุนของใบพัดภายในท่อ ยิ่งน้ำไหลมาก จำนวน Pulse ยิ่งมาก

คุณสมบัติ

  • ช่วงวัด: 1-30 ลิตร/นาที
  • Output: Digital Pulse (5V)
  • แรงดัน: DC 5-24V
  • ท่อ: 1/2" (12.7mm)
  • ค่า: ~450 Pulse/ลิตร (อาจแตกต่างตามรุ่น)

การต่อวงจร

YF-S201:
  RED   → 5V
  BLACK → GND
  YELLOW → Arduino D2 (Interrupt Pin)

Source Code — วัดปริมาณน้ำ

volatile int pulseCount = 0;
float flowRate = 0.0;
float totalLiters = 0.0;
unsigned long lastMillis = 0;

const float PULSES_PER_LITER = 450.0;

void pulseCounter() {
  pulseCount++; // เรียกจาก Interrupt
}

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(2), pulseCounter, RISING);
}

void loop() {
  if (millis() - lastMillis > 1000) { // ทุก 1 วินาที
    detachInterrupt(digitalPinToInterrupt(2));

    flowRate = (pulseCount / PULSES_PER_LITER) * 60; // L/min
    totalLiters += pulseCount / PULSES_PER_LITER;

    Serial.print("Flow: "); Serial.print(flowRate, 2);
    Serial.print(" L/min | Total: "); Serial.print(totalLiters, 2);
    Serial.println(" L");

    pulseCount = 0;
    lastMillis = millis();
    attachInterrupt(digitalPinToInterrupt(2), pulseCounter, RISING);
  }
}

ประยุกต์ใช้กับระบบรดน้ำ — ตัดการรดน้ำเมื่อถึงปริมาณที่กำหนด

const float TARGET_LITERS = 5.0; // รดน้ำ 5 ลิตรต่อครั้ง
float sessionLiters = 0;

void wateringSesson() {
  digitalWrite(RELAY_VALVE, LOW); // เปิดวาล์ว
  sessionLiters = 0;

  while (sessionLiters < TARGET_LITERS) {
    delay(1000);
    float rate = flowRate; // อ่านค่า Flow Rate
    sessionLiters += rate / 60; // L/min → L/sec
    Serial.print("รดน้ำไปแล้ว: "); Serial.print(sessionLiters, 2);
    Serial.print(" / "); Serial.print(TARGET_LITERS); Serial.println(" L");
  }

  digitalWrite(RELAY_VALVE, HIGH); // ปิดวาล์ว
  Serial.println("✅ รดน้ำครบตามปริมาณที่กำหนด");
}
Tip: ใส่ Strainer (ตะแกรงกรองน้ำ) ก่อน Flow Sensor เพื่อป้องกันเศษใบไม้หรือตะกอนไปติดใบพัด ทำให้ค่าที่อ่านได้คลาดเคลื่อน

💰 ราคาประมาณการ

อุปกรณ์ราคา
Soil Moisture YL-69~20-40 บาท
Capacitive Moisture v1.2~50-90 บาท
LDR + 10k Resistor~5-10 บาท
DHT22~80-120 บาท
PIR HC-SR501~30-60 บาท
Rain Sensor YL-83~25-45 บาท
Flow Sensor YF-S201~60-100 บาท

🔋 ทางเลือกใช้แบตเตอรี่

เซ็นเซอร์ทั้งหมดใช้ไฟ 5V ซึ่ง Arduino จ่ายให้ได้โดยตรง ถ้าใช้แบตเตอรี่ 12V + Buck Converter → 5V เซ็นเซอร์จะทำงานปกติ

สำหรับระบบนอกบ้านที่ไม่มีปลั๊กไฟ ใช้ Solar Cell 10W + แบต 12V 7Ah (~1,000-1,500 บาท) จ่ายไฟทั้งระบบได้ 24 ชม.

⚠️ หมายเหตุ: เนื้อหานี้ค้นคว้าและเรียบเรียงโดย Hermes AI — ข้อมูลทางเทคนิคควรตรวจสอบก่อนนำไปใช้งานจริง

⚠️ เนื้อหาถูกสร้างโดย AI (Hermes AI) — ข้อมูลทางเทคนิคอาจต้องตรวจสอบก่อนนำไปใช้งานจริง