Giriş
Günümüzün akıllı teknolojileri, tarım ve bahçecilik alanlarında önemli dönüşümler yaratmaktadır. Bu gelişmelerin bir ürünü olan otomatik bitki sulama sistemleri, bitki sağlığını korumayı ve bakım süreçlerini kolaylaştırmayı hedefleyen yenilikçi çözümler olarak öne çıkmaktadır. Sensör tabanlı sulama mekanizmaları, toprağın nem düzeyini sürekli izleyerek sadece ihtiyaç duyulduğunda su verme olanağı sunar. Bu sayede su israfı minimuma inerken aynı zamanda bitkilerin ideal büyüme koşullarını sağlamak da kolaylaşır.
Bu makalede, Resim 1‘de tarafımca tasarlanan bir prototipi görülen Arduino merkezli bir otomatik bitki sulama sisteminin tasarımı, malzemeleri, çalışma prensibi, kod yapısı ile avantajları ve sınırlılıkları bilimsel bir bakış açısıyla ele alınmaktadır. Böylelikle hem hobi düzeyinde uygulayıcılar hem de profesyonel bağlamda kullanıcılar için faydalı bir kaynak oluşturmak amaçlanmaktadır.
Projenin Amacı ve Önemi
Bu projenin temel amacı, bitkilerin su ihtiyacını otomatik olarak karşılayarak, insan müdahalesine olan gereksinimi en aza indirmektir. Geleneksel sulama yöntemlerinin aksine bu sistem, toprak nem seviyesini toprak nem sensörü gibi Sensörler aracılığıyla sürekli izleyerek su israfını önler. Özellikle seyahatlerde veya günlük yaşamın yoğun olduğu dönemlerde bitkilerin susuz kalmamasını sağlar. Bu durum hem bitki sağlığını korumakta hem de çevresel sürdürülebilirliğe katkı sunmaktadır.
- Verimlilik Artışı: Su kaynağının optimal kullanımı sağlanarak bitkilerin su stresi yaşaması önlenir.
- Sürdürülebilirlik: Su tasarrufu yapılarak tarımsal faaliyetlerin çevresel sürdürülebilirliği desteklenir.
- Kolaylık: Sulama işlemi seyahat, yoğun iş temposu veya unutkanlık gibi insan faktörlerinden bağımsız olarak işler.
Kullanılan Malzemeler
Bu çalışmada kullanılan temel elektronik bileşenler ve araçlar şu şekilde özetlenebilir:
- Arduino Uno: Sistemin merkezi işlem birimidir. Yukarıda Resim 2‘de gösterilen ve Analog ve Dijital I/O pinleri bulunan Arduino, programlanması kolay bir mikrodenetleyicidir (Arduino, 2015: 372). Toprak nem sensöründen gelen analog sinyalleri işler ve pompayı kontrol eder.
- Toprak Nem Sensörü: Toprağın nem oranını sürekli izleyerek Arduino’ya analog bir değer gönderir. Toprağın nem seviyesi belirli bir eşik değerin altına düştüğünde sistemin su verme döngüsü tetiklenir. Ayarlı potansiyometresinin kullanılması önerilir.
- Su Pompası: Su haznesindeki suyu, kontrol mekanizması tarafından izin verildiğinde bitki kök bölgesine aktarır.5V ile 12V arası tüm su pompaları bu projede kullanılabilir.
- L298N Motor Sürücü Kartı: Her ne kadar bu projemizde 5V bir su pompası kullanacak olsak da; 12V bir, hatta iki adet pompa kullanacağımız durumlarda 5V ya da 12V bir rölenin yetersiz kalma durumundan ötürü, 12V giriş ve çıkış destekleyen L298N tercih edilmiştir. Yüksek akım gerektiren pompayı doğrudan Arduino’dan kontrol etmek güçtür. Bu nedenle L298N motor sürücü modülü devreye girer. Arduino’nun düşük voltajlı dijital sinyallerini kullanarak pompayı güvenle çalıştırır.
- I2C Tabanlı LCD Ekran (16×2): Toprak nem seviyesi ve pompanın çalışma durumu hakkında anlık bilgileri kullanıcıya iletir (HandsOn Tech., 2018). I2C modüllü bir LCD ekranın bu modülün bulunmadığı LCD ekrana göre en başta daha az pin kullanımı ve karmaşıklık gelmektedir.
- Diğer Bileşenler:
- Jumper Kablolar: Sensörler, LCD ekran, L298N ve Arduino arasında gerekli bağlantıları kurar.
- Su Haznesi ve Borular: Suyun bitkiye iletilmesini sağlayan altyapıyı oluşturur.
- On/Off Anahtarı: Sistemi gerektiğinde açıp kapatmaya yarar.
- Güç Kaynağı: 5V ile 12V arası her türlü güç kaynağı kullanılabilir. Sürdürülebilir bir proje olması açısından güneş paneli ve Li-Po’lu bir sistem veya süreklilik sağlanması adına bir güç adaptörü kullanılabilir.
Bu bileşenlerin uyumlu biçimde bir araya getirilmesi, projenin bütünsel olarak verimli çalışmasını temin etmektedir.
Arduino Otomatik Bitki Sulama Sistemi’nin Sistem Tasarımı ve Çalışma Prensibi
Sistem, sensör verilerinin Arduino Uno tarafından işlenmesini esas alan bir geri bildirim döngüsüne sahiptir. Temel iş akışı şöyledir:
- Nem Ölçümü: Toprak nem sensörü, toprağın nem içeriğini analog bir değer olarak Arduino’ya iletir.
- Eşik Analizi: Arduino, bu değeri önceden belirlenmiş bir eşik (%10 nem seviyesi) ile karşılaştırır.
- Pompa Kontrolü: Nem eşiği altına düşüldüğünde Arduino, L298N modülü aracılığıyla pompayı etkinleştirir. Yeterli nem seviyesine ulaşıldığında ise pompayı durdurur.
- Bilgi Görselleştirme: Sistem durumunun (nem yüzdesi, pompa durumu) anlık takibi için LCD ekranda bilgilendirme yapılır.
Bu döngü, bitkilerin su ihtiyacının gerçek zamanlı olarak karşılanmasını sağlayarak bakım iş yükünü azaltır.
Örnek Kod Yapısı
Aşağıdaki kaynak kodu sistemin çalışmasını sağlar. Kod, yalnızca toprak nem ölçümüne dayalı otomatik sulama işlevini yerine getirmekte ve I2C protokolüyle çalışan bir LCD ekranda kullanıcıya durumu rapor etmektedir.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define SOIL_MOISTURE_PIN A0
// L298N ile bağlantılı dijital pinler
#define POMPA_IN1_PIN 9
#define POMPA_IN2_PIN 10
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Sistem Hazir");
delay(2000);
lcd.clear();
pinMode(SOIL_MOISTURE_PIN, INPUT);
pinMode(POMPA_IN1_PIN, OUTPUT);
pinMode(POMPA_IN2_PIN, OUTPUT);
}
void loop() {
int toprakNem = analogRead(SOIL_MOISTURE_PIN);
float toprakNemYuzde = map(toprakNem, 1023, 0, 0, 100);
lcd.setCursor(0, 0);
lcd.print("Nem: %");
lcd.print(toprakNemYuzde);
lcd.print(" ");
if (toprakNemYuzde < 10) {
// L298N motor sürücü girişleri ile pompa kontrolü
digitalWrite(POMPA_IN1_PIN, HIGH);
digitalWrite(POMPA_IN2_PIN, LOW);
lcd.setCursor(0, 1);
lcd.print("Sulama Basladi");
} else {
digitalWrite(POMPA_IN1_PIN, LOW);
digitalWrite(POMPA_IN2_PIN, LOW);
lcd.setCursor(0, 1);
lcd.print("Nem Yeterli ");
}
delay(1000);
}
Bu kodda, toprak nem sensöründen alınan değer map()
fonksiyonu yardımıyla yüzdelik değere dönüştürülmektedir. Ardından bu değerin %10’un altına düşmesi halinde pompa çalıştırılır ve LCD ekranda ilgili mesaj görüntülenir.
Bağlantı Tablosu
Aşağıdaki tabloda, her bileşenin Arduino, L298N, LCD ve toprağın nem sensörü ile olan bağlantıları listelenmiştir. Resim 3, ilk olarak sistemin merkezi işlem birimi olan Arduino’nun bir koruyucu kutuya sıcak silikon vasıtası ile yapıştırılmasını göstermektedir.
Bileşen | Pin (Kart) | Bağlandığı Yer | Açıklama |
---|---|---|---|
Arduino Uno | 5V | L298N Vss, LCD Vcc, Sensor Vcc | Arduino’nun 5V çıkışı, L298N’in lojik beslemesi ve sensör ile LCD’nin güç kaynağı |
Arduino Uno | GND | L298N GND, LCD GND, Sensor GND | Ortak toprak hattı |
Arduino Uno | A0 | Toprak Nem Sensörü OUT | Sensörden gelen analog sinyal girişi |
Arduino Uno | SDA (A4 veya SDA pin) | LCD I2C SDA | LCD ekranın veri hattı (I2C veri hattı) |
Arduino Uno | SCL (A5 veya SCL pin) | LCD I2C SCL | LCD ekranın saat hattı (I2C clock hattı) |
Arduino Uno | D9 | L298N IN1 | Pompa kontrolü için birinci giriş sinyali |
Arduino Uno | D10 | L298N IN2 | Pompa kontrolü için ikinci giriş sinyali |
L298N Motor Sürücü | Vs | +12V Harici Besleme | Pompa için gerekli yüksek gerilimi sağlar (ör. 12V) |
L298N Motor Sürücü | Vss (5V lojik) | Arduino 5V | L298N’in lojik devrelerinin beslemesi |
L298N Motor Sürücü | GND | Arduino GND | Ortak toprak |
L298N Motor Sürücü | OUT1, OUT2 | Pompa Terminalleri | Pompanın iki ucu, böylece L298N üzerinden ileri/geri kontrol |
I2C LCD Ekran | Vcc | Arduino 5V | LCD güç beslemesi |
I2C LCD Ekran | GND | Arduino GND | LCD ortak toprak hattı |
I2C LCD Ekran | SDA | Arduino SDA (A4 veya SDA) | I2C veri hattı |
I2C LCD Ekran | SCL | Arduino SCL (A5 veya SCL) | I2C saat hattı |
Toprak Nem Sensörü | Vcc | Arduino 5V | Sensör güç beslemesi |
Toprak Nem Sensörü | GND | Arduino GND | Sensör ortak toprak hattı |
Toprak Nem Sensörü | OUT (Analog) | Arduino A0 | Nem ölçüm değeri analog girişi |
Devre Şeması
Resim 4‘te devre şeması detaylıca gösterilmiştir.
- Arduino’dan toprağın nemini ölçen sensöre, I2C LCD modülüne, L298N motor sürücüye (pompa kontrolü için) bağlantılar gösterilmektedir.
- Harici 5V-12V güç kaynağı L298N sürücü kartını ve pompayı besler.
- Arduino ise 5V regüle gücü kullanır ve sensör, LCD gibi düşük güç bileşenlerini besler.
- Toprak nem sensörü analog pin A0’a bağlanır.
- I2C LCD ekran, Arduino’nun SDA ve SCL pinlerine (genellikle A4 = SDA ve A5 = SCL veya kartın üzerindeki SDA/SCL pinleri) bağlanır.
- L298N motor sürücü kartının IN1 ve IN2 pinleri Arduino’nun dijital çıkışlarına (D9 ve D10 örnekte) bağlanarak pompa yön kontrolü sağlanır.
- L298N kartının OUT1 ve OUT2 uçları pompaya bağlanır.
- Tüm bileşenlerin ortak GND hattı birbirine bağlanır.
Avantajlar ve Sınırlılıklar
Avantajlar
- Otomasyon: Manuel müdahale gerekmeksizin sulama işlemi otomatik olarak gerçekleştirilir.
- Su Verimliliği: Sadece ihtiyaç duyulduğunda sulama yapıldığından gereksiz su tüketimi engellenir.
- Anlık İzleme: LCD ekran aracılığıyla sistemin durumu gerçek zamanlı takip edilebilir.
Sınırlılıklar
- Sensör Doğruluğu ve Kalibrasyon: Toprak nem sensörleri, uzun süreli kullanımda oksitlenme ve korozyon nedeniyle doğruluğunu yitirebilir. Daha dayanıklı, kapasitif sensörlerin kullanımı bu sorunu azaltabilir.
- Bakım Gereksinimi: Su haznesi periyodik olarak doldurulmalı ve pompa, sensör gibi bileşenler periyodik bakım gerektirebilir.
- Enerji Bağımlılığı: Sistem sürekli enerjiye ihtiyaç duyar. Alternatif enerji kaynaklarının (güneş paneli gibi) kullanımı sürdürülebilirliği artırabilir.
Sonuç
Arduino tabanlı otomatik bitki sulama sistemi, akıllı tarım uygulamalarının ev ölçeğinde hayata geçirilmesinde önemli bir adımdır. Bu sistemler suyun verimli kullanımı, iş gücü tasarrufu ve bitki sağlığının korunması açısından çarpıcı faydalar sunmaktadır. Özellikle nesnelerin interneti (IoT) teknolojileri ile entegre edildiğinde uzaktan izleme ve kontrol imkanları daha da genişleyecek, hem profesyonel tarım uygulamalarında hem de hobi bahçeciliğinde sürdürülebilir çözümler yaratılabilecektir.
Not: Arduino Otomatik Bitki Sulama Sistemi başlıklı bu makalede sunulan kaynak kodu, devre şeması ve diğer tüm görsel ve yazılı materyaller, websitemize atıf verilmek koşulu ile kullanılabilir.
Anahtar Kelimeler: Arduino, Otomatik Bitki Sulama Sistemi, Arduino Dersleri
Kaynakça
- Arduino, S. A. (2015). Arduino. Arduino LLC, 372.
- HandsOn Tech (2018 Eylül). I2C Serial Interface 1602 LCD Module. 20 Aralık 2024 tarihi saat 09:00’da https://www.handsontec.com/dataspecs/module/I2C_1602_LCD.pdf adresinden alınmıştır.