Arduino Devreleri #37 Arduino Yağmur Alarmı-Su Seviye Kontrolü LCD Ekranlı

Merhabalar, bu yazımızda Arduino Yağmur Alarmı-Su Seviye Kontrolü LCD Ekranlı uygulaması hakkında bilgi vereceğim. Su seviye sensörü nedir? Nasıl çalışır? Sıvı seviye sensörü kullanarak nasıl yağmur alarm devresi tasarlayabiliriz?  bunlar hakkında bilgilendirme yapacağım.

Arduino programı ayrıntılı kod kısmı, devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.

SU SEVİYE SENSÖRÜ MODÜLÜ

Su seviye sensörü, birbirine paralel iletken hatların su ile teması sonucu direnç değişimi esasına göre sensör çıkışından analog değer üreten bir devre elemanıdır.

Su seviye sensörü üzerinde +5Volt – GND ve Sinyal çıkış uçları bulunmaktadır. Sinyal çıkışı analog bir değer olduğundan sinyal ucu Arduino üzerinde A0 – A5 pinlerinden birine bağlanmalıdır.

Su seviye sensörünün aldığı değerleri görmek için seri port ekranı ya da LCD ekran kullanılabilir. Seri port ekranından analog sinyal değerlerini okuyarak sensörün su seviyesine göre hangi değerleri aldığını görebiliriz. Sensör sistemde su olmadığında 0 (sıfır) değeri üretmektedir. Su ile temas ettiğinde 400 ile 750 civarında bir değer alınabilmektedir. Sensör suya değdiğinde ilk başta yüksek değer gösterse de aynı su seviyesinde yaklaşık 1 dk içerisinde gösterdiği değer sabitlenmektedir. Kod bölümünde belirtilecek seviye değerlerini buna göre ayarlamakta fayda olacaktır.

Arduino Su seviye sensörü

NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.

KOD BÖLÜMÜ:


//Su seviyesi LCD Ekranda Gösterme

#include <LiquidCrystal_I2C_AvrI2C.h>

LiquidCrystal_I2C_AvrI2C lcd(0x27,16,2); // Bazı kartlarda arabirim adresi 0x3f olabilir.

int seviye = 0;

void setup()
{
Serial.begin(9600); 
lcd.begin();
}
void loop(){
Serial.print("Su Seviyesi Değeri: ");
Serial.println(seviye);  

seviye = analogRead(A0); 
if (seviye<=350) 
{
lcd.clear(); // Yazılar üst üste binmemesi için ekranı temizliyoruz. 
lcd.setCursor(0, 0); 
lcd.print("Sistemde Su"); 
lcd.setCursor(0, 1); 
lcd.print("Bulunmamakta"); 
}
else if (seviye>351 && seviye<=450)
{
lcd.clear(); 
lcd.setCursor(0, 0); 
lcd.print("Su Seviyesi"); 
lcd.setCursor(0, 1); 
lcd.print("Az Miktarda"); 
}
else if (seviye>451 && seviye<=550) 
{
lcd.clear(); 
lcd.setCursor(0, 0); 
lcd.print("Su Seviyesi"); 
lcd.setCursor(0, 1); 
lcd.print("Normal"); 
}
else if (seviye>551 && seviye<=600) 
{
lcd.clear(); 
lcd.setCursor(0, 0); 
lcd.print("Su Seviyesi"); 
lcd.setCursor(0, 1); 
lcd.print("Yukseliyor"); 
}
else if (seviye>601)
{
lcd.clear(); 
lcd.setCursor(0, 0);
lcd.print("Su Seviyesi");
lcd.setCursor(0, 1);
lcd.print("Tehlikeli");
}
delay(1000); 
}

DEVRENİN ÇALIŞMASI:

Su seviye sensörünü su dolu bir kap içerisine daldırdığımızda veya üzerine yağmur şeklinde su serptiğimizde, su sensöründen aldığımız değerlere karşılık olarak belirlediğimiz yazıları LCD ekranda görebiliriz. Ayrıca seri port ekranında su seviyesi değerini de görebiliriz. Su seviyesi değerine uygun ekranda gözükecek yazıları kodlama içerisinden ayarlayabiliriz.

DEVRE BAĞLANTI ŞEMASI:

Arduino Yağmur Alarmı-Su Seviye Kontrolü LCD Ekranlı

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
Breadboard
1 adet Su Seviye Sensörü
1 adet LCD I2C Ekran
7 adet bir ucu dişi, diğer ucu erkek jumper kablo
2 adet iki ucu erkek jumper kablo

Su seviye sensörü üzerinde yer alan pinlere dişi jumper kabloların uçları yerleştirilir. Sensörün Vcc (+) pinini, breadboard alt kısmında artı şeride bağlanır. sensörün GND (-) pini, yine breadboard alt kısmında eksi şeride bağlanır.  Sensörün DATA (S) pini, Arduino’nun A0 numaralı pinine bağlanır.

LCD ekran üzerinde monteli olarak gelen I2C modülü üzerine 4 adet dişi jumper kablonun uçları yerleştirilir. SDA ve SCL pinlerine bağlı kablolar, Arduino üzerindeki SDA ve SCL pinlerine bağlanır. I2C modülü üzerindeki VCC kablo ucu, breadboard alt kısmındaki artı şeride bağlanır. I2C modülü üzerindeki GND kablo ucu, breadboard alt kısmındaki eksi şeride bağlanır. Breadboard artı şeridine bir kablo bağlayarak kablonun diğer ucunu Arduino nun 5 Volt çıkışına, yine breadboard eksi şeridine bir kablo bağlayarak kablonun diğer ucunu Arduino da GND çıkışına bağlanarak devre tamamlanır.

Arduino Yağmur Alarmı-Su Seviye Kontrolü LCD Ekranlı

Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.

https://www.youtube.com/@candemirahmet

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni