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.
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:
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
Hocam elinize sağlık bu su seviye projesini mblock 5 te de yapabilir misiniz ilkokul öğrencileri için
Hazırlıyorum. Kısa zamanda yükleyeceğim.