Image
8 Temmuz, 2026

Arduino ile LCD Ekranlı Su Seviye Alarmı Projesi Nasıl Yapılır?

Arduino ile LCD Ekranlı Su Seviye Alarmı Projesi Nasıl Yapılır?

Arduino ile LCD ekranlı su seviye alarmı projesi, su seviyesini algılayan, bu seviyeyi LCD ekranda gösteren ve kritik seviyeye ulaşıldığında buzzer ile sesli uyarı veren öğretici bir Arduino uygulamasıdır. Bu proje ile analog sensör okuma, I2C LCD ekran kullanımı, pasif buzzer kontrolü ve temel alarm sistemi mantığı birlikte öğrenilebilir.

Projede su / sıvı seviye sensörü suyla temas miktarına göre analog değer üretir. Arduino UNO bu değeri A0 pininden okur, yazılım içinde yüzde değerine çevirir ve sonucu I2C 16x2 LCD ekranda gösterir. Su seviyesi belirlenen eşiklerin üzerine çıktığında sistem önce uyarı durumuna geçer, kritik seviyede ise buzzer ile hızlı alarm verir.

Bu yazıda Robomer Su Seviye Alarm Proje Seti ile devrenin nasıl kurulacağını, bağlantıların nasıl yapılacağını, Arduino kodunun nasıl çalıştığını, kalibrasyonun nasıl yapılacağını ve sık karşılaşılan sorunların nasıl çözüleceğini adım adım inceleyeceğiz.

Arduino ile LCD Ekranlı Su Seviye Alarmı Projesi
Fotoğraf 1: Arduino, I2C LCD ekran, su seviye sensörü ve buzzer ile hazırlanmış LCD ekranlı su seviye alarmı projesi.
Proje Özeti: Bu sistem, su seviyesi yükseldikçe LCD ekranda yüzde bilgisini gösterir. Seviye yüksek olduğunda aralıklı uyarı, taşma riski oluştuğunda ise hızlı buzzer alarmı verir.

Proje Uygulama Videosu

Devre kurulumu, Arduino kod yükleme işlemi, sensör kalibrasyonu ve su seviyesi testini aşağıdaki uygulama videomuzdan izleyebilirsiniz:

Bu Projede Ne Öğreneceğiz?

Bu proje başlangıç seviyesi Arduino kullanıcıları için oldukça öğreticidir. Çünkü tek bir uygulama içinde sensör okuma, ekran kullanımı, koşullu karar verme ve sesli uyarı mantığı birlikte kullanılır.

  • Arduino UNO ile analog sensör okuma
  • Su / sıvı seviye sensöründen gelen değeri yorumlama
  • Ham sensör değerini yüzdeye çevirme
  • I2C 16x2 LCD ekrana yazı ve değer yazdırma
  • Su seviyesine göre durum mesajı gösterme
  • Pasif buzzer ile farklı alarm sesleri üretme
  • Kalibrasyon mantığını öğrenme
  • Basit bir alarm sistemi kurma

Projede Kullanılan Malzemeler

Bu uygulamada Robomer Su Seviye Alarm Proje Seti içerisindeki temel parçalar kullanılmaktadır. İsterseniz parçaları tek tek inceleyebilir veya proje seti üzerinden hepsini birlikte temin edebilirsiniz.

Malzeme Görevi Ürün Linki
Arduino UNO R3 Klon Sistemin ana kontrol kartıdır. Arduino UNO R3 Klon + USB Kablo
Arduino Su - Sıvı Seviye Sensörü Suyun sensör yüzeyine temas miktarını algılar. Arduino Su - Sıvı Seviye Sensörü
I2C 16x2 LCD Ekran Su seviyesi ve sistem durumunu gösterir. 16x2 Mavi LCD Ekran - I2C Lehimli
Pasif Buzzer Kritik seviyede sesli alarm verir. Pasif Buzzer
Breadboard Devreyi lehim yapmadan kurmak için kullanılır. Büyük Breadboard 830 Pin
Jumper Kablo Arduino ve modüller arasındaki bağlantıları yapar. 40 Adet Erkek-Dişi Jumper Kablo 20cm

Komponentleri Tanımadan Projeye Başlamayın

Bu projede kullanılan parçaların ne işe yaradığını daha iyi anlamak için aşağıdaki detaylı blog yazılarını inceleyebilirsiniz:

  • Arduino UNO R3 Klon: Bu kartın pin yapısı, CH340 sürücüsü ve Arduino IDE kullanımı hakkında detaylı bilgiye Arduino UNO R3 Klon Nedir? blog yazısından ulaşabilirsiniz.
  • I2C 16x2 LCD Ekran: LCD ekranın SDA/SCL bağlantısı, I2C adresi ve ekran kullanımı hakkında detaylı bilgiye I2C 16x2 LCD Ekran Nedir? blog yazısından ulaşabilirsiniz.
  • Arduino Su - Sıvı Seviye Sensörü: Sensörün analog çıkışı, çalışma mantığı ve kalibrasyonu hakkında detaylı bilgiye Arduino Su - Sıvı Seviye Sensörü Nedir? blog yazısından ulaşabilirsiniz.

Projenin Çalışma Mantığı

Projenin çalışma mantığı oldukça basittir. Su / sıvı seviye sensörü, suyla temas ettikçe Arduino’ya farklı analog değerler gönderir. Arduino UNO bu değeri A0 pininden okur ve yazılım içinde 0 - 100 aralığında yüzde değerine çevirir.

Hesaplanan yüzde değeri LCD ekranda gösterilir. Su seviyesi düşük, normal, yüksek veya kritik olarak sınıflandırılır. Seviye yüksek olduğunda buzzer aralıklı uyarı verir. Seviye kritik seviyeye geldiğinde ise buzzer daha hızlı alarm sesi üretir.

Su Seviyesi LCD Durumu Buzzer Durumu
0 - 30% SU SEVIYESI AZ Kapalı
30 - 65% SEVIYE NORMAL Kapalı
65 - 85% SEVIYE YUKSEK Aralıklı uyarı
85 - 100% TASMA RISKI! Hızlı alarm

Devre Bağlantıları

Devre bağlantılarında Arduino UNO, su seviye sensörü, I2C LCD ekran ve pasif buzzer birlikte kullanılır. Bağlantı yapmadan önce Arduino’nun USB bağlantısını çıkarmanız ve devreye güç vermeden önce VCC / GND hatlarını kontrol etmeniz önerilir.

Arduino LCD Ekranlı Su Seviye Alarmı Devre Şeması
Fotoğraf 2: Arduino UNO, I2C LCD ekran, su seviye sensörü ve buzzer bağlantı şeması.

I2C LCD Ekran Bağlantısı

I2C LCD Arduino UNO
GND GND
VCC 5V
SDA A4
SCL A5

Su / Sıvı Seviye Sensörü Bağlantısı

Sensör Pini Arduino UNO
VCC / + 5V
GND / - GND
S / Signal A0

Pasif Buzzer Bağlantısı

Buzzer Arduino UNO
+ D8
- GND
Not: Pasif buzzer çıplak buzzer tipindeyse Arduino D8 pini ile buzzerın artı ucu arasına 220R veya 330R direnç eklenebilir. Buzzer modül şeklindeyse çoğu durumda doğrudan bağlantı yapılabilir.

Devre Kurulum Adımları

  1. Arduino UNO’yu breadboard yanına yerleştirin.
  2. I2C LCD ekranın VCC pinini Arduino 5V pinine bağlayın.
  3. I2C LCD ekranın GND pinini Arduino GND pinine bağlayın.
  4. LCD ekranın SDA pinini Arduino A4 pinine bağlayın.
  5. LCD ekranın SCL pinini Arduino A5 pinine bağlayın.
  6. Su seviye sensörünün VCC pinini Arduino 5V pinine bağlayın.
  7. Su seviye sensörünün GND pinini Arduino GND pinine bağlayın.
  8. Sensörün S / Signal pinini Arduino A0 pinine bağlayın.
  9. Pasif buzzerın artı ucunu Arduino D8 pinine bağlayın.
  10. Pasif buzzerın eksi ucunu Arduino GND hattına bağlayın.
  11. Bağlantıları kontrol ettikten sonra Arduino’yu USB kablo ile bilgisayara bağlayın.

Gerekli Arduino Kütüphanesi

Bu projede I2C LCD ekran kullanıldığı için Arduino IDE’ye LiquidCrystal_I2C kütüphanesinin yüklenmesi gerekir.

  1. Arduino IDE’yi açın.
  2. Library Manager bölümüne girin.
  3. Arama kısmına LiquidCrystal I2C yazın.
  4. Uyumlu kütüphaneyi yükleyin.
  5. Kod içinde Wire.h ve LiquidCrystal_I2C.h kütüphanelerinin bulunduğundan emin olun.

Arduino Kodu

Aşağıdaki kod, LCD ekranlı ve buzzer uyarılı su seviye alarm sistemi için kullanılabilir. Kodda su seviye sensörü A0 pininden okunur, değer yüzdeye çevrilir, LCD ekranda gösterilir ve belirlenen seviyelere göre buzzer uyarısı verilir.

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

// LCD I2C adresi genellikle 0x27 veya 0x3F olur.
// Ekran çalışmazsa 0x27 yerine 0x3F denenebilir.
LiquidCrystal_I2C lcd(0x27, 16, 2);

#define SU_SENSOR A0
#define BUZZER 8

int sensorDegeri = 0;
int suYuzdesi = 0;

// Bu değerler sensöre ve suyun iletkenliğine göre değişebilir.
// Serial Monitor üzerinden ölçüm yapılarak güncellenmelidir.
int kuruDeger = 0;
int tamSuDeger = 650;

void setup() {
  pinMode(BUZZER, OUTPUT);

  Serial.begin(9600);

  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("Robomer");

  lcd.setCursor(0, 1);
  lcd.print("Su Seviye Alarm");

  delay(2000);
  lcd.clear();
}

void loop() {
  sensorDegeri = analogRead(SU_SENSOR);

  suYuzdesi = map(sensorDegeri, kuruDeger, tamSuDeger, 0, 100);
  suYuzdesi = constrain(suYuzdesi, 0, 100);

  Serial.print("Sensor Degeri: ");
  Serial.print(sensorDegeri);
  Serial.print(" | Su Seviyesi: ");
  Serial.print(suYuzdesi);
  Serial.println("%");

  lcd.setCursor(0, 0);
  lcd.print("Seviye: ");
  lcd.print(suYuzdesi);
  lcd.print("%    ");

  lcd.setCursor(0, 1);

  if (suYuzdesi < 30) {
    lcd.print("SU SEVIYESI AZ ");
    noTone(BUZZER);
  }
  else if (suYuzdesi < 65) {
    lcd.print("SEVIYE NORMAL  ");
    noTone(BUZZER);
  }
  else if (suYuzdesi < 85) {
    lcd.print("SEVIYE YUKSEK  ");
    tone(BUZZER, 1500);
    delay(150);
    noTone(BUZZER);
    delay(700);
  }
  else {
    lcd.print("TASMA RISKI!   ");
    tone(BUZZER, 2500);
    delay(150);
    noTone(BUZZER);
    delay(150);
  }

  delay(300);
}

Kodun Çalışma Mantığı

Kodun başında LCD ekranı kontrol etmek için gerekli kütüphaneler projeye dahil edilir:

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

LCD ekranın I2C adresi, sütun ve satır sayısı şu satırla tanımlanır:

LiquidCrystal_I2C lcd(0x27, 16, 2);

Eğer LCD ekranın ışığı yanıyor fakat yazı görünmüyorsa veya ekran çalışmıyorsa 0x27 yerine 0x3F adresi denenebilir.

Su seviye sensörü A0 pinine, buzzer ise D8 pinine tanımlanır:

#define SU_SENSOR A0
#define BUZZER 8

loop() bölümünde sensörden gelen analog değer okunur:

sensorDegeri = analogRead(SU_SENSOR);

Daha sonra bu değer yüzdeye çevrilir ve 0 - 100 aralığında sınırlandırılır:

suYuzdesi = map(sensorDegeri, kuruDeger, tamSuDeger, 0, 100);
suYuzdesi = constrain(suYuzdesi, 0, 100);

Su seviyesi belirli eşikleri geçtiğinde LCD ekran mesajı değişir ve pasif buzzer için tone() fonksiyonu kullanılarak ses üretilir. Buzzerı susturmak için ise noTone() fonksiyonu kullanılır.

Kalibrasyon Nasıl Yapılır?

Su / sıvı seviye sensörleri her ortamda aynı değeri vermeyebilir. Kullanılan suyun iletkenliği, sensör yüzeyinin temizliği ve bağlantı kalitesi okunan değeri etkileyebilir. Bu nedenle daha doğru sonuç için kalibrasyon yapılmalıdır.

  1. Arduino’ya kodu yükleyin.
  2. Arduino IDE üzerinden Serial Monitor ekranını açın.
  3. Sensör kuru haldeyken okunan değeri not edin.
  4. Sensörü suya maksimum seviyeye kadar temas ettirin.
  5. Bu durumda okunan değeri not edin.
  6. Kod içindeki kuruDeger ve tamSuDeger değerlerini güncelleyin.

Örneğin sensör kuru haldeyken 80, suya büyük ölçüde temas ettiğinde 620 değeri okunuyorsa kod şu şekilde düzenlenebilir:

int kuruDeger = 80;
int tamSuDeger = 620;

Projenin Test Edilmesi

Projeyi test etmek için şeffaf bir bardak veya küçük plastik kap kullanabilirsiniz. Sensörü yavaşça suya temas ettirerek LCD ekrandaki seviye değerinin değişimini gözlemleyin.

LCD Çıktısı Sistem Durumu
Seviye: 20% / SU SEVIYESI AZ Buzzer kapalıdır.
Seviye: 55% / SEVIYE NORMAL Buzzer kapalıdır.
Seviye: 75% / SEVIYE YUKSEK Buzzer aralıklı uyarı verir.
Seviye: 90% / TASMA RISKI! Buzzer hızlı alarm verir.
Git

Proje Kodları ve Dosyaları

Arduino kodu, bağlantı şeması, görseller ve proje açıklama dosyalarına GitHub deposu üzerinden erişebilirsiniz.

Sık Karşılaşılan Sorunlar ve Çözümleri

  • Sensör değerleri değişmiyor: Sensörün VCC, GND ve S pinleri kontrol edilmelidir. Sinyal pini Arduino’nun A0 pinine bağlı olmalıdır.
  • LCD ekran ışığı yanıyor ama yazı görünmüyor: LCD ekranın arkasındaki kontrast potansiyometresi tornavida ile yavaşça çevrilmelidir.
  • LCD ekran çalışmıyor: I2C adresi yanlış olabilir. Kodda 0x27 yerine 0x3F denenebilir. Ayrıca SDA ve SCL bağlantıları kontrol edilmelidir.
  • Buzzer ses çıkarmıyor: Pasif buzzer kullanılıyorsa digitalWrite() yerine tone() fonksiyonu kullanılmalıdır. Buzzerın artı ve eksi uçları kontrol edilmelidir.
  • Seviye yüzdesi yanlış görünüyor: Kalibrasyon değerleri yanlış olabilir. Sensör kuru haldeyken ve su içindeyken Serial Monitor’den değerler okunmalı, kuruDeger ve tamSuDeger buna göre ayarlanmalıdır.
  • Değerler çok dalgalanıyor: Sensör okuması ortam koşullarına göre değişebilir. Daha stabil sonuç için birden fazla ölçümün ortalaması alınabilir.
  • Sensör zamanla kararıyor: Bu tip su seviye sensörleri uzun süre su içinde bırakılmamalıdır. Kullanım sonrası sensör yüzeyi kurulanmalıdır.

Proje Geliştirme Fikirleri

Bu proje temel haliyle su seviyesini ölçer, LCD ekranda gösterir ve kritik seviyede sesli uyarı verir. Daha sonra farklı parçalar eklenerek geliştirilebilir.

  • 5V röle kartı eklenerek pompa kontrolü yapılabilir.
  • RGB LED eklenerek seviye durumları renklerle gösterilebilir.
  • LCD ekranda ham sensör değeri de gösterilebilir.
  • Farklı alarm melodileri oluşturulabilir.
  • Su seviyesi belirli değere geldiğinde mini pompa durdurulabilir.
  • 3D baskı kutu tasarımı yapılarak proje daha düzenli hale getirilebilir.
  • 9V pil veya uygun adaptör ile taşınabilir hale getirilebilir.
Güvenlik notu: Röle ile yüksek voltajlı cihazlar kontrol edilecekse bağlantılar mutlaka güvenli şekilde yapılmalıdır. Bu temel projede 220V şehir elektriği kullanılmamalıdır.

Kullanım Alanları

Arduino ile LCD ekranlı su seviye alarmı projesi birçok eğitim ve hobi uygulamasında kullanılabilir.

  • Su deposu taşma alarmı
  • Akvaryum su seviyesi takibi
  • Yağmur suyu toplama sistemi
  • Saksı sulama sistemi
  • Sıvı sızıntı uyarısı
  • Eğitim amaçlı Arduino sensör projesi
  • Mini depo veya tank maketi
  • Laboratuvar eğitim seti
  • Basit otomasyon uygulamaları

Güvenlik ve Kullanım Notları

Bu projede düşük voltajlı Arduino devresi kullanılmaktadır. Ancak su ile elektronik devre aynı ortamda bulunduğu için bağlantıların dikkatli yapılması gerekir.

  • Elektronik bağlantı noktaları suyla temas ettirilmemelidir.
  • Sadece sensörün algılama yüzeyi suya sokulmalıdır.
  • Arduino ve breadboard kuru bir alanda tutulmalıdır.
  • Devreye güç vermeden önce bağlantılar kontrol edilmelidir.
  • Sensör uzun süre su içinde bırakılmamalıdır.
  • Kullanım sonrası sensör yüzeyi kurulanmalıdır.
  • 220V şehir elektriği bu temel projeye bağlanmamalıdır.

Robomer Su Seviye Alarm Proje Seti

Robomer Su Seviye Alarm Proje Seti

Su Seviye Alarm Proje Seti

Arduino UNO, su seviye sensörü, I2C LCD ekran, buzzer, breadboard ve jumper kablolarla LCD ekranlı su seviye alarmı kurmak için hazırlanmış proje setidir.

Proje Setini İncele
Arduino UNO R3 Klon

Arduino UNO R3 Klon

Projede sensör değerini okuyan, LCD ekranı yöneten ve buzzer alarmını kontrol eden ana geliştirme kartıdır.

Ürünü İncele
16x2 Mavi LCD Ekran I2C Lehimli

16x2 Mavi LCD Ekran - I2C Lehimli

Su seviyesi yüzdesini ve sistem durumunu kullanıcıya göstermek için kullanılan I2C LCD ekran modülüdür.

Ürünü İncele
Arduino Su Sıvı Seviye Sensörü

Arduino Su - Sıvı Seviye Sensörü

Suyun sensör yüzeyine temas miktarına göre analog değer üreten ve seviye takibi için kullanılan sensör modülüdür.

Ürünü İncele

Sonuç

Arduino ile LCD ekranlı su seviye alarmı projesi, başlangıç seviyesi için oldukça öğretici ve kullanışlı bir uygulamadır. Bu proje sayesinde su seviye sensöründen analog veri okunur, Arduino UNO bu veriyi işler, I2C LCD ekranda seviye bilgisi gösterilir ve kritik seviyede pasif buzzer ile alarm verilir.

Proje hem görsel hem de sesli uyarı verdiği için basit ama etkili bir alarm sistemi oluşturur. Ayrıca I2C LCD ekran sayesinde devre bağlantısı daha sade hale gelir ve kullanıcı su seviyesini anlık olarak takip edebilir.

Kullanılan parçaları tek tek tanımak isterseniz Arduino UNO, I2C LCD ekran ve su / sıvı seviye sensörü blog yazılarını inceleyebilir; projeyi doğrudan yapmak isterseniz Robomer Su Seviye Alarm Proje Seti ile başlayabilirsiniz.

Bu Projeyi Kendiniz Yapın

Arduino UNO, I2C LCD ekran, su seviye sensörü, buzzer, breadboard ve jumper kablolarla LCD ekranlı su seviye alarmı sisteminizi kurabilirsiniz.

Robomer Su Seviye Alarm Proje Setini İncele