Merhaba arkadaşlar bu yazımızda  IoT başlangıç seti serimizin yedincisi Nodemcu ile bitki sulama sistemini beraber yapıyor olacağız.

Kullanacağımız ürünler;

Sistemimizin çalışma mantığı şöyledir. Sulamak istediğiniz toprağın nem ölçümü yapılarak bir değer elde edilir.  Bu değer sizin toprağınız için belirlemiş olduğunuz nem seviyesiyle karşılaştırılır ve ona göre az olması durumunda otomatik sulamayı başlatır. 

🚀Nasıl çalıştığını anladığımıza göre şimdi projemizi yapmak için devre kurulumumuza bakalım daha sonrada kodlara geçelim.

NOT: Su pompasını kuru ortamda çok çalıştırmamanızı öneririm.

Devre kurulumumuz bu şekildeydi. Motor sürücü kartı kullanmamızın sebebi harici bir besleme yapmak yerine nodeMCU dan çektiğimiz 3.3V u kartla 9v ile çalışan su pompasını çalıştırabiliyor olacağız.

🚀Nodemcu ile Bitki Sulama Kodları

int surucu=5; //D1 pinine bağladık
int nemSensor=A0;
int sinirDeger=500;

void setup()
{
  pinMode(surucu,OUTPUT);
  pinMode(nemSensor,INPUT);

  digitalWrite(surucu,LOW);
  Serial.begin(9600);
  
}

void loop()
{
   int nem = analogRead(nemSensor);
  Serial.println(nem);

  if(nem>=sinirDeger)
  {
    digitalWrite(surucu,LOW);
    delay(1000);
    digitalWrite(surucu,HIGH);
    delay(5000);
  }
  else
  {
    digitalWrite(surucu,HIGH);
  }
}

Kodumuzda anlatmak istediğimiz aslında şu; sınır değeri olarak 500 belirledik ki (siz istediğiniz sınırı bitkinize göre belirleyebilirsiniz) nem değerim sınırın üstüne çıktığında her 5 saniyede bir 1 saniye su pompası çalışsın ve sulama başlasın.

Yukarda görmüş olduğunuz seri port ekranında toprak nem sensöründen almış olduğumuz veriler. 500 sınırın üstünde sulama başlamıştır.

Bunu bir de blynk uygulaması üzerinden görelim isterseniz.

🚀Blynk kodları;

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>  //Gerekli kütüphanelerimizi ekliyoruz.
#include <BlynkSimpleEsp8266.h>

char auth[] = "******************"; //mailinize gelen token
char ssid[] = "************"; //internet adınız
char pass[] = "************"; //internet şifreniz

int deger ;
int donusum; // okuma yapacağımız nem değerini deger değişkeni olarak belirliyoruz
#define sensor A0

void setup()
{
Serial.begin(9600);
Blynk.begin(auth,ssid,pass);

}

void loop() {
  
deger = analogRead(sensor);
donusum = map(deger , 0, 1023, 0, 100);
Blynk.virtualWrite (V1, donusum);
Blynk.run();
}

Blynk uygulaması üzerinde yapmanız gerekenler proje ekranına widget box içerisinden bir adet buton seçin. Bu butonu nodeMCU daki pwm pinlerinden bağlamış olduğunuz pine göre seçmelisiniz. Ve birde gauge yi seçeceksiniz. Bunu da virtualden V1 e bağlayacağız. Bu A0 pinine bağlamış olduğumuz sensörden gelen bilgileri alacak ve bize gösterecek.

                                                                                                   

Yine de karıştırırsanız yukardaki görsellerden ayarlarını yapabilirsiniz.

Blynk uygulaması üzerinden yaptığımızın farkı nem değerini siz kontrol edip switch olarak kullandığınız butona tıkladığınız takdirde nem oranı istediğiniz değere gelene kadar sulama yapıp kapatabiliyor olacaksınız.

🚀Artık tatile gidiyorum çiçeklerim soldu derdiniz yok ya da bırakacak bir komşuya da ihtiyacınız yok. 🙂 Bu hizmeti ayağınıza getirdik. Eğer siz de denemek isterseniz ve bu yazıyı takip ederseniz çok sevinirim. Bir problem ya da hata olursa aşağıya yorum olarak bırakabilirsiniz.

Not: Bu işe en çok anneler sevinecek. Onları sevindirelim. 🙂

Yazılarımızın devamı için Robolink Akademi‘yi, kullandığımız ürünler için de Robolink market‘i ziyaret edebilirsiniz. 

Herkese iyi çalışmalar. 🙂 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz