Bu projede istediimiz bitkiyi yetitirmeye olanak salayacak bir sera otomasyonu yapaca覺z.

rnein yamur ormanlar覺nda yetien bitkiler uzun aa癟lardan dolay覺 g羹n 覺覺覺n覺n %1 ya da %2 sini alabilirler. Toprak ise s羹rekli nemli olmal覺d覺r. Ya da 癟繹l de yetien bir bitki 癟ok s覺cak kurak ortama ihtiya癟 duyar ve sert r羹zgar覺 sevmezler. Benim verdiim sadece iki 繹rnek , siz gerekli ayarlamalar覺 yaparak istediiniz iklimi, bitki 繹rt羹s羹n羹 oluturup mod olarak ekleyebilirsiniz.

Arduino Otomatik Sera Yap覺m覺

Bu proje i癟in ihtiyac覺n覺z olan malzemeler:

Ben 繹rnek olmas覺 i癟in 覺覺k kayna覺n覺 erit led kulland覺m. Normal led 覺覺klar覺n bitki geliimine etkisi yoktur, bitki geliimi i癟in uv 覺覺k kaynaklar覺 kullanman覺z gere.

Balant覺 emas覺

blank

Bu projede kulland覺覺m覺z sens繹rlerin veya elemanlar覺n detayl覺 kullan覺m覺 ile ilgili bilgileri arduino dersleri ve arduino projeleri serilerinde bulabilirsiniz.

Arduino Projeleri

Arduino Dersleri ve Projeleri

Su pompas覺 癟al覺t覺覺nda lcd ekran覺n覺z bozulabilir ya da program re癟etelenebilir. Bunun sebebi motor 癟al覺t覺覺nda bir frekans g羹r羹lt羹s羹 oluturuyor, dolay覺s覺 ile lcd ekran bozuluyor ya da arduino hata verebiliyor. Bunu d羹zeltmek i癟in su motorunun besleme u癟lar覺na paralel 470uF elektronik kondansat繹r balayarak 癟繹zd羹m. Sorunu 470uF ile 癟繹zemez iseniz kondansat繹r deerini deitirin.

Kodlar :

#include <LiquidCrystal.h>
#include <DHT.h>
LiquidCrystal lcd(8, 7, 6, 5, 4, 3);
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

int esik1= 600;
int esik2= 300;
int esik3= 800;

int buttonfan= A4;
int buttonfanDurum=0;

int buttonled= A3;
int buttonledDurum=0;

int buttonnem= A5;
int buttonnemDurum=0;

int switch1= 11;
int switch1Durum= 0;
int switch2= 12;
int switch2Durum= 0;


int ldr= A2;
int ldrDurum;
int suseviye= A1;
int suveri;
int topraknem= A0;
int toprakveri;

int fan= 9;
int led= 10;
int sumotoru= 13;

int fanhiz=0;
int ledparlaklik=0;




void setup() {
dht.begin();
lcd.begin(16, 2);

pinMode(buttonfan, INPUT);
pinMode(buttonled, INPUT);
pinMode(buttonnem, INPUT);
pinMode(switch1, INPUT);
pinMode(switch2, INPUT);
pinMode(ldr, INPUT);
pinMode(suseviye, INPUT);
pinMode(topraknem, INPUT);

pinMode(fan, OUTPUT);
pinMode(led, OUTPUT);
pinMode(sumotoru, OUTPUT);
pinMode(1, OUTPUT);
}

void loop() {
 int temp = dht.readTemperature();
 int hum = dht.readHumidity();
  
 buttonledDurum=digitalRead(buttonled);
 buttonfanDurum=digitalRead(buttonfan);
 buttonnemDurum=digitalRead(buttonnem);

 switch1Durum=digitalRead(switch1);
 switch2Durum=digitalRead(switch2);

 ldrDurum=analogRead(ldr);
 suveri=analogRead(suseviye);
 toprakveri=analogRead(topraknem);

 //****su deposu****//
 if(suveri>600){
  digitalWrite(1, HIGH);
 
 }
 if(suveri<300){
  digitalWrite(1, LOW);
 }

//********kullan覺c覺 modu ********//
if(switch1Durum == LOW && switch2Durum==LOW){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("temp:");
lcd.print(temp);
lcd.print("c");
lcd.setCursor(9, 0);
lcd.print("Hum:%");
lcd.print(hum);

lcd.setCursor(0, 1);
lcd.print("L:");
lcd.print(ledparlaklik);

lcd.setCursor(5,1);
lcd.print("F:");
lcd.print(fanhiz);

lcd.setCursor(10, 1);
lcd.print("T:");
lcd.print(esik1);
delay(100);

//******** fan h覺z覺 ********//

if(buttonfanDurum == HIGH){
  fanhiz= fanhiz +10;
}
if(fanhiz==260){
  fanhiz=0;
}

analogWrite(fan, fanhiz);

//********led parlaklik********//

if(buttonledDurum == HIGH){
  ledparlaklik= ledparlaklik +10;
}
if(ledparlaklik==260){
  ledparlaklik=0;
}

if(ldrDurum> 900){
  analogWrite(led, ledparlaklik);
}
else{
  analogWrite(led, LOW);
}

//********sulama********//


if(buttonnemDurum==HIGH){
  delay(10);
  esik1= esik1+ 100;
}
if (esik1== 1100){
  esik1=600;
}

if(toprakveri> esik1){
digitalWrite(sumotoru, HIGH);
delay(5000);
digitalWrite(sumotoru, LOW);
delay(5000);
  
}

if(toprakveri<esik1){
  digitalWrite(sumotoru, LOW);
}


 }

 //********yamur ormanlar覺********//
 if(switch1Durum == HIGH && switch2Durum == LOW){

lcd.clear();
lcd.setCursor(0,0);
lcd.print("Yagmur ormani");
lcd.setCursor(0,1);
lcd.print("temp:");
lcd.print(temp);
lcd.print("C");
lcd.setCursor(9, 1);
lcd.print("Hum:%");
lcd.print(hum);
delay(100);

analogWrite(fan, 200);

if (ldrDurum> 900){
  analogWrite( led, 50);
}
  else{
    analogWrite(led, LOW);
    
  }
 //********sulama********//
 if(toprakveri> esik2){
  digitalWrite(sumotoru, HIGH);
  delay(5000);
  digitalWrite(sumotoru, LOW);
  delay(500); 
 }
 if(toprakveri<esik2){
  digitalWrite(sumotoru, LOW);
 }
 }
//********Col********//
 if(switch1Durum == HIGH && switch2Durum == HIGH){

lcd.clear();
lcd.setCursor(5,0);
lcd.print("Col");
lcd.setCursor(0,1);
lcd.print("temp:");
lcd.print(temp);
lcd.print("C");
lcd.setCursor(9, 1);
lcd.print("Hum:%");
lcd.print(hum);
delay(100);

analogWrite(fan, 0);

if (ldrDurum> 900){
  analogWrite( led, 250);
}
  else{
    analogWrite(led, LOW);
    
  }
 //********sulama********//
 if(toprakveri> esik3){
  digitalWrite(sumotoru, HIGH);
  delay(5000);
  digitalWrite(sumotoru, LOW);
  delay(500); 
 }
 if(toprakveri<esik3){
  digitalWrite(sumotoru, LOW);
 }

 
 }
}

9 Yorumlar

  1. biz k覺z覺mla bu projeyi yapmak istiyoruz. neri ve destek verebilir misiniz? Bu 癟apta bi akvaryum i癟ine yapaca覺z. Ne yetitirebiliriz? tabi bir 繹nce yetisin tavr覺m覺z yok. K覺z覺m hen羹z 1.s覺n覺f Ziraat fak羹ltesinde. Babas覺 olarak isteim ger癟ekten yetitiini test ederek g繹r羹p 繹rensin istiyorum.
    Destek verirseniz seviniriz. Teekk羹rler.

  2. Elektrik ve elektronikte yeteri bilgi ve tecr羹beye sahibim arduinoya yeni balad覺m 1 ayd覺r gece g羹nd羹z yapt覺覺m arat覺rmalarda unu anlad覺m ki t羹rkiyede arduino nun A s覺n覺 bilen yok buton a癟 led yak delay inpup output servo 癟izgi izleme vb. t羹rlerden baka biey yapabilen yok herkez haz覺rda olan覺 birbirinden g繹rd羹羹n羹 yapm覺 oysa bu sistem oyuncak yapmaktan daha 繹te profesyonel biey birs羹r羹 proje yapm覺 kiilere iki sat覺rl覺k kod soruyorum cevap yok malesef ki yabanc覺 kaynaklar覺 arat覺rarak kod yazmay覺 繹rendim internet alemini malesef 癟繹p y覺覺n覺na 癟evirmiler d羹zinelerce pfd d繹k羹manlar覺nda sadece led a癟覺p kapatma ilenmi kod anlamlar覺 karakter anlam覺 yaz覺l覺 ekli hakk覺nda biey bilen yok 2 sat覺r kod 繹renen payla覺m yapm覺

    • Siz ie Ardun覺o taraf覺ndan bak覺yorsan覺z zaten alanda 癟ok profesyonel deilsinizdir. Ayr覺ca birisi size Ardun覺o’yu tam bildiini s繹yl羹yorsa onu temel yap覺s覺na kadar biliyor demektir. Esasen sizde de belli bir temel olmas覺 gerekir ki anlayas覺n覺z. Bu da bir ayl覺k bir i deildir. Arat覺rd覺覺n覺z kaynaklar neler mesela ? Facebook, youtube gibi bo konuanlar覺n takdir edilip i icra edenlerin y羹z羹ne dahi bak覺lmad覺覺 platformlarda arat覺rma yapt覺ysan覺z elbette ki bulmakta zorlan覺rs覺n覺z. Tam anlam覺yla bilen kiiler bu mecralarda 癟ok fazla gezinmezler zira iin ovunu yapmaktan holanmazlar. Na癟izane paylamay覺 seven ve deer g繹renler elbetteki m羹stesna. Binaenaleyh led a癟覺p kapatmay覺 da basit g繹rmeyin. Elektronikte karma覺k olarak nazar ettiiniz pek 癟ok ey asl覺nda elekriksel a癟覺p kapatmadan ibarettir. Acizane tavsiyem Ardunio’ ya da 癟ok tak覺lmay覺n. PIC tatbikat覺 ve datasheet okuma 羹zerinde geliin. eitli yaz覺l覺m dillerini 繹renin. Mesela C++ dili ki Ardunio da bu dil tabanl覺d覺r. C++ dilini bilen birisi i癟in de Ardunio’ yu tan覺mak hi癟 de zor olmayacakt覺r. Ayr覺ca bu alanda yaz覺lm覺 olan kitaplar覺 bilhassa da eski kitaplar覺 kar覺t覺r覺n. Emin olun 癟ok eyler 繹reneceksiniz. Baarmak iyi de olsa k繹t羹 de olsa ortaya size ait bir ii koymakt覺r.

  3. Merhaba, yapt覺覺n覺z proje 癟ok g羹zel ben de yapmak istiyorum ama sizin kadar profesyonel deilim, hen羹z balang覺癟 aamas覺nday覺m. Devre elemanlar覺n覺n kartlara yerleimi, lehimlenmesi, montajlar 癟ok h覺zl覺 ge癟ilmi, detay yok, nas覺l yap覺laca覺n覺 g繹remiyorum. Bu konuda nas覺l yard覺mc覺 olabilirsiniz…

CEVAP VER

Please enter your comment!
Please enter your name here