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 — ข้อมูลทางเทคนิคควรตรวจสอบก่อนนำไปใช้งานจริง