Hepimiz evlerimizde biraz yeşillikten hoşlanırız, değil mi? Bitkiler gerçekten çok az bakım gerektirir ve günlerce gözetimsiz bırakılabilir ancak bir veya 2 haftayı aşan uzun yolculuklarımız topraktaki nem eksikliğinden dolayı bitki sağlığına zarar verebilir. Bu gibi durumlarda, uygun sulamanın olmaması nedeniyle bitki kuruyabilir veya ölebilir. Bu sorunu çözmek için bu projede, bitkilerinizi otomatik olarak sulayacak ve haftalarca veya aylarca şehir dışında olsanız bile sağlıklı kalmalarını sağlayacak Arduino Uno ile Otomatik Sulama Sistemi yapıyoruz . Bu projede, bitkileriniz için optimum nem seviyesini korumak için bir Nem sensörü kullanılacaktır. Bu sistem uygulanabilir, hem sizin içinbahçe veya İç mekan bitkileriniz için, böylece siz uzaktayken yapraklı evcil hayvanlarınızla ilgilenir.
Otomatik Sulama Sisteminin Çalışması
Bu sistemin mantığı çok basittir. Bu sistemde nem sensörü toprağın nem seviyesini algılar ve sensör nem seviyesinin düşük olduğunu algıladığında bir mikrodenetleyici yardımıyla su pompasını otomatik olarak çalıştırır ve bitkiyi sular. Yeterli su verildikten sonra, toprak nemi tutar ve pompayı otomatik olarak durdurur.
Toprak Nemi Sensörü
Toprak nem sensörünün çalışmasını anlamak çok kolaydır. Bu maruz kontaklı 2 problar sahip olduğu benzer bir hareket değişken direnç direnç değişir topraktaki su içeriğine göre yöntem. Bu direnç toprak nemi ile ters orantılıdır, bu da topraktaki daha yüksek suyun daha iyi iletkenlik ve dolayısıyla daha düşük direnç anlamına geldiği anlamına gelir. Topraktaki daha düşük su, zayıf iletkenlik anlamına gelir ve daha yüksek dirençle sonuçlanır. Sensör, dirence göre analog voltaj çıkışı üretir.
Sensör, probu Arduino’ya bağlayan bir elektronik modül ile birlikte gelir. Modül, analog sinyali mikrodenetleyiciye beslenen bir Dijital Çıkışa dönüştüren bir LM393 Yüksek Hassasiyetli Karşılaştırıcıya sahiptir.
Pompa
Bitkiyi sulamak için küçük bir pompaya ihtiyacımız var, ancak bir bahçe olması durumunda, bahçenizin boyutuna bağlı olarak doğrudan bir Arduino tarafından çalıştırılamayan daha yüksek hacimde su sağlayabilen daha büyük bir pompa kullanmamız gerekiyor. . Bu nedenle, daha büyük bir pompa çalıştırmanız gerekirse, 5v röle kullandığımı göstermek için pompaya yeterli akımı sağlamak için bir sürücü gereklidir. Ayrıca AC gücüyle çalışan bir pompa kullanabilir ve uygun bir röle kullanabilirsiniz. Çalışma bu projede gösterildiği gibi kalacaktır, sadece röleye bağlı DC güç girişini bir AC güç girişi ile değiştirmeniz ve Arduino’nuzu ayrı bir DC güç kaynağı ile çalıştırmanız yeterlidir.
Otomatik Sulama Sistemi İçin Gerekli Bileşenler
Proje çok az bileşen gerektiriyor ve bağlantı da çok basit. Bileşenler aşağıda listelenmiştir:
- Arduino * 1
- nem sensörü * 1
- 5v röle modülü * 1
- Küçük borulu 6v Mini su pompası * 1
- Bağlantı telleri
- 5v pil * 1
Arduino Otomatik Sulama Sisteminin Devre Şeması
Arduino Otomatik sulama sistemi için tam devre şeması aşağıda gösterilmiştir:
Bu bölümde şematik diyagram yardımı ile tüm detayları anlatacağım. Arduino UNO bütün bu projenin beyindir. Nem sensörü tarafından verilen topraktaki neme göre motor pompasını kontrol eder.
Devreye güç sağlamak için harici bir Pil kullanıyorum. Herhangi bir 9v veya 12 volt pil kullanabilirsiniz. Akü Arduino’nun Vin ve topraklama pinlerine bağlıdır ve ayrıca motoru bu aküye bir röle ile bağlayabiliriz. Nem sensörü çıkışı Arduino’nun analog pinine bağlanır. Sensöre ve röle modülüne güç sağlamak için Arduino’nun 5 volt pinini kullanmayı unutmayın.
Otomatik Sulama Sisteminin Montajı
Röleyi Arduino kartına bağlayarak başlayalım. Röle modülünün VCC’sini Arduino’nun 5v pinine bağlayın ve rölenin toprağını Arduino’nun toprağına bağlayın. Şimdi röle sinyal pinini Arduino’nun pin 13 dışında herhangi bir dijital pinine bağlayın. Burada aşağıdaki resimde gösterildiği gibi pin 3’e bağladım.
ir sonraki adım, toprak nem sensörünü Arduino’ya bağlamaktır. Sensörün VCC ve gnd’sini Arduino’nun 5 volt ve toprak pinine bağlayın. Sensörün analog çıkışı Arduino’nun herhangi bir analog pinine bağlanır, burada onu A0 pinine bağladım (programımıza göre).
Son olarak pompayı röle modülüne bağlayın. Bir röle modülünde ortak, normalde kapalı ve normalde açık olmak üzere 3 bağlantı noktası bulunur. Pompa pozitifini ortak olana ve normalde açık olan pimi akünün pozitifine bağlamalıyız. Pili pompanıza göre seçmelisiniz. Bir sonraki adım, pompanın toprağını Arduino’nun toprağına bağlamak ve son olarak küçük hortumu su pompasına bağlamaktır.
Şimdi pili devreye bağlayın ve pompa çalışmaya başlarsa devreniz tamamdır. Şimdi Arduino’ya kod yükleyelim.
Otomatik Sulama Sistemi kodunun açıklaması
Bu proje için herhangi bir kütüphane kullanmıyoruz, sadece programlama için temel fonksiyonları kullanıyoruz. Kod çok basit ve kullanımı kolaydır. Kodun açıklaması aşağıdaki gibidir.
Burada gerekli tüm tamsayıları tanımlayarak başlıyoruz, toprak nemini ve dönüştürülmüş nem yüzdesini depolamak için iki tamsayı kullandım.
int soilMoistureValue = 0;
int percentage=0;
Şimdi pin modunu tanımlıyoruz, burada pin 3’ü çıkış olarak kullandım ve sonraki satırda hata ayıklama için Seri Monitörü başlattım.
void setup() {
pinMode(3,OUTPUT);
Serial.begin(9600);
}
Döngü bölümüne toprak nemini okuyarak başladım . Toprak nemini okumak için Arduino’nun analogRead işlevini kullandım ve bunu toprakMoistureValue içinde sakladım. Bu değer 0 ile 1023 arasında değişir
void loop() {
soilMoistureValue = analogRead(A0);
Aşağıdaki satırda Arduino üzerinde map fonksiyonunu kullandığımız için sensör değerlerini yüzde 0-100 arasında çevirdim. Bunun anlamı, eğer toprak kuru ise çıkış nem yüzdesi %0 ve toprak aşırı ıslaksa nem yüzdesi %100’dür.
percentage = map(soilMoistureValue, 490, 1023, 0, 100);
Serial.println(percentage);
Nem Sensörümüzü Kalibre Etme
In haritası işlevi, biz kuru değerini ve ıslak değer atamanız gerekir. Bunu yapmak için bu değerleri izlememiz gerekiyor. Aşağıdaki kodu kullanarak bu değerleri okuyabilirsiniz:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(1);
Yukarıdaki kodu Arduino’nuza yükleyin ve seri monitörü açın. Ardından toprak nem sensörünüzü kuru toprağa yerleştirin veya sensörü havada tutun ve değeri okuyun. şimdi bu değeri 490 (harita fonksiyonunun ikinci terimi) yerine koyun.
Bir sonraki adım, sensörü ıslak toprağa yerleştirmek veya suya daldırmak ve değeri okumak ve bu değeri 1023 (harita fonksiyonunun üçüncü terimi) yerine atamaktır. Bu değerler, daha iyi sonuçlar almak için sensörlerinizi doğru şekilde kalibre edecektir.
Değerleri dönüştürdükten sonra pompayı toprak nem yüzdesine göre kontrol edebiliriz. ‘ If koşulu ‘ yardımı ile ilk koşulu yazıyorum nem yüzdesi 10’un altına düşerse Arduino pin 3’ü LOW’a çevirir ve pompa açılır ( röle modülümüz tetiklemek için aktif düşük sinyali kullanır ) ve Arduino, pompayı seri monitörde mesaja yazdıracaktır.
If (percentage < 10)
{
Serial.println(" pump on");
digitalWrite(3,LOW);
}
Nem yüzdesi yüzde 80’in üzerine çıktığında (toprağın suyla dolduğunu gösterir) Arduino pompayı kapatacak ve seri monitörde ‘pompayı kapat’ yazacaktır.
if(percentage >80)
{
Serial.println("pump off");
digitalWrite(3,HIGH);
}
}
Otomatik Sulama Sisteminin Test Edilmesi
Kodu Arduino’ya yükledikten sonra pompa ve sensör probu hariç tüm devreyi aşağıdaki şekilde görüldüğü gibi plastik bir kutuya yerleştirdim.
Şimdi nem sensörünü toprağa yerleştirin. Daha yüksek doğruluk için sensörü bitkilerin köklerine mümkün olduğunca yakın yerleştirin.
Son adım, motorunuzu suyla dolu bir kaba yerleştirmektir ve otomatik sulamanız, siz yokken güzel bitkilerinizle ilgilenmeye hazırdır.
Farklı bitkilerin farklı su gereksinimleri olduğundan, pompayı başlatmak ve durdurmak için nem yüzdesini değiştirmeniz gerekebilir. Umarım projeyi beğenmişsinizdir ve Arduino kullanarak kendi otomatik sulama sisteminizi oluşturmaya hazırsınızdır. Herhangi bir sorunuz varsa, bunları aşağıdaki yorum bölümüne bırakabilirsiniz.
int soilMoistureValue = 0;
int percentage=0;
void setup() {
pinMode(3,OUTPUT);
Serial.begin(9600);
}
void loop() {
soilMoistureValue = analogRead(A0);
Serial.println(percentage);
percentage = map(soilMoistureValue, 490, 1023, 100, 0);
if(percentage < 10)
{
Serial.println(" pump on");
digitalWrite(3,LOW);
}
if(percentage >80)
{
Serial.println("pump off");
digitalWrite(3,HIGH);
}
}
Video :
Bu makale buradan çevrilmiştir.