Parçalar · 3 dk okuma

Toprak Nem Sensörü: Arduino ile Otomatik Bitki Sulama

Toprak nem sensörü nasıl çalışır? Rezistif ve kapasitif sensör farkı, Arduino bağlantısı, kuru ve ıslak değerle kalibrasyon, paslanmayı önleme, röle ve pompa ile otomatik sulama, ESP32 ve Pico kullanımı.

Toprak nem sensörü, saksıdaki ya da bahçedeki toprağın ne kadar ıslak olduğunu ölçen basit bir sensördür. Bitkin susadığında haber veren bir uyarı ışığından, tatildeyken çiçeklerini kendiliğinden sulayan bir sisteme kadar birçok projenin temelidir. Ucuzdur, Arduino'ya üç kabloyla bağlanır ve bir röle ile küçük bir pompa eklediğinde gerçekten işe yarayan bir otomasyon kurarsın.

Toprak nem sensörü modülü
Toprak nem sensörü: toprağa batırılan çatal uçlar ve analog (AO) ile dijital (DO) çıkış veren karşılaştırıcı kartı.

Toprak nem sensörü nasıl çalışır?

Toprağın içindeki su, toprağın elektriği iletme ve elektrik yükü depolama özelliklerini değiştirir. Rezistif sensörler toprağa batırılan iki metal uç arasındaki direnci ölçer: toprak ıslandıkça direnç düşer. Kapasitif sensörler ise kaplamalı bir elektrotun çevresindeki kapasitansı ölçer; metal uç toprağa hiç değmez. Çoğu modülde toprak kuruyken okunan değer yüksek, ıslakken düşüktür.

ÖzellikRezistif (YL-69, FC-28)Kapasitif (v1.2)
Ölçtüğü şeyİki metal uç arasındaki dirençElektrot çevresindeki kapasitans
Açıkta metalVarYok (kaplamalı)
PaslanmaSürekli beslenirse birkaç haftada aşınırÇok dayanıklıdır
ÇıkışAnalog (AO) ve dijital (DO)Analog
FiyatÇok ucuzBiraz daha pahalı
Önerilen kullanımKısa denemelerKalıcı saksı ve bahçe projeleri

Pin bağlantısı

Sensör piniArduino UnoESP32Raspberry Pi Pico
VCCD7 (yalnızca ölçerken beslemek için) ya da 5VGPIO 25 ya da 3V3GP15 ya da 3V3
GNDGNDGNDGND
AO (AOUT)A0GPIO 34GP26
DOD2 (isteğe bağlı)İsteğe bağlıİsteğe bağlı
Rezistif sensörü sürekli beslersen uçlardan geçen akım elektroliz yapar ve metal birkaç hafta içinde aşınır. Bunu önlemenin en kolay yolu sensörün VCC'sini 5V yerine bir dijital pine bağlayıp yalnızca ölçüm yaparken birkaç milisaniyeliğine açmaktır. Sensör yalnızca birkaç mA çektiği için bir pin onu rahatça besler.

Arduino ile nem okumak ve kalibrasyon

Her sensörün ve her toprağın değerleri farklıdır, bu yüzden önce kendi sensörünü kalibre et: sensör havadayken (tamamen kuru) ve bir bardak suya batırılmışken (tamamen ıslak) okunan değerleri not al. Sonra map() ile bu aralığı 0–100 arası bir yüzdeye çevirirsin. Kodda DRY ve WET değerlerini kendi ölçümlerinle değiştir:

Arduino (C++)
1const int SENSOR_PIN = A0;
2const int POWER_PIN = 7;       // sensörü yalnızca ölçerken besle / power only while measuring
3const int DRY = 850;           // havadayken okunan / reading in air (kendin ölç / measure yours)
4const int WET = 380;           // sudayken okunan / reading in water (kendin ölç / measure yours)
5
6void setup() {
7  pinMode(POWER_PIN, OUTPUT);
8  Serial.begin(9600);
9}
10
11int readMoisture() {
12  digitalWrite(POWER_PIN, HIGH);
13  delay(10);                                              // değerin oturmasını bekle / let it settle
14  int raw = analogRead(SENSOR_PIN);
15  digitalWrite(POWER_PIN, LOW);
16  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);   // % nem / % moisture
17}
18
19void loop() {
20  int moisture = readMoisture();
21  Serial.print("Toprak nemi / Soil moisture: %");
22  Serial.println(moisture);
23  delay(2000);
24}
Sensörü kök bölgesine, saksı kenarından uzağa ve her ölçümde aynı derinliğe yerleştir. Kapasitif sensörlerin üst kısmındaki elektronik su geçirmez değildir; sensörü üzerindeki çizginin üstüne kadar gömme ve kartın üstünü sıcak silikon ya da bir kılıfla koru.

Otomatik sulama: röle ve pompa

6V mini dalgıç su pompası
Mini dalgıç su pompası: 3–6 V ile çalışır, bir su kabının içine yerleştirilir ve hortumla saksıya su taşır.

Şimdi ölçümü gerçek bir işe çevirelim: toprak nemi yüzde 30'un altına düşünce pompa 4 saniye çalışsın, sonra suyun toprağa yayılması için 1 dakika beklensin ve ancak ondan sonra yeniden ölçülsün. Bu bekleme, sensörün henüz ıslanmadığı için pompanın durmadan çalışıp saksıyı taşırmasını önler. Pompa Arduino pininden doğrudan beslenemez; bir röle ya da MOSFET üzerinden sürülür. Röle bağlantısı için Röle Modülü Nedir? yazısına bakabilirsin.

Arduino (C++)
1const int SENSOR_PIN = A0, POWER_PIN = 7, PUMP_PIN = 8;   // PUMP_PIN → röle IN / relay IN
2const int DRY = 850, WET = 380;
3const int START_BELOW = 30;          // %30'un altında sula / water below 30%
4const unsigned long PUMP_MS = 4000;  // her seferde 4 sn / 4 s per run
5const unsigned long SOAK_MS = 60000; // suyun yayılması için bekle / wait for the water to soak in
6
7int readMoisture() {
8  digitalWrite(POWER_PIN, HIGH);
9  delay(10);
10  int raw = analogRead(SENSOR_PIN);
11  digitalWrite(POWER_PIN, LOW);
12  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);
13}
14
15void setup() {
16  pinMode(POWER_PIN, OUTPUT);
17  pinMode(PUMP_PIN, OUTPUT);
18  digitalWrite(PUMP_PIN, HIGH);      // aktif LOW röle: kapalı başla / active-LOW relay: start off
19}
20
21void loop() {
22  if (readMoisture() < START_BELOW) {
23    digitalWrite(PUMP_PIN, LOW);     // pompayı çalıştır / pump on
24    delay(PUMP_MS);
25    digitalWrite(PUMP_PIN, HIGH);    // pompayı durdur / pump off
26    delay(SOAK_MS);                  // tekrar ölçmeden önce bekle / wait before measuring again
27  }
28  delay(5000);
29}
Su ve elektronik yan yana çalışıyor: Arduino'yu ve röleyi su kabından uzağa ve yüksekte tut, kablo eklerini yalıt. Pompa susuz çalışırsa birkaç dakikada bozulur; depoya bir su seviyesi sensörü eklemek ve günlük toplam sulama süresine bir sınır koymak, hem pompayı hem de evini korur.

ESP32 ve Raspberry Pi Pico ile toprak nemi

ESP32'de sensörü Wi-Fi açıkken de çalışan ADC1 pinlerinden birine (GPIO 32–39) bağla; değerler 0–4095 arasında olacağı için kalibrasyonu yeniden yap. ESP32 ile nemi telefonuna bildirim olarak gönderebilir, derin uyku moduyla saatte bir ölçüm yapıp pille aylarca çalışan bir saksı sensörü kurabilirsin. Pico'da MicroPython ile okuma şöyledir:

MicroPython
1from machine import ADC, Pin
2import time
3
4sensor = ADC(26)               # GP26 → AOUT
5power = Pin(15, Pin.OUT)       # sensörü yalnızca ölçerken besle / power only while measuring
6DRY, WET = 52000, 24000        # kendi değerlerinle değiştir / replace with your readings
7
8def moisture():
9    power.value(1)
10    time.sleep_ms(10)
11    raw = sensor.read_u16()
12    power.value(0)
13    pct = (DRY - raw) * 100 // (DRY - WET)
14    return max(0, min(100, pct))
15
16while True:
17    print("Toprak nemi / Soil moisture: %", moisture())
18    time.sleep(2)

Toprak nemi kaç olmalı?

Bitki türüYaklaşık hedef nem
Kaktüs ve sukulentler%10–30
Çoğu ev bitkisi%40–60
Domates, biber ve sebzeler%60–80
Eğrelti otu ve nem seven bitkiler%70–90

Bu yüzdeler sensörünün kendi kuru-ıslak aralığına göredir, bilimsel anlamda toprağın su içeriği değildir. En doğru eşik, bitkin sulanmaya ihtiyaç duyduğunda sensörün gösterdiği değeri birkaç gün gözlemleyerek bulunur.

Toprak nem sensörü ile proje fikirleri

  • Otomatik saksı sulama: Tatile gittiğinde bile çiçeklerini kendiliğinden sulayan bir sistem.
  • "Susadım" uyarısı: Toprak kuruyunca yanan bir LED ya da öten bir buzzer.
  • Telefona bildirim: ESP32 ile nem düşünce Telegram'dan mesaj gönder.
  • Çok saksılı sulama: Her saksıya bir sensör ve küçük bir valf ekleyerek bitkileri ayrı ayrı sula.
  • Mini sera istasyonu: DHT11 ile hava nemini, LDR ile ışığı da ölçüp hepsini bir ekranda topla.
  • Akıllı bahçe: Yağmur sensörü yağış algıladığında sulamayı otomatik olarak atla.

Sık yapılan hatalar ve çözümleri

  • Değer hep 1023 ya da hep 0: AO yerine DO pini okunuyor, besleme yok ya da sensör kartına giden kablo kopmuş.
  • Uçlar paslandı ve değerler saçmaladı: Rezistif sensör sürekli beslenmiş; sensörü pinden besle ya da kapasitif modele geç.
  • Değerler zamanla kayıyor: Toprak sıkışınca ya da gübrelenince iletkenlik değişir; ara sıra yeniden kalibre et.
  • Pompa durmuyor: Röle aktif LOW ve kodda HIGH/LOW ters ya da ıslanma beklenmeden yeniden ölçülüyor; ölçümler arasına bekleme ekle.
  • Kapasitif sensör garip değerler veriyor: Üst kısmındaki elektronik ıslanmış; kartı su geçirmez hale getir.
  • ESP32'de Wi-Fi açılınca okuma bozuluyor: Sensör ADC2 pinine bağlı; GPIO 32–39 arasındaki bir pine taşı.

Toprak nem sensörü, ölçmekten bir adım öteye geçip gerçek dünyada bir şeyi değiştiren ilk projen olabilir. BlueGrays uygulamasında akıllı sulama istasyonu ve ESP32 ile akıllı bitki sulama sistemi projelerini devre şemaları ve kodlarıyla adım adım bulabilirsin.

Sıkça sorulan sorular

Kapasitif mi rezistif toprak nem sensörü mü almalıyım?

Birkaç günlük denemeler için rezistif sensör yeterlidir. Saksıda aylarca kalacak bir projede kapasitif sensör seç; metal ucu açıkta olmadığı için paslanmaz ve değerleri zamanla daha az kayar.

Toprak nem sensörü ne kadar dayanır?

Sürekli beslenen bir rezistif sensörün uçları birkaç haftada belirgin şekilde aşınır. Yalnızca ölçüm anında beslenirse aylarca kullanılabilir. Kapasitif sensörler ise elektroniği sudan korunduğu sürece yıllarca çalışabilir.

Neden toprak kuruyken değer yüksek, ıslakken düşük?

Çoğu modül sensörü bir gerilim bölücünün parçası olarak bağlar; toprak ıslandıkça direnç ya da kapasitans değişir ve analog pindeki gerilim düşer. Bu yüzden kodda map(raw, KURU, ISLAK, 0, 100) ile aralığı ters çevirerek yüzde elde edilir.

Toprak nem sensörü ne kadar derine gömülmeli?

Sensörü bitkinin köklerinin bulunduğu bölgeye, saksı kenarından uzağa yerleştir. Kapasitif sensörlerde üzerindeki çizgiye kadar gömmek yeterlidir; elektronik kısmın toprağa ya da suya değmemesi gerekir.

Su pompası doğrudan Arduino'ya bağlanabilir mi?

Hayır. Küçük pompalar bile 100–300 mA çeker ve Arduino pini bunu veremez. Pompayı bir röle modülüyle ya da bir MOSFET ve ters gerilim diyotuyla sür; pompayı ayrı bir güç kaynağından besle ve GND'leri birleştir.

Bir Arduino ile kaç saksı izleyebilirim?

Arduino Uno'nun 6 analog girişi olduğu için 6 sensör doğrudan okunabilir. Daha fazlası için CD74HC4067 gibi 16 kanallı bir analog çoklayıcı ya da ADS1115 gibi ek bir ADC modülü kullanılabilir.

Tüm projeleri gör
Akıllı Sulama İstasyonu
#83İleri
Premium

Akıllı Sulama İstasyonu

İki adet 18650 pil ve LM2596 regülatör ile Arduino'yu yormadan 7/24 çalışan otonom bitki sulama sistemi. Toprak nemini sürekli ölçerek su motorunu otomatik yönetir ve sistemin anlık durumunu üzerindek

5.0(42)
57
ESP 32 Akıllı Bitki Sulama Sistemi
#139İleri
Premium

ESP 32 Akıllı Bitki Sulama Sistemi

Bu projede ESP32 ve toprak nem sensörü kullanılarak otomatik bitki sulama sistemi geliştirilmiştir. Sensör toprağın nem seviyesini sürekli ölçer. Nem belirlenen seviyenin altına düştüğünde ESP32 röleyi aktif ederek su pompasını çalıştırır ve bitkiyi sular. Toprak yeterince nemli olduğunda pompa otomatik olarak durur. Bu proje sayesinde bitkiler düzenli olarak sulanabilir ve su tasarrufu sağlanabilir. _______________________________ Bağlantılar Nem Sensörü Sensör ESP32 VCC 3.3V GND GND AO GPIO34

4.7(10)
14
DHT11 İle Sıcaklık Ve Nem
#55Orta

DHT11 İle Sıcaklık Ve Nem

DHT11 sensörü ile ortam sıcaklığı ve nem değerini ölçerek I2C LCD ekranda gösteren proje. Dijital sıcaklık/nem sensörü kullanımını öğretir.

4.7(47)
60
ESP32 DHT22 Sıcaklık ve Nem (LCD Ekranlı)
#117Orta
Premium

ESP32 DHT22 Sıcaklık ve Nem (LCD Ekranlı)

DHT22 sensörü ile ortam sıcaklığını ve nem oranını ölçüp 16x2 I2C LCD ekranda gerçek zamanlı olarak gösteren bir projedir. Adafruit DHT kütüphanesi kullanılarak tek kablo (one-wire) protokolü ile sensörden veri okunur. Bu proje, IoT hava istasyonu, akıllı ev otomasyonu veya seralarda ortam takip sistemlerinin temelini oluşturur. ESP32'nin GPIO 4 pini üzerinden DHT22 ile haberleşme sağlanır.

4.8(37)
53
220V Ampülü Buton(Push) İle Yakma
#19İleri
Premium

220V Ampülü Buton(Push) İle Yakma

Röle modülü kullanarak 220V ampulü butonla anlık (push) olarak kontrol eden proje. Röle ile yüksek gerilim anahtarlama temellerini öğretir.

4.4(30)
38
ESP32 Akıllı Aydınlatma (PIR + LDR + Röle + OLED)
#141İleri
Premium

ESP32 Akıllı Aydınlatma (PIR + LDR + Röle + OLED)

ESP32, PIR hareket sensörü, LDR ışık sensörü ve röle modülü ile evinin koridorunu, tuvaletini veya kilerini akıllı aydınlatmaya dönüştürüyoruz. Klasik "karanlıkta hareket algılanınca ışık yansın" senaryosunu inşa ediyoruz — ortam aydınlıksa hareket olsa bile ışık yanmaz, böylece gündüz gereksiz yere yanmaz ve enerji tasarrufu sağlanır. Işık 30 saniye yanık kalır; hareket devam ederse timer otomatik sıfırlanır ve süre uzar. SSD1306 OLED ekranda büyük fontlarla durum (AÇIK / GÜNDÜZ / BEKLE), geri

4.3(6)
11
ESP32 Sıcaklık Loglayıcı (DHT22 + DS1307 RTC + microSD + OLED)
#144İleri
Premium

ESP32 Sıcaklık Loglayıcı (DHT22 + DS1307 RTC + microSD + OLED)

ESP32 ile zamanlı sıcaklık ve nem kayıt sistemi kur! Bu projede DHT22 sensörü ile her 10 saniyede sıcaklık/nem okuyup DS1307 RTC modülünden aldığın gerçek zaman etiketiyle microSD karta CSV formatında kaydediyoruz. OLED ekranda büyük font ile son sıcaklık değeri, nem yüzdesi, timestamp ve toplam kayıt sayısı canlı gösterilir. SD kart üzerindeki `/temp_log.csv` dosyası Excel/Google Sheets/Python pandas ile açılıp analiz edilebilir — sera monitörü, ev/oda sıcaklık takibi, laboratuvar veri toplama,

4.7(7)
12
ESP32 HTTPClient + Hava Durumu API (LCD Ekranlı)
#133İleri
Premium

ESP32 HTTPClient + Hava Durumu API (LCD Ekranlı)

Bu projede ESP32 ile internet üzerinden hava durumu API'sine (wttr.in) `HTTPClient.h` kullanarak REST API çağrısı yapıyoruz. ArduinoJson v7 ile dönen JSON cevabını parse edip şehir, sıcaklık, nem, hava durumu ve rüzgar bilgilerini I2C LCD ekranda hem Türkçe hem İngilizce gösteriyoruz. wttr.in ücretsizdir, API key gerektirmez — herhangi bir şehir ismini yazarak o şehrin anlık hava durumunu çekebilirsiniz. 30 dakikada bir otomatik güncelleme, LED ile her ekran için farklı görsel feedback ve eksiks

4.7(13)
20

Toprak nem sensörünün türlerini, Arduino'ya bağlamayı, ölçümü yüzdeye çevirmeyi, paslanmayı önlemeyi ve bitkilerini kendiliğinden sulayan bir sistemi adım adım öğren.

Toprak Nem Sensörü: Arduino ile Otomatik Bitki Sulama | BlueGrays