Bir nem sensörü aracılığıyla toprağın nem düzeyini izleyecek ve toprak kurudukça bir su pompası aracılığıyla bitkiyi sulayacaktır. Ancak, bu kodu kendi donanımınıza ve gereksinimlerinize göre ayarlamanız gerekebilir.
#define NEM_SINIRI 500 // Nem sensörünün okuduğu değer. Bu değerden düşükse sulama yapılacak.
#define SU_POMPASI_PIN 7 // Su pompası için kullanılacak pin numarası
#define SERVO_PIN 9 // Servo motor için kullanılacak pin numarası
#include <Servo.h>
int nemSensorPin = A0; // Nem sensörünün analog pin numarası
int nemDegeri; // Nem değeri
Servo servoMotor; // Servo motor nesnesi oluşturuluyor
void setup() {
pinMode(nemSensorPin, INPUT); // Nem sensörü giriş olarak ayarlanıyor
pinMode(SU_POMPASI_PIN, OUTPUT); // Su pompası çıkış olarak ayarlanıyor
servoMotor.attach(SERVO_PIN); // Servo motor bağlantı pinine bağlanıyor
}
void loop() {
nemDegeri = analogRead(nemSensorPin); // Nem sensöründen değer okunuyor
if (nemDegeri < NEM_SINIRI) { // Eğer toprak kuruluğunun belirlenen sınırın altındaysa
suPompasiniCalistir(); // Su pompasını çalıştır
delay(5000); // 5 saniye boyunca su ver
suPompasiniDurdur(); // Su pompasını durdur
}
delay(1000); // Her 1 saniyede bir nem sensörünü oku
}
void suPompasiniCalistir() {
digitalWrite(SU_POMPASI_PIN, HIGH); // Su pompasını çalıştır
servoMotor.write(90); // Servo motoru orta konuma getir (opsiyonel, suyun akışını kontrol etmek için)
}
void suPompasiniDurdur() {
digitalWrite(SU_POMPASI_PIN, LOW); // Su pompasını durdur
servoMotor.write(0); // Servo motoru başlangıç konumuna getir (opsiyonel)
}
Bu kod, Arduino'nun toprağın nem seviyesini belirli bir eşiğin altında algıladığında su pompasını ve opsiyonel olarak servo motoru çalıştırır. Ancak, bu kodu kendi ihtiyaçlarınıza ve donanımınıza göre özelleştirmeniz gerekebilir. Örneğin, servo motoru su akışını kontrol etmek için kullanmak istemeyebilirsiniz veya farklı bir nem eşiği belirlemek isteyebilirsiniz.