ElektronikZorluk: OrtaSüre: 1.5 saat

Arduino ile Otomatik Bitki Sulama Sistemi Yapımı (Toprak Nem Sensörü + Röle + Pompa)

Arduino ile otomatik bitki sulama: kapasitif toprak nem sensörü, röle ve mini pompa bağlantısı, sensör kalibrasyonu ve güvenlik limitli hazır kod rehberi.

Arduino ile Otomatik Bitki Sulama Sistemi Yapımı (Toprak Nem Sensörü + Röle + Pompa)

Güvenlik Uyarısı

Elektronik cihazları tamir etmek garantiyi geçersiz kılabilir. Çalışmaya başlamadan önce cihazın fişten çekildiğinden ve bataryasının çıkarıldığından emin olun. Statik elektrik bileşenlere zarar verebilir.

Arduino ile otomatik bitki sulama sistemi yapmak için bir kapasitif toprak nem sensörünü Arduino'nun A0 pinine, bir 5V röle modülünü D7 pinine bağlar, küçük bir dalgıç pompayı rölenin üzerinden ayrı bir güç kaynağıyla beslersiniz. Arduino toprağın nemini birkaç saniyede bir ölçer; değer belirlediğiniz kuruluk eşiğini geçince röleyi birkaç saniyeliğine çekerek pompayı çalıştırır, sonra suyun toprağa yayılmasını bekleyip yeniden ölçer. Kurulum yaklaşık 1-1,5 saat sürer; en kritik adım, sensörü kendi saksınıza göre kalibre etmektir.

Gerekli Malzemeler

  • Arduino Uno (R3 veya R4) ve USB kablosu
  • Kapasitif toprak nem sensörü (v1.2 veya v2.0 gibi, analog çıkışlı)
  • 1 kanallı 5V röle modülü (optokuplörlü olması tercih edilir)
  • 3-6V mini dalgıç su pompası ve ona uygun silikon hortum (genellikle 7-8 mm dış çap)
  • Pompa için ayrı güç kaynağı: 4xAA pil yuvası veya 5V adaptör
  • Jumper kablolar ve isteğe bağlı breadboard
  • Su haznesi olarak kapaklı bir kap

Başlangıç seti arıyorsanız Arduino Tabanlı Uno Pro Başlangıç Seti ve kartlar için elektronik ürünleri sayfamıza bakabilirsiniz. Hangi kartla başlayacağınızdan emin değilseniz Arduino mu Raspberry Pi mi yazımız işinizi kolaylaştırır.

Neden kapasitif sensör?

Ucuz, çatal şeklindeki rezistif nem sensörleri toprağa doğrudan akım verir ve birkaç hafta içinde elektrotları korozyona uğrar. Kapasitif sensörlerde metal yüzey toprağa temas etmez; uzun süreli kullanım için çok daha dayanıklıdır.

Adım 1: Devreyi Kurun

| Bileşen | Pin | Arduino bağlantısı | | --- | --- | --- | | Nem sensörü | VCC | 5V | | Nem sensörü | GND | GND | | Nem sensörü | AOUT | A0 | | Röle modülü | VCC | 5V | | Röle modülü | GND | GND | | Röle modülü | IN | D7 |

Pompa tarafı Arduino'dan tamamen ayrıdır:

  1. Pompanın kırmızı (+) kablosunu güç kaynağının artı ucuna değil, rölenin COM ucuna bağlayın.
  2. Rölenin NO (normalde açık) ucunu güç kaynağının artı ucuna bağlayın.
  3. Pompanın siyah (-) kablosunu doğrudan güç kaynağının eksi ucuna bağlayın.

Böylece röle çekmediği sürece pompa enerjisizdir; Arduino kilitlenirse veya kablo çıkarsa pompa kendiliğinden çalışmaz.

Pompayı Arduino'nun 5V pininden beslemeyin

Küçük pompalar bile çalışmaya başlarken yüksek akım çeker. Bu akım Arduino'nun voltaj regülatörünü zorlar, kartın resetlenmesine veya USB portunun korumaya geçmesine yol açar. Pompayı daima ayrı bir kaynaktan besleyin. Su ile elektronik aynı yerde olduğu için Arduino ve röleyi su haznesinden uzak, kapalı bir kutuda tutun.

Adım 2: Sensörü Kalibre Edin

Kapasitif sensörlerin verdiği değerler model ve toprağa göre değişir. Bu yüzden kendi ölçümünüzü yapmanız gerekir.

  1. Aşağıdaki kısa kodu yükleyin ve Seri Monitör'ü 9600 baud'da açın.
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println(analogRead(A0));
  delay(1000);
}
  1. Sensörü havada tutun ve değeri not edin. Bu kuru değerdir (Uno'da genellikle 500-600 arası).
  2. Sensörü bir bardak suya, üzerindeki çizgiyi geçmeyecek şekilde daldırın. Bu ıslak değerdir (genellikle 250-300 arası).
  3. Son olarak sensörü saksıya, kökleri zedelemeden 4-5 cm derinliğe batırın. Toprak kuru olduğunda ve sulandıktan yarım saat sonra okunan değerleri de not edin.

Kapasitif sensörde değer yükseldikçe toprak kurur. Sensörün üst kısmındaki elektronik bileşenleri asla ıslatmayın; suya yalnızca işaret çizgisine kadar batırın.

Adım 3: Sulama Kodunu Yükleyin

Kalibrasyonda bulduğunuz değerlere göre KURU_ESIK ve ISLAK_ESIK sabitlerini düzenleyin.

const int SENSOR_PIN = A0;
const int ROLE_PIN = 7;

// Kendi kalibrasyon degerlerinize gore ayarlayin
const int KURU_ESIK = 480;   // bu degerin ustu = kuru, sula
const int ISLAK_ESIK = 380;  // bilgi amacli, yeterince islak

// Cogu ucuz role modulu LOW sinyalle ceker
const bool ROLE_AKTIF_LOW = true;

const unsigned long POMPA_SURESI = 3000;       // tek seferde 3 sn sulama
const unsigned long BEKLEME_SURESI = 60000;    // suyun yayilmasi icin 1 dk bekle
const int GUNLUK_MAKS_SULAMA = 8;              // guvenlik limiti

int sulamaSayisi = 0;
unsigned long gunBaslangici = 0;

void pompa(bool acik) {
  if (ROLE_AKTIF_LOW) {
    digitalWrite(ROLE_PIN, acik ? LOW : HIGH);
  } else {
    digitalWrite(ROLE_PIN, acik ? HIGH : LOW);
  }
}

int nemOku() {
  long toplam = 0;
  for (int i = 0; i < 10; i++) {
    toplam += analogRead(SENSOR_PIN);
    delay(20);
  }
  return toplam / 10;
}

void setup() {
  Serial.begin(9600);
  pompa(false);              // once kapali seviyeyi yaz, acilista role tiklamasin
  pinMode(ROLE_PIN, OUTPUT);
  gunBaslangici = millis();
}

void loop() {
  if (millis() - gunBaslangici > 86400000UL) {
    gunBaslangici = millis();
    sulamaSayisi = 0;
  }

  int deger = nemOku();
  Serial.print("Nem degeri: ");
  Serial.println(deger);

  if (deger > KURU_ESIK && sulamaSayisi < GUNLUK_MAKS_SULAMA) {
    Serial.println("Toprak kuru, sulaniyor");
    pompa(true);
    delay(POMPA_SURESI);
    pompa(false);
    sulamaSayisi++;
    delay(BEKLEME_SURESI);
  } else {
    delay(5000);
  }
}

Kodun önemli noktaları:

  • Ortalama alma: 10 ölçümün ortalaması, ani sıçramaların pompayı gereksiz çalıştırmasını önler.
  • Kısa sulama + bekleme: Suyun toprağa yayılması zaman alır. Pompayı sensör ıslanana kadar çalıştırmak saksıyı taşırır.
  • Günlük limit: Sensör topraktan çıkarsa veya kablo koparsa değer hep "kuru" görünür. Limit, evinizin su basmasını engeller.

Adım 4: Röle Mantığını Test Edin

Kod yüklendiğinde pompa hemen çalışıyor ve hiç durmuyorsa röle modülünüz HIGH sinyalle çekiyordur. ROLE_AKTIF_LOW değerini false yapıp tekrar yükleyin. Röle her çektiğinde modülün üzerindeki LED yanmalı ve hafif bir tık sesi duyulmalıdır.

Adım 5: Hortumu ve Hazneyi Yerleştirin

  1. Pompayı su haznesinin dibine yerleştirin. Mini pompalar susuz çalışırsa kısa sürede bozulur.
  2. Hortumun ucunu saksının kenarına sabitleyin; suyu sensörün tam dibine değil, köklerin yayıldığı bölgeye verin.
  3. Hazne saksıdan yüksekteyse pompa durduğunda sifon etkisiyle su akmaya devam edebilir. Hortumun ucunu hazne seviyesinin üzerinde tutun veya hortuma küçük bir hava deliği açın.
  4. İlk gün sistemin başında durun ve Seri Monitör'den değerleri izleyin.

Adım 6: Kalıcı Hale Getirin

  • Breadboard yerine kabloları lehimlemek titreşim ve nemden kaynaklanan temassızlıkları önler. Lehim nasıl yapılır rehberimiz bu konuda yardımcı olur.
  • Arduino'yu sürekli çalıştırmak için 5V telefon adaptörü yeterlidir.
  • Sensörün üst kısmını ve kablo çıkışını sıcak silikonla veya şeffaf ojeyle koruyabilirsiniz.
  • Birden fazla saksı için her saksıya ayrı sensör ve çok kanallı röle modülü kullanılabilir.

Sık Yapılan Hatalar

  • Sensörü aşırı derine gömmek: Elektronik kısmın ıslanması sensörü bozar.
  • Pompanın kutuplarını ters bağlamak: Bazı pompalar ters yönde dönmez veya çok zayıf basar.
  • Tek ölçüme güvenmek: Ortalama alınmayan değerler pompayı gereksiz çalıştırır.
  • Bekleme süresini kısa tutmak: Saksı taşar, kökler çürür.
  • Röle modülünün tipini bilmemek: Aktif LOW ve aktif HIGH modüller ters davranır.

Wi-Fi üzerinden uzaktan izleme eklemek isterseniz ESP32 ile DHT22 sıcaklık ve nem sensörü rehberimizdeki web sunucusu yapısını bu projeye uyarlayabilirsiniz.

Sıkça Sorulan Sorular

Toprak nem sensörü hangi değerde sulama yapmalı?

Bu değer bitkiye, toprağa ve sensör modeline göre değişir. Sensörü kuru ve yeni sulanmış toprakta ölçüp aradaki değerin kuruya yakın üçte birlik bölümünü eşik olarak seçmek iyi bir başlangıçtır. Kaktüs gibi az su seven bitkilerde eşiği kuru tarafa daha yakın tutun.

Pompa için hangi güç kaynağını kullanmalıyım?

3-6V mini pompalar için 4 adet AA pil veya 5V 1-2A'lik bir adaptör yeterlidir. Daha güçlü 12V pompalar kullanacaksanız 12V adaptör ve kontakları bu akıma uygun bir röle seçin. Her durumda Arduino'nun kendi 5V pinini kullanmayın.

Röle yerine MOSFET kullanabilir miyim?

Evet. Logic-level bir N-kanal MOSFET (örneğin IRLZ44N) ve pompanın uçlarına ters bağlanmış bir diyot ile daha sessiz ve uzun ömürlü bir anahtarlama yapılabilir. Yeni başlayanlar için hazır röle modülü daha az hata payı bırakır.

Sistem tatildeyken güvenle çalışır mı?

Kod içindeki günlük sulama limiti ve kısa sulama süresi riskleri azaltır, ancak uzun süreli bırakmadan önce sistemi en az bir hafta gözetim altında çalıştırın. Hazneyi bitkinin ihtiyacına göre büyük seçin ve pompanın susuz kalmamasına dikkat edin.