Toprak Sulama Projesi #Arduino

Merhaba arkadaşlar Toprak sulama sitemi adı altında bir çok projeye denk geldiniz. Klasikleşmiş olan saksı sulama projesi bunun başında gelmektedir. Toprak sensörü topraktaki nemi ölçer ve duruma göre toprağa su motoru sayesinde su basar. Benim yapmış olduğum projenin temelide buna dayanıyor tabikide biraz farklı ama. Farkı nedir derseniz ,

Sıcaklık ve nem sensörü ve referans değeri ekledim. Sıcaklık ve nem sensörü topraktan bağımsız çalışmaktadır. Toprağı sulamak için ortamın nemi ve sıcaklığının da önemli olacağını düşündüm ve eklemek istedim. Kulanıcı bu değerleri görerek bir neticeye varır ve toprağa suyu o şekilde basar. Devre de bir adet referans potu bulunmaktadır. Bu pot sayesinde sisteme refenas değeri girilir.  Topraktaki nem bu referans değerinin altına inerse motor çalışır ve su basmaya başlar.

Motor 12v ile çalıştığından araya röle koydum ki arduinomuz akımdan dolayı yanmasın diye. İki adet led ve buzzer i sistemem dahil ederek motorun çalışmasını görsel olarak yansıtmak istedim.

 

devre

 

toprak devre

toprak baskı

 

yazilim

 

 

#include <dht11.h>
#include <LiquidCrystal.h>


//               (Rs, E, D4, D5, D6 ,D7)
LiquidCrystal lcd(13 , 12, 11 , 10 , 9 , 8);
dht11 DHT11;
int buzzer = 7;
int kirmizi_led = 5;
int yesil_led = 4;
int supompasi = 3;
int toprak = 0;
int referans = 0;
void setup()
{
  DHT11.attach(6);
  pinMode(buzzer, OUTPUT);
  pinMode(kirmizi_led, OUTPUT);
  pinMode(yesil_led, OUTPUT);
  pinMode(supompasi, OUTPUT);
  Serial.begin(9600);
  Serial.println("DHT11 TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT11LIB_VERSION);
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor (0, 0);
  lcd.println("  AKILLI  SERA  ");
  lcd.setCursor (0, 1);
  lcd.println("    PROJESI     ");
  for (int a = 0; a < 10; a++)
  {
    digitalWrite(yesil_led, HIGH);
    digitalWrite(kirmizi_led, LOW);
    delay (200);
    digitalWrite(yesil_led, LOW);
    digitalWrite(kirmizi_led, HIGH);
    delay (200);

  }
}

void loop()
{

  digitalWrite(yesil_led, LOW);
  digitalWrite(kirmizi_led, HIGH);

  int topraksensoru = analogRead(A0);
  toprak = map(abs(topraksensoru), 0, 1024, 100, 0);
  int toprakreferans = analogRead(A2);
  referans = map(abs(toprakreferans), 0, 1024, 0, 100);

  int chk = DHT11.read();
  Serial.print("Nem (%): ");
  Serial.println((float)DHT11.humidity, DEC);

  Serial.print("SICAKLIK (°C): ");
  Serial.println((float)DHT11.temperature, DEC);

  lcd.clear();
  lcd.setCursor (0, 0);
  lcd.print("SIC-Nem-Top.-Ref");
  lcd.setCursor (0, 1);
  lcd.print((int)DHT11.temperature, DEC);
  lcd.setCursor (4, 1);
  lcd.print((int)DHT11.humidity, DEC);
  lcd.setCursor (8, 1);
  lcd.print(toprak);
  lcd.setCursor (14, 1);
  lcd.print(referans);

  delay(200);
  while (toprak <= referans)
  {

    lcd.clear();
    lcd.setCursor (0, 0);
    lcd.print("TOPRAK  SULAMASI");
    lcd.setCursor (0, 1);
    lcd.print("   BASLAYACAK   ");
    digitalWrite(buzzer, HIGH);
    delay (500);
    digitalWrite(buzzer, LOW);
    delay (1000);
    while (toprak <= referans)
    {
      lcd.clear();
      lcd.setCursor (0, 0);
      lcd.print("TOPRAK SULANIYOR");
      lcd.setCursor (0, 1);
      lcd.print("Toprak="); lcd.print(toprak); 
      lcd.setCursor (10, 1);
      lcd.print("Ref="); lcd.print(referans); 
     
      digitalWrite(supompasi, HIGH);
      digitalWrite(yesil_led, HIGH);
      digitalWrite(kirmizi_led, LOW);
      delay (100);

      topraksensoru = analogRead(A0);
      toprak = map(abs(topraksensoru), 0, 1024, 99, 0);
      toprakreferans = analogRead(A2);
      referans = map(abs(toprakreferans), 0, 1024, 0, 99);
      
    }
    digitalWrite(supompasi, LOW);
    digitalWrite(buzzer, LOW);
    Serial.println (toprak);
    delay (1000);
    
  int topraksensoru = analogRead(A0);
  toprak = map(abs(topraksensoru), 0, 1024, 100, 0);
  int toprakreferans = analogRead(A2);
  referans = map(abs(toprakreferans), 0, 1024, 0, 100);
  }
}

sonhali

20170413_111858

Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , ,
Eklenme Tarihi: 7 Mayıs 2017

Konu hakkında yorumunuzu yazın

Toprak Sulama Projesi #Arduino (22 Yorum)

  1. Hocam tekrardan merhabalar, baskı devreyi yaptım bakır plaket üzerine fakat parçaları birleştirme kısmında zorlanıyorum, biraz daha açıklamalı hali varsa paylaşır mısınız yada gönderir misiniz rica etsek ?

    • Tmm dır. Aslında direkt siteye eklesem de ihtiyacı olan indirse. Hafta sonu ilgilenirim ben bununla.

  2. S.A Hocam Yazdığınız Kodların Açıklamalı hali varmı sizde varsa atabilir misiniz. Bide sesli mesaj ile ilgili bir çalışmanız varsa atabilirmsiniz. Bende 11. Sınıf Bilişim öğrencisiyim hocam ve arkadaşlarım ile bunları tubitak projesi için kullanmayı düşünüyoruz. Varsa. halilyldz0701@gmail.com
    adresine atabilirsiniz.

    • Arduino uno
      16×2 lcd ekran
      Buzzer
      Su pompası
      5v röle
      Dht11
      Toprak Sensörü
      2 led
      330 ohm direnç 2 adet
      10k pot 2 adet lcd ve toprak referans ayarı için

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.