Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza

YF-S201 Su Akış Sensörü: Arduino ile Debi Ölçümü

YF-S201 Su Akış Sensörü: Arduino ile Debi Ölçümü
Kısa cevap

YF-S201 su akış sensörü, içinden geçen suyla dönen pervanedeki mıknatısı Hall sensörüyle algılayıp darbe üreten bir debimetredir. Ürün bilgisine göre darbe frekansı 7,5 × debi (L/dk) formülüne uyar ve sensör litre başına 450 darbe verir. Arduino darbeleri kesmeyle sayar; bir saniyedeki darbe sayısı 7,5'e bölünerek L/dk bulunur.

Otomatik sulama, su sebili, akvaryum ya da tüketim takibi gibi projelerde boruda ne kadar su aktığını bilmek gerekir. Bu iş için en çok kullanılan parça YF-S201 su akış sensörüdür. Bu yazıda sensörün nasıl çalıştığını, Arduino'ya bağlantısını, darbelerin kesme ile sayılmasını, L/dk ve toplam litre hesabını ve ölçümü kendi tesisatınıza göre kalibre etmeyi anlatıyoruz.

YF-S201 su akış sensörü nedir?

YF-S201 su akış sensörü, içinden geçen suyun debisini pervane ve Hall sensörüyle ölçen, çıkışında debiyle orantılı frekansta darbe veren bir debimetredir. Analog bir gerilim değil, kare dalga üretir; bu yüzden mikrodenetleyici darbeleri sayarak debiyi hesaplar. YF-S201 su akış sensörünün ürün sayfasında verilen değerler şunlardır:

  • Çalışma gerilimi: 5-18V DC, 5V'ta en fazla 15 mA
  • Ölçüm aralığı: 1-30 L/dk
  • Çalışma sıcaklığı: -25 °C ile 80 °C arası, en yüksek su basıncı 2,0 MPa
  • Darbe karakteristiği: frekans (Hz) = 7,5 × debi (L/dk), litre başına 450 darbe
  • Çıkış görev oranı: %50 ± %10

YF-S201 nasıl çalışır?

YF-S201, suyun döndürdüğü pervanedeki küçük mıknatısın her geçişini bir Hall sensörüyle algılayarak çalışır. Su hızlandıkça pervane hızlanır, Hall sensörü daha sık darbe üretir. Yani çıkış frekansı debiyle doğru orantılıdır. Hall sensörünün çalışma prensibini Hall effect sensör yazımızda ayrıntılı bulabilirsiniz.

Ürün formülüne göre 15 L/dk debide sensör 7,5 × 15 = 112,5 Hz verir. Bir litre su geçtiğinde ise 7,5 × 60 = 450 darbe sayılır. Bu iki sayı aynı katsayının farklı ifadesidir: dakikadaki darbe sayısını 450'ye, saniyedeki darbe sayısını 7,5'e böldüğünüzde debiyi L/dk olarak bulursunuz.

Hangi su akış sensörünü seçmeliyim?

Su akış sensörünü seçerken önce ölçmek istediğiniz debi aralığına, sonra boru bağlantı ölçüsüne bakılır. Debi aralığının altında pervane dönmez ya da düzensiz döner; bu yüzden çok düşük akışlar için küçük gövdeli modeller kullanılır. Aşağıdaki değerler ürün sayfalarından alınmıştır:

ModelDebi aralığıBeslemeBağlantıUygun kullanım
YF-S2011-30 L/dk5-18VDişli gövdeMusluk, sulama, genel tesisat
YF-S4010,3-6 L/dk5-12V1/8" nozul, 3,5 mm iç çapSebil, kahve makinesi, ince hortum
YF-S402C0,3-10 L/dk5-18VG3/8, 1/8" nozulDüşük debili su hatları
YF-S4031-30 L/dk5-18VG3/4Daha kalın borulu tesisat

Her modelin darbe katsayısı farklıdır. YF-S201 için verilen 7,5 değerini başka bir modelde kullanmayın; kendi ürün sayfasındaki katsayıyı ya da kalibrasyonla bulduğunuz değeri girin. İnce hortumlu sistemler için YF-S401 3,5 mm su akış sensörü, 3/8 inç bağlantı için YF-S402C su akış sensörü, 3/4 inç tesisat için YF-S403 su akış sensörü seçilebilir.

YF-S201 Arduino'ya nasıl bağlanır?

YF-S201'in üç kablosu vardır ve Arduino Uno'ya şöyle bağlanır: kırmızı kablo 5V'a, siyah kablo GND'ye, sarı sinyal kablosu D2 pinine. YF serisinin ürün sayfalarında kablo renkleri kırmızı (+), siyah (-) ve sarı (sinyal) olarak verilir; farklı renkli bir sensörünüz varsa etiketine bakın.

  1. Sensörün gövdesindeki ok yönünün suyun akış yönüyle aynı olduğundan emin olun ve sızdırmazlık için dişlere bant sarın.
  2. Kırmızı kabloyu Arduino 5V pinine, siyah kabloyu GND pinine bağlayın.
  3. Sarı sinyal kablosunu D2 pinine bağlayın. Arduino Uno'da donanım kesmesi yalnızca D2 ve D3 pinlerinde vardır.
  4. Kodda D2 pinini INPUT_PULLUP olarak ayarlayın; dahili pull-up direnci sinyal hattını kararlı tutar.
  5. Kodu yükleyin, seri ekranı 9600 baud hızında açın ve suyu yavaşça açarak değerlerin arttığını görün.
YF-S201 su akış sensörü Arduino Uno bağlantı şeması: kırmızı kablo 5V pinine, siyah kablo GND pinine, sarı sinyal kablosu D2 pinine; frekans 7,5 × debi formülü ve litre başına 450 darbe
Sarı sinyal kablosu kesme destekli D2 pinine bağlanır; bir saniyedeki darbe sayısı 7,5'e bölünerek debi L/dk olarak bulunur.

ESP32 ya da başka bir 3,3V kartla kullanırken dikkat edin: sensör 5V ile beslendiğinde sinyal hattı 5V seviyesine çıkabilir. Bu durumda sinyali bir gerilim bölücü ya da lojik seviye dönüştürücüyle 3,3V'a düşürün. Elektronik devreyi suyla temas edebilecek yerlerden uzak tutun ve kabloları su geçirmez biçimde yalıtın.

Darbeler kesme (interrupt) ile nasıl sayılır?

YF-S201'in darbeleri, sinyal her düştüğünde çalışan bir kesme (interrupt) fonksiyonuyla sayılır; böylece programın geri kalanı ne yaparsa yapsın hiçbir darbe kaçmaz. 30 L/dk debide sensör saniyede 225 darbe üretir. loop() içinde digitalRead() ile pin yoklamak, araya giren delay() ya da ekran güncellemesi yüzünden darbe kaçırır.

Kesme fonksiyonu olabildiğince kısa tutulur ve yalnızca bir sayacı artırır. Sayaç volatile tanımlanır; ana programda okunurken kesmeler bir anlığına kapatılır, böylece sayı okunurken değişmez. Aşağıdaki kod her saniye debiyi ve toplam hacmi yazdırır:

const byte SENSOR_PIN = 2;
const float K = 7.5;                 // Hz başına L/dk (ürün bilgisi)
volatile unsigned long darbe = 0;
unsigned long toplamDarbe = 0;
unsigned long oncekiMs = 0;

void darbeSay() { darbe++; }

void setup() {
  Serial.begin(9600);
  pinMode(SENSOR_PIN, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(SENSOR_PIN), darbeSay, FALLING);
}

void loop() {
  if (millis() - oncekiMs >= 1000) {
    oncekiMs += 1000;
    noInterrupts();
    unsigned long n = darbe;
    darbe = 0;
    interrupts();
    toplamDarbe += n;
    float debi = n / K;                       // L/dk
    float litre = toplamDarbe / (K * 60.0);   // 450 darbe = 1 L
    Serial.print(debi, 1);  Serial.print(" L/dk   ");
    Serial.print(litre, 2); Serial.println(" L");
  }
}

L/dk ve toplam litre nasıl hesaplanır?

Debi, bir saniyede sayılan darbe sayısının 7,5'e bölünmesiyle L/dk olarak; toplam hacim ise sayılan tüm darbelerin 450'ye bölünmesiyle litre olarak bulunur. Örneğin bir saniyede 90 darbe sayıldıysa debi 90 / 7,5 = 12 L/dk'dır. Sulama boyunca toplam 2250 darbe sayıldıysa 2250 / 450 = 5 litre su geçmiştir.

Ölçüm aralığını kısaltmak değeri daha sık günceller ama düşük debide hassasiyeti azaltır. 1 L/dk debide sensör saniyede yalnızca 7-8 darbe verir; tek bir darbelik hata bile yüzde 13'e yakın sapma demektir. Düşük debilerde ölçümü birkaç saniyelik pencerede yapıp ortalamak daha kararlı sonuç verir. Sonucu sahada görmek isterseniz 16x2 I2C LCD ekran yalnızca iki veri kablosuyla bağlanır.

YF-S201 kalibrasyonu nasıl yapılır?

YF-S201 kalibrasyonu, bilinen hacimde suyu sensörden geçirip sayılan darbeyi o hacme bölerek yapılır. Ürün bilgisindeki 7,5 katsayısı genel bir değerdir; gerçek değer sensörün montaj yönüne, su basıncına, debiye ve üretim farklarına göre değişir. Hassas sonuç istiyorsanız katsayıyı kendi tesisatınızda bulun.

  • Ölçülü bir kap hazırlayın, örneğin 5 litrelik bir bidon.
  • Toplam darbe sayacını sıfırlayın ve kabı, projede kullanacağınız debiye yakın bir hızla doldurun.
  • Litre başına darbe = sayılan darbe / litre. Örnek: 5 litrede 2300 darbe sayıldıysa 460 darbe/L olur.
  • Yeni K değeri = litre başına darbe / 60. Örnekte 460 / 60 ≈ 7,67; koddaki K sabitini bu değerle değiştirin.
  • Denemeyi farklı debilerde tekrarlayın; sonuçlar farklıysa en çok kullanacağınız debideki değeri seçin.

Sensörü bir pompa ile birlikte kullanacaksanız mini su pompası bağlantısı ve otomatik sulama sistemi yazılarımız devreyi tamamlamanıza yardım eder. Diğer akış, basınç ve seviye sensörleri için Arduino sensör ve modüller kategorisine bakabilirsiniz.

Sık sorulan sorular

YF-S201 kaç volt ile çalışır?

YF-S201, ürün sayfasına göre 5-18V DC aralığında çalışır ve 5V'ta en fazla 15 mA çeker. Arduino Uno ile kullanırken kartın 5V pininden beslemek en kolay yoldur. Daha yüksek gerilimle beslerseniz sinyal hattının seviyesi de değişebilir; mikrodenetleyicinin girişine kendi çalışma geriliminden yüksek sinyal gelmediğinden emin olun.

YF-S201 sıcak su ölçebilir mi?

Ürün sayfasına göre YF-S201'in çalışma sıcaklığı -25 °C ile 80 °C arasıdır, yani bu aralıktaki ılık ve sıcak suyla kullanılabilir. Kaynar su, buhar ya da 80 °C'yi aşan sıvılar için uygun değildir. Gövde plastik olduğundan yüksek sıcaklık ile yüksek basınç bir arada olduğunda sızıntı riski artar; sıcak hatlarda bağlantıları düzenli kontrol edin.

YF-S201 ESP32 ile kullanılabilir mi?

Evet, YF-S201 ESP32 ile kullanılabilir; ESP32'de neredeyse her GPIO pinine kesme bağlanabilir. Dikkat edilecek nokta sinyal seviyesidir. Sensör 5V ile beslendiğinde çıkışı 5V'a çıkabilir, ESP32 girişleri ise 3,3V'tur. Sinyali bir gerilim bölücüyle ya da lojik seviye dönüştürücüyle düşürün. ESP32'de kesme fonksiyonunun başına IRAM_ATTR eklemeyi unutmayın.

Su akarken neden hiç darbe sayılmıyor?

Darbe sayılmamasının en sık nedeni debinin sensörün alt sınırı olan 1 L/dk'nın altında kalmasıdır; bu durumda pervane dönmez. İkinci neden sinyal kablosunun kesme desteklemeyen bir pine bağlanmasıdır; Arduino Uno'da yalnızca D2 ve D3 kullanılabilir. Ayrıca akış yönünün gövdedeki okla aynı olduğunu ve pervaneyi tıkayan kir olmadığını kontrol edin.

YF-S201 su sayacı yerine kullanılabilir mi?

YF-S201 tüketimi izlemek ve otomasyon için uygundur, ancak resmi su sayacının yerini tutmaz. Ölçüm hassasiyeti montaja, basınca ve debiye göre değişir; kalibrasyonla iyileşse de faturalama düzeyinde değildir. Ev içi tüketim grafiği, sızıntı uyarısı ya da belirli miktarda su verip vanayı kapatan bir sistem için ise iyi bir seçenektir.

Özet

  • YF-S201, pervane ve Hall sensörüyle çalışan, debiyle orantılı darbe üreten bir su akış sensörüdür.
  • Ürün bilgisine göre frekans (Hz) = 7,5 × debi (L/dk); bir litre için 450 darbe sayılır.
  • Kırmızı kablo 5V'a, siyah GND'ye, sarı sinyal Arduino Uno'nun D2 kesme pinine bağlanır.
  • Darbeler kesme fonksiyonuyla sayılır; volatile sayaç her saniye okunup sıfırlanır.
  • Hassas ölçüm için bilinen hacimde suyla kalibrasyon yapılıp K katsayısı güncellenir.

Bu yazıdaki ürünler

Diğer yazılar