Otomatik bitki sulama sistemi, bitkilerin su ihtiyaçlarını ölçmek ve sulama işlemini otomatik olarak gerçekleştirmek için tasarlanmış bir sistemdir. Bu sistem, toprağın nem oranını ölçmek için Sıcaklık ve Nem ölçme adlı bir sıcaklık ve nem sensörü kullanır. Sensörden alınan veriler, Arduino tarafından işlenerek bitkilerin sulama ihtiyacı belirlenir. Bitkilerin sulama ihtiyacı belirlendikten sonra, bir su pompası kullanılarak bitkilere su verilir.

Sistem, bir adet Arduino kartı, bir adet sıcaklık ve nem sensörü, bir adet su pompası, bir adet kırmızı LED, bir adet yeşil LED ve bir adet 16×2 karakter LCD ekranından oluşur. Bu bileşenler, otomatik bitki sulama sisteminin tasarımına uygun olarak bir araya getirilir.

Sistem, Sıcaklık ve Nem sensörü aracılığıyla toprağın nem oranını ölçer. Daha sonra, Arduino, ölçülen nem oranına göre bir karar verir ve su pompasını açarak bitkilere su verir veya su pompasını kapatır ve bitkilere su vermekten vazgeçer. Bu işlem sırasında, LED’ler su pompasının açık mı yoksa kapalı mı olduğunu gösterir. Ayrıca, LCD ekranı da ölçülen nem oranını ve su pompasının açık veya kapalı olup olmadığını gösterir.

Bu proje, bitkilerin sulama işleminin otomatik olarak yapılmasını sağlar ve böylece bitkilerin sağlıklı bir şekilde büyümesine yardımcı olur. Ayrıca, bu proje, kullanıcılara bitkilerinin su ihtiyaçlarını daha iyi anlama ve bitkilerinin sulama ihtiyaçlarını daha iyi kontrol etme imkanı sunar.

Arduino PinBağlantı NoktasıBağlantı
A0Nem SensörüNem sensörü sinyal pinine bağlanır
2LCD EkranıLCD ekranının RS pini
3LCD EkranıLCD ekranının E pini
4LCD EkranıLCD ekranının D4 pini
5LCD EkranıLCD ekranının D5 pini
6LCD EkranıLCD ekranının D6 pini
7LCD EkranıLCD ekranının D7 pini
11Yeşil LEDLED’in anotu
12Kırmızı LEDLED’in anotu
13Su PompasıPompayı çalıştıran Transistörün tabanına(Beyz) bağlanır
GNDNem Sensörü, LCD Ekranı, LED’ler, Su PompasıTopraklama noktasına bağlanır
5VNem Sensörü, LCD Ekranı, LED’lerGüç kaynağına bağlanır

Yukarıdaki tablodaki bağlantıların yanı sıra, sıcaklık ve nem sensörü ve su pompası için ayrıca güç kaynaklarına da ihtiyaç vardır. Nem sensörü, 5V güç kaynağına bağlanırken, su pompası için daha yüksek bir güç kaynağına ihtiyaç vardır.

Simulasyon
//www.bozukdevre.net
#include <LiquidCrystal.h>

// LM35 sıcaklık sensörünün bağlı olduğu pin
const int NemSensoru = A0;
// Sulama motorunun bağlı olduğu pin
const int motor = 13;
// Kırmızı LED'in bağlı olduğu pin
const int LedRed = 12;
// Yeşil LED'in bağlı olduğu pin
const int LedGreen = 11;
// Nem oranı yüzdesi
int percentValue = 0;  

// LCD ekranı için nesne oluşturma
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

void setup() {
  // Seri haberleşme hızı ayarlama
  Serial.begin(9600);
  // LCD ekranını başlatma
  lcd.begin(16, 2);
  // İlk satıra başlık yazdırma
  lcd.print("Otomatik Bitki");
  lcd.setCursor(0,1);
  lcd.print(" Sulama Sistemi!");
  // Motor, LED'ler için pin modlarını ayarlama
  pinMode(motor, OUTPUT);
  pinMode(LedRed, OUTPUT);
  pinMode(LedGreen, OUTPUT);
  // Bekleme süresi
  delay(2000);
  // Ekranı temizleme
  lcd.clear();
  // İlk satıra yazı yazdırma
  lcd.print("ToprakN = ");
  lcd.setCursor(0,1);
  lcd.print("SuPompa= ");
}

void loop() {
  // Nem sensöründen okuma yapma
  int value = analogRead(NemSensoru);
  // Nem oranı hesaplama
  float NemOrani = value * 500.0 / 1023.0;
  // Ekranın ilk satırına nem oranını yazdırma
  lcd.setCursor(9,0);
  lcd.print(NemOrani); 
  lcd.setCursor(10,1);
  
  // Nem oranına göre motoru açma veya kapama, LED'leri yakma veya söndürme
  if (NemOrani < 310){
    digitalWrite(motor, HIGH);
    digitalWrite(LedRed, HIGH);
    digitalWrite(LedGreen, LOW);
    lcd.print("ACIK ");
  }
  else {
    digitalWrite(motor, LOW);
    digitalWrite(LedRed, LOW);
    digitalWrite(LedGreen, HIGH);
    lcd.print("KAPALI");
  }
  
  // Nem oranını seri monitöre yazdırma
  Serial.print ("Nem Orani: ");
  Serial.println (NemOrani);
}

Bu projede kullanılan transistör TIP120, bir NPN darlington transistörüdür.

Bu projede transistör, su pompasını kontrol etmek için kullanılır. Su pompası yüksek bir güç tüketir ve doğrudan Arduino kartından çalıştırılamaz. Bu nedenle transistör, yüksek güçlü cihazları Arduino kartından bağımsız olarak kontrol etmek için kullanılır.

Transistörün çalışma prensibi şöyledir: transistörün beyzine bir voltaj uygulandığında, arduino çıkışındaki sinyal, transistörün kapasitesine bağlı olarak akım geçirir ve transistörün anahtarlamasını sağlar. Transistörün anahtarı açık olduğunda, su pompasına bağlanan yüksek güçlü bir kaynak, su pompasını çalıştırır.

Bu projede, transistörün beyzi, arduino kartına bağlanır ve transistörün emitteri, su pompasına bağlanır. Ayrıca, transistörün kolektörü, bir diyot bağlantısı ile korunur. Bu, pompadan geriye doğru akan voltajları önlemek için yapılır.

İşte bu şekilde transistör, su pompasını Arduino kartından bağımsız olarak kontrol etmek için kullanılır.