Ana içeriğe atla

#18 | LCD ile Su Seviyesini Ölçelim!

 



Sıvı Seviye Sensörü Nasıl Çalışır? 

Herkese merhaba, bugün Arduino ile su seviyesini ölçüp LCD ekranla gözlemleyeceğimiz bir proje yapacağız.  Öncelikle sensörümüzün çalışma mantığını inceleyelim. Sıvı seviye sensörü, su seviyesini ölçmek, bir hazne çukurunu izlemek, yağmuru veya sızıntıyı tespit etmek için kullanılabilir. Sıvı seviye sensörünün çalışması mantığı oldukça basittir. Saf su iletken değildir. Aslında onu iletken yapan sudaki minerallerdir. Bunu anlamak önemli çünkü doğru okumalar elde etmek için su türüne göre koddaki sayıları değiştirmeniz gerekebilir.  Gördüğünüz paralel iletkenler , direnci su seviyesine göre değişen değişken bir direnç görevi görür. (tıpkı bir potansiyometre gibi) 

Dirençteki değişiklik, sensörün tepesinden su yüzeyine olan mesafeye karşılık gelir. Direnç, suyun yüksekliği ile ters orantılıdır:

  • Sensör ne kadar çok suya daldırılırsa, daha iyi iletkenlik sağlar ve daha düşük bir dirençle sonuçlanır.
  • Sensör ne kadar az suya daldırılırsa, zayıf iletkenliğe neden olur ve daha yüksek dirençle sonuçlanır.
  • Sensör, dirence göre bir çıkış voltajı üretir ve bunu ölçerek su seviyesini belirleyebiliriz.



DEVRE

 


 Ortak bir + - bağlantısı sağlamayı unutmayın! 

ARTI=VCC EKSİ=GND 

KOD

 

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd=LiquidCrystal_I2C(0x27,16,2);
 
int deger = 0;  
int sensor = A0; 
  
void setup() { 
  lcd.init();
  lcd.backlight();
  lcd.print("su seviyesi: "); 
  Serial.begin(9600);
} 
  
void loop() { 
  
  lcd.setCursor(0, 3); 
  deger = analogRead(sensor); 
  Serial.println(deger); 
  if (deger<=100)
  { 
    lcd.println("bos "); 
    } 
    else if (deger>100 && deger<=300)
    { 
      lcd.println("dusuk "); 
      } 
      else if (deger>300 && deger<=600)
      {
        lcd.println("orta "); 
        } 
        else if (deger>600)
        { 
    lcd.println("yuksek"); 
  }
  delay(1000); 
}

Yorumlar