Arduino Su Seviyesi Sensörü Kullanımı

Arduino Su Seviyesi Sensörü Kullanımı

Bu yazımızda su seviyesi sensörünü ele alacaz. Lafı uzatmadan yazımıza başlayalım.

Su Seviyesi Sensörü Nedir ?

Su seviyesi sensörü, üzerinde bulunan iletken bakır teller sayesinde su tanecikleri bu bakır tellere değmesi ile oluşan direncin ölçülmesini sağlayan bir sensör çeşididir. Bu sensör bir potansiyometre gibi görev alır ve su yukarı çıktıkça direnç değeri azalır ve bu sayede ölçüm yapılır.

Su Seviyesi Sensörü

Yukarıdaki resimde gösterilen su seviyesi sensöründe gördüğümüz gibi üzerinde bir led vardır ve bu led sistemde elektrik olup olmadığını gösterir. Bu sensör yağmur sensörü ile aynı prensipte çalışmaktadır ve bu sensörü yağmur sensörü olarak kullanmakta mümkündür.

Yağmur Sensörü

Su seviyesi sensörünün toplamda üç ayağı bulunmaktadır. Bunların ikisi enerji için kullanılırken, bir pin ise değerleri Arduino aktaran pinidir. Su seviyesi sensörünü tanıttığımıza göre şimdi ise projelerimize başlayalım.

Proje 1

Bu projemizde su seviyesi sensörünün kullanımını ve verilerin serial monitere aktarılmasının ele alacaz. Bu işlem sayesinde su seviyesi sensörünün nasıl çalıştığını ve ne aralıkta değer ürettiğini görmüş olacaz. Lafı uzatmadan malzemelere gecelim.

  • 1 Adet Arduino Uno
  • 1 Adet breadboard
  • 1 Adet su seviyesi sensörü
  • Jumper kablolar

Şimdi su seviyesi sensörümüzün bu proje için gerekli kod satırlarını oluşturalım.

//omerfarukyildiz.com
int susensor =A0; //Analog pini su sensor adlı değişkene tanımladık.
void setup () {
  Serial.begin (9600);} //Serial haberleşme etkinleştirdik.
void loop() {
  int deger = analogRead(susensor); //Su seviyesi sensöründen gelen verileri değer değişkenine tanımladık.
  Serial.print("Su sensörü değeri: "); // Serial ekrana su sensörü değeri yazısını yazdırdık.
  Serial.println(deger); //Değer değişkeninin ekrana yazdırdık.
  delay(100); //Bu işlemleri 10 milisaniyede bir yaptırıyoruz. 
}

Yukarıda yapıtımız işlem ise Arduino A0 analog pininden gelen değeri önce tanımlıyoruz. Daha sonra ise serial haberleşmeyi void setup kısmında çalışır hale getirdikten sonra  analog deger olduğunu ve deger değişkenine tanımlıyoruz. Daha sonra ise su sensörü değeri yazısını ve deger değişkenine ekrana yazdırıyoruz. Bu işlemleri ise 10 milisaniyede bir yapıyoruz. Şimdi ise kod satırlarını oluşturulduğumuza göre devre şemasını çizelim.

Proje 1 Şeması

Yukarıda oluşturduğumuz su seviyesi sensörü devresinde oldukça başit şekilde kurmuş olduk. Arduino GND pinine su sensörünün ( – ) pinini, Arduino 5V pinine su seviyesi sensörünün ( + ) pinine, Arduino A0 pinine ise su seviyesi sensörünün S pinine takmamız gerekecektir.  Bu şemayı oluşturduktan sonra Arduino’nun programından serial monitörü açtığımızda değerler ekrana aşağıdaki gibi çıkacaktır.

Proje 1 Çıktısı

Bu projemizi bitirdiğimize göre ikinci projemize geçelim.

Proje 2

Bu projemizde su seviyesi sensörünü entegre edeceğimiz led modulu ile su seviye sensörünün değerine göre led yakma işlevini gerçekleştirecez. Lafı uzatmadan malzemeleri listeleyelim.

  • 1 Adet Arduino Uno
  • 1 Adet breadboard
  • 1 Adet su seviyesi sensörü
  • 1 Adet beyaz led
  • 1 Adet yesil led
  • 1 Adet sari led
  • 1 Adet kırmızı led
  • 4 Adet 220k direnç
  • Jumper kablolar

Bu şekilde malzemeleri listelediğimize göre kod satırlarını oluşturmaya başlayalım.

//omerfarukyildiz.com
int susensor =A0; //Analog pini susensor adlı degişkene tanımladık.
int beyaz=8; //Ledlerin pinlerini tanımladık.
int yesil = 9; //Ledlerin pinlerini tanımladık.
int sari=10; //Ledlerin pinlerini tanımladık.
int kirmizi=11; //Ledlerin pinlerini tanımladık.
void setup () {
  Serial.begin (9600); //Serial haberleşme etkinleştirdik.
  pinMode(beyaz, OUTPUT); //Ledlerin pinleri açılması sağlandı.
    pinMode(yesil, OUTPUT); //Ledlerin pinleri açılması sağlandı.
      pinMode(sari, OUTPUT); //Ledlerin pinleri açılması sağlandı.
        pinMode(kirmizi, OUTPUT); //Ledlerin pinleri açılması sağlandı.
        }
void loop() {
  int deger = analogRead(susensor); //Su seviyesi sensöründen geşlen verileri deger degişkenine tanımladık.
  Serial.print("Su sensörü değeri: "); // Serial ekrana su sensörü degeri yazısını yazdırdık.
  Serial.print(deger); //deger degişkeninin ekrana yazdırdık.
if(deger==0) //İf-else yapısı ile deger eger 0 a eşit ise beyaz led yanıp yanıp sönecek.
{
  Serial.println("  Beyaz led yandı.");
  digitalWrite(beyaz, HIGH);
  delay(100);
  digitalWrite(beyaz, LOW);
   delay(100);
  }
 else if(deger<100) //İf-else yapısı ile deger eger 100 den küçük ise yesil led yanıp yanıp sönecek.
 {
    Serial.println("  Yesil led yandı.");
  digitalWrite(yesil, HIGH);
  delay(100);
  digitalWrite(yesil, LOW);
   delay(100);
  }
   else if(deger<250) //İf-else yapısı ile deger eger 250den küçük ise sari led yanıp yanıp sönecek.
   {
    Serial.println("  Sarı led yandı.");
  digitalWrite(sari, HIGH);
  delay(100);
  digitalWrite(sari, LOW);
   delay(100);
  }
 else if(deger>250) //İf-else yapısı ile deger eger 250 den büyük ise kırmızı led yanıp yanıp sönecek.
 {
    Serial.println("  Kırmızı led yandı.");
  digitalWrite(kirmizi, HIGH);
  delay(100);
  digitalWrite(kirmizi, LOW);
   delay(100);
  }
else //eğer hiçbir koşul gerçekleşmez ise bütün ledler kapatılacak.
{  
    digitalWrite(beyaz, LOW);
      digitalWrite(yesil, LOW);
        digitalWrite(sari, LOW);
          digitalWrite(kirmizi, LOW);
  }
  delay(100); //Bu işlemleri 10 milisaniyede bir yaptırıyoruz. 
}

Proje 1 kullandığımız kodları kullanarak oluşturduğumuz bu projemizde if – else koşul yapısını kullanarak su seviyesi sensörlünden gelen değere göre led ışık yaktık. Eğer değer 0 ise beyaz led, eğer değer 0 ile 100 arasında ise yeşil led, eğer değer 100 ile 250 arasında ise sarı led, eğer değer 250den büyükse kırmızı led, bunların hiçbiri değilse tüm ledleri kapatmayı sağladık. Bu işlemi yaparken dikkat etmemi gereken unsur su seviyesi sönsörü bazen olayla alakası olmayan değerler vermektedir ve buna dikkat etmemiz gerekmektedir. Şimdi ise şemamızı oluşturalım.

Proje 2 Şeması

Yukarıdaki şekilde kurduğumuz şemada dikkat etmemiz gereken husus ise su seviyesi sensörünün  GND’sini Arduino farklı GND takmamız gerekiyor. Bunun nedeni ise ledlerin çekmiş olduğu akımdan dolayı yanlış değerler üretebilir.

Dikkat: Yukarıda oluşturduğumuz şemada özellikle dirençlerin hepsini 220k seçtik. Bunun nedeni ise dirençlerle ilgili bilgisi olmayan arkadaşlarımızın kafasını karıştırmamaktır.

Şimdi ise serial ekran çıktısını bakalım.

Proje 2 Çıktısı

Bu yazımızda su seviyesi sensörünü ele aldık ve elimizden geldiğince anlatmaya gayret gösterdik.

Diğer Arduino yazılarımıza ulaşmak için Tıklayın.

Java programlama dili derslerimiz için Tıklayın.

Bize yorum yaparak ve sosyal medya adreslerimizden takip ederek destek olabilirsiniz.

Yazı gezinmesi

Mobil sürümden çık