Image
10 Temmuz, 2026

Arduino Toprak Nem Alarmı Projesi: Toprak Nem Sensörü ve Aktif Buzzer Kullanımı

Arduino Toprak Nem Alarmı Projesi: Toprak Nem Sensörü ve Aktif Buzzer Kullanımı

Arduino Toprak Nem Alarmı, toprağın nem durumunu analog olarak ölçen ve toprak kuruduğunda buzzer ile sesli uyarı veren basit ama öğretici bir Arduino projesidir. Bu proje, özellikle bitki sulama takibi, sera otomasyonu, akıllı saksı uygulamaları ve temel sensör okuma mantığını öğrenmek için uygundur.

Bu uygulamada Arduino Toprak Nem Sensörü ile topraktan analog değer okunur. Okunan değer belirlenen eşik değerinin üzerine çıktığında sistem toprağı kuru kabul eder ve buzzer üzerinden uyarı verir. Böylece kullanıcı, bitkinin sulanması gerektiğini kolayca anlayabilir.

Arduino Toprak Nem Alarmı Projesi
Fotoğraf 1: Arduino, toprak nem sensörü ve aktif buzzer ile hazırlanmış toprak nem alarmı projesi.

Projenin Amacı

Bu projenin amacı, topraktaki nem miktarını Arduino ile okuyarak toprağın kuru veya nemli olduğunu tespit etmektir. Toprak kuruduğunda buzzer çalışır ve kullanıcıya sesli uyarı verir. Toprak yeterince nemliyse buzzer susar.

Kısaca: Toprak nem değeri belirlenen eşik değerinin üzerine çıkarsa Arduino buzzerı çalıştırır. Bu sayede bitkinin suya ihtiyacı olduğu anlaşılır.

Toprak Nem Sensörü Nasıl Çalışır?

Toprak nem sensörü, prob uçları arasındaki iletkenlik değişimini kullanarak topraktaki nem durumunu algılar. Toprak nemliyken elektriksel iletkenlik artar, toprak kuruyken iletkenlik azalır. Arduino, sensörün analog çıkışından gelen değeri analogRead() fonksiyonu ile okur.

Arduino Uno’da analog okuma değeri genellikle 0 ile 1023 arasında değişir. Kullanılan sensör tipine, toprağın yapısına, su miktarına ve bağlantı şekline göre değerler değişebilir. Bu yüzden projede kullanılan dryThreshold değeri mutlaka test edilerek ayarlanmalıdır.

Durum Sensör Değeri Sistem Tepkisi
Toprak nemli Eşik değerin altında olabilir Buzzer kapalı
Toprak kuru Eşik değerin üzerine çıkabilir Buzzer çalışır

Aktif Buzzer ile Pasif Buzzer Arasındaki Fark

Bu projede aktif buzzer kullanılabilir. Aktif buzzer, içine osilatör devresi entegre edilmiş buzzer türüdür. Arduino’dan sadece HIGH veya LOW sinyali alarak çalışır. Bu nedenle aktif buzzer kullanımında tone() fonksiyonuna gerek yoktur.

Aktif buzzer ise ses üretmek için Arduino’dan frekans sinyali bekler. Bu yüzden aktif buzzer ile genellikle tone(buzzerPin, 1000) gibi komutlar kullanılır. Aktif buzzerda ise digitalWrite() yeterlidir.

Buzzer Türü Kod Kullanımı Açıklama
Aktif Buzzer digitalWrite() Sabit ses üretir, frekans ayarı gerekmez.
Aktif Buzzer tone() / noTone() Arduino’dan frekans sinyali alarak ses üretir.
Önemli Not: Bazı aktif buzzer modülleri aktif HIGH, bazı modüller ise aktif LOW çalışabilir. Bu projedeki kodda buzzerın LOW sinyaliyle çalıştığı varsayılmıştır. Buzzer beklediğinizin tersine çalışırsa HIGH ve LOW değerlerini yer değiştirebilirsiniz.

Kullanım Videosu

Devre bağlantısı, eşik değeri ayarlama, sensör testi ve buzzer alarmının çalışma mantığını aşağıdaki uygulama videosundan izleyebilirsiniz:

Gerekli Malzemeler

Gerekli Malzeme Ürün Linki
Arduino UNO R3 Klon + USB Kablo Arduino UNO R3 Klon + USB Kablo
Arduino Toprak Nem Sensörü Arduino Toprak Nem Sensörü
Aktif Buzzer Aktif Buzzer
Breadboard Büyük Breadboard 830 Pin
Jumper Kablo 40 Adet Erkek-Dişi Jumper Kablo 20cm

Devre Bağlantıları

Toprak nem sensörünün analog çıkışı Arduino’nun A0 pinine bağlanır. Aktif buzzer ise D8 pininden kontrol edilir. Buzzerın eksi ucu GND hattına bağlanır.

Parça Bağlantı
Toprak Nem Sensörü VCC Arduino 5V
Toprak Nem Sensörü GND Arduino GND
Toprak Nem Sensörü A0 Arduino A0
Aktif Buzzer + Arduino D8
Aktif Buzzer - Arduino GND
Arduino Toprak Nem Alarmı bağlantı şeması
Fotoğraf 2: Arduino Toprak Nem Sensörü ve aktif buzzer bağlantı şeması.

Arduino Toprak Nem Alarmı Kodu

Aşağıdaki kodda toprak nem sensöründen A0 pini üzerinden analog değer okunur. Okunan değer dryThreshold değerinden büyükse toprak kuru kabul edilir. Bu durumda aktif buzzer çalıştırılır.

/*
  Proje: Arduino Toprak Nem Alarmı
  Platform: Arduino Uno
  Hazırlayan: Robomer
  Web: https://robomer.com

  Bağlantılar:
  Toprak Nem VCC -> 5V
  Toprak Nem GND -> GND
  Toprak Nem A0  -> A0
  Buzzer +       -> D8
  Buzzer -       -> GND
*/

const int soilPin = A0;
const int buzzerPin = 8;

int dryThreshold = 650;

void setup() {
  Serial.begin(9600);
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  int soilValue = analogRead(soilPin);

  Serial.print("Toprak Nem Degeri: ");
  Serial.println(soilValue);

  // Bu eşik değeri kullanılan sensöre ve toprağa göre kalibre edilmelidir.
  if (soilValue > dryThreshold) {
    digitalWrite(buzzerPin, LOW);
  }
  else {
    digitalWrite(buzzerPin, HIGH);
  }

  delay(500);
}
Kod Notu: Bu kodda buzzerın LOW sinyaliyle çalıştığı varsayılmıştır. Eğer buzzer toprak nemliyken ötüyor, toprak kuruyken susuyorsa LOW ve HIGH değerlerini ters çevirmeniz gerekir.

Kod Nasıl Çalışır?

Pin Tanımları

const int soilPin = A0;
const int buzzerPin = 8;

soilPin, toprak nem sensörünün analog çıkışının bağlı olduğu A0 pinini ifade eder. buzzerPin ise buzzerın bağlı olduğu D8 pinini temsil eder.

Eşik Değeri

int dryThreshold = 650;

dryThreshold, toprağın kuru kabul edileceği sınır değeridir. Bu değer her toprak ve sensör için aynı olmayabilir. Seri Monitör’den değerleri izleyerek kendi projenize uygun eşik değerini belirlemeniz gerekir.

Sensör Değerini Okuma

int soilValue = analogRead(soilPin);

Bu satır A0 pininden gelen analog değeri okur. Arduino Uno’da analog girişler 0 ile 1023 arasında değer döndürür.

Seri Monitör Çıktısı

Serial.print("Toprak Nem Degeri: ");
Serial.println(soilValue);

Bu iki satır sensörden okunan değeri Arduino IDE Seri Monitör ekranına yazdırır. Böylece kuru ve nemli toprakta hangi değerlerin okunduğunu test edebilirsiniz.

Alarm Kontrolü

if (soilValue > dryThreshold) {
  digitalWrite(buzzerPin, LOW);
}
else {
  digitalWrite(buzzerPin, HIGH);
}

Bu koşulda sensör değeri eşik değerinin üzerine çıktığında sistem toprağı kuru kabul eder. Kodda buzzer LOW ile çalıştırılacak şekilde ayarlanmıştır. Nem değeri eşik değerinin altındaysa buzzer HIGH sinyaliyle kapalı tutulur.

Eşik Değeri Nasıl Kalibre Edilir?

Toprak nem sensörü farklı toprak türlerinde farklı değerler verebilir. Bu yüzden dryThreshold = 650 değeri kesin bir standart değildir. En doğru eşik değerini belirlemek için aşağıdaki adımları uygulayabilirsiniz:

  1. Kodu Arduino kartınıza yükleyin.
  2. Arduino IDE üzerinden Seri Monitör ekranını açın.
  3. Sensörü kuru toprağa yerleştirip okunan değeri not alın.
  4. Sensörü nemli toprağa yerleştirip okunan değeri not alın.
  5. Bu iki değerin arasından uygun bir eşik değeri belirleyin.

Örneğin kuru toprakta 780, nemli toprakta 430 değerini görüyorsanız 600-650 aralığında bir eşik değeri kullanabilirsiniz.

Seri Monitör ile Test Etme

Kod yüklendikten sonra Arduino IDE’de Seri Monitör açılarak sensör değerleri gözlemlenebilir. Seri Monitör baud hızı 9600 olarak seçilmelidir.

Sensör kuru havada, kuru toprakta ve nemli toprakta farklı değerler gösterecektir. Bu değerleri karşılaştırarak projenin doğru çalışıp çalışmadığı kontrol edilebilir.

Sık Yapılan Hatalar

  • Buzzer ters çalışıyor: Aktif buzzer modülünüz aktif HIGH çalışıyor olabilir. HIGH ve LOW değerlerini ters çevirin.
  • Sensör değeri hiç değişmiyor: A0 bağlantısını, VCC ve GND hatlarını kontrol edin.
  • Alarm sürekli ötüyor: Eşik değeri toprağınıza uygun olmayabilir. Seri Monitör’den yeni değer belirleyin.
  • Okumalar kararsız: Prob uçları toprağa tam temas etmiyor olabilir veya bağlantılar gevşek olabilir.
  • Sensör kısa sürede kararıyor: Rezistif toprak nem sensörleri uzun süre nemli toprakta bırakıldığında korozyona uğrayabilir.

Bu Proje Nasıl Geliştirilebilir?

  • Buzzer yerine LCD ekran eklenerek nem değeri ekranda gösterilebilir.
  • Röle modülü eklenerek mini su pompası kontrol edilebilir.
  • RGB LED ile kuru, normal ve nemli durumları renklerle gösterilebilir.
  • NodeMCU veya ESP32 ile Wi-Fi üzerinden nem takibi yapılabilir.
  • Birden fazla toprak nem sensörü kullanılarak çoklu saksı takip sistemi kurulabilir.
Git

Arduino Toprak Nem Alarmı Kodları

Toprak nem alarmı, buzzer kontrolü, eşik kalibrasyonu ve geliştirilmiş sulama sistemi örnek kodlarını GitHub deposunda paylaşabilirsiniz.

Robomer’de Bulabileceğiniz İlgili Ürünler

Arduino Toprak Nem Sensörü

Arduino Toprak Nem Sensörü

Topraktaki nem seviyesini analog olarak okumak için kullanılan sensör modülüdür.

Ürünü İncele
Aktif Buzzer

Aktif Buzzer

Toprak kuruduğunda sesli uyarı vermek için kullanılabilir.

Ürünü İncele
Arduino UNO R3 Klon

Arduino UNO R3 Klon + USB Kablo

Sensör verisini okumak ve buzzer kontrolünü yapmak için kullanılan geliştirme kartıdır.

Ürünü İncele

Sonuç

Arduino Toprak Nem Alarmı projesi, analog sensör okuma ve dijital çıkış kontrolünü öğrenmek için oldukça uygun bir başlangıç projesidir. Toprak nem sensörü sayesinde bitkinin su ihtiyacı takip edilebilir, aktif buzzer ile de kullanıcıya sesli uyarı verilebilir.

Bu temel devre daha sonra LCD ekran, röle modülü, su pompası veya Wi-Fi destekli kartlarla geliştirilerek otomatik sulama sistemine dönüştürülebilir.

Arduino Bitki Takip ve Sulama Projeleri İçin Malzemeleri İnceleyin

Toprak nem sensörü, Arduino kartları, buzzer, röle modülü, jumper kablo ve breadboard gibi proje malzemelerini Robomer üzerinden inceleyebilirsiniz.

Toprak Nem Sensörlerini İncele