Arduino İle Tarımsal Sulama

ARDUİNO İLE UZAKTAN TARIM ARAZİSİ SULAMA


     Uzun zamandır proje yazamıyordum.Yüksek lisans  otomasyon dersim için proje tasarımı yapmam gerekiyordu.Proje dersim  tarım teknolojileri bölümünden bir arkadaş ile ortaklaşa yapmam gerekliydi.Arkadaşımız Azeri vatandaşı Deyanet ile beraber yaptık.Tarımsal sulamada arduino nasıl kullanabiliriz diye düşündük.Projeyi başta d1 mini wemos ile tasarladım ama  giriş ve çıkış sayıları yetmediği için işin içine  arduino da ekledim.Projemiz hem manuel hemde wifi ağı üzerinden kontrolü sağlanıyor.Örneğin tarlanın uç kısmındayız ve suyu açmamız için kumanda bölgesine gitmemiz gerekiyor.Yaptığımız proje ile uzaktan cihazımızı android program ile kontrol edebiliyoruz.Şimdi projenin aşamalarını anlatayım.

Kullanılan malzemeler

1-Arduino nano
2-d1wemos mini
3-Üç adet5v röle
4-Dört adet led
5-Dört adet swich anahtar
6-Beş adet 220 ohm direnç
7-Altı adet 10 k direnç
8-Üç adet 2n2222 transistör
9-LCD ekran ve I2c modülü
10-Üç adet 1n4007 diyot
11-Üç adet klemens
12 erkek ve dişi header
13-5mm led soketi 4 adet
14-Yeterli miktarda zilteli
15-Delikli pertinak
16- İki adet 7805 regülatör

Şimdi devre tasarımını yapalım.İlk olarak röle devresi tasarımı aşağıdaki gibidir.
Burada  benim röleler 5v ile çalışıyordu.Ondan beslemem 5 volttur.Ben üç motor kontrol edeceğim için 3 adet  bu devreden kullandım siz duruma göre bu devre sayısını azaltıp yada arttırabilirsiniz
röleleri şekildeki  gibi lehimledim.sırayla konrol transistörleri ve koruma diyodunu lehimledim.   
  Led çıkışını erkek header kullanarak yaptım.Çünkü ledler kutuya monte edilecekti.
 ledleri bu şekilde hazırladım gövdeye monte edilecektir.

     
3 adet röle ve güç devrelerini lehimledim daha sonra arduino ve d1 mini wenos daha sonra başka projede kullanırım diye header üzerine takmalı şekilde yaptım.Sıra geldi role  transistör beyz uclarını arduino'da belirlediğimiz çıkışlara lehimlemeye.

Arduino dijital 2-3-4 pinleri sırayla röle 1-2-3  kontrol eden transistörlerin beyz uclarına lehimledim.

D1 mini wemos d5-d6-d7 uclarını arduino sırayla 5-6-7 dijital pinlerine lehimledim.Burada wifi üzerinden gelen  veri ilk wemos okuyacak sonra wemos arduino veri gönderecek en sonda arduino da gelen veriyi okuyup röleleri çalıştıracak.
 Bir de manüel çalışması için 3 anahtar kullandım sistem hem manüel hemde uzaktan kontrol edilebilecektir.
Anahtar devresi aşağıdaki gibidir.

Pull down yapılan anahtarların uçları sırayla arduino 8-9-10 dijital pinlerine lehimledim.

Anahtarları bu şekilde hazırladım.Çünkü anhtarlar gövdeye monte edilecek.
ekran olarak yukarıdaki ekrandan  ve  I2C  modülü kullandım böylelikle fazla pin kullanımının önüne geçtim ekranın scl ve sda uçların arduinonun sda ve scle ucu olan A4-A5 pinlerine bağladım.

en son olarak beslemeye geldik arduino nano, d1 wemos ve ekranı 1.1 7805 den besledim.Sorun yaşadığım için böle yaptım güç yetmiyordu.Kontrol devresi ve anahtarları 2. 7805 voltaj regülatöründen besledim.
En son plastik kutuya montajını yaptım.


programlar
Arduino tarafı için;

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
int LED = 2;
int LED1 = 3;
int LED3 = 4;
int but3 = 5;
int but2 = 6;
int but1 = 7;
int but11 = 8;
int but22 = 9;
int but33 = 10;
void setup() {
  // put your setup code here, to run once:
 pinMode(LED, OUTPUT);
  pinMode(LED1, OUTPUT);
    pinMode(LED3, OUTPUT);
    pinMode(but1, INPUT);
    pinMode(but2, INPUT);
    pinMode(but3, INPUT);
    pinMode(but11, INPUT);
    pinMode(but22, INPUT);
    pinMode(but33, INPUT);
     lcd.begin();
    lcd.clear();
    lcd.setCursor(4,0);
    lcd.print("SELCUK");
     delay(5000);
    lcd.setCursor(0,8);
    lcd.print("UNIVERSITESI");
    delay(5000);
    lcd.clear();
    lcd.begin();
    lcd.setCursor(0,0);
    lcd.print("MOTOR1");
    lcd.setCursor(8,0);
    lcd.print("MOTOR2");
    lcd.setCursor(0,1);
    lcd.print("MOTOR3");
}

void loop() {
  // put your main code here, to run repeatedly:
if(digitalRead(but1) ==  HIGH || digitalRead(but11) ==  HIGH ) {
    digitalWrite(LED, HIGH );
    lcd.home();
lcd.setCursor(0,0);
lcd.print("MOTOR1X  ");
}
else if (digitalRead(but1) == 0 || digitalRead(but11) == 0  ){
    digitalWrite(LED, LOW);
    lcd.home();
lcd.setCursor(0,0);
lcd.print("MOTOR1  ");

}
if(digitalRead(but2) ==  HIGH || digitalRead(but22) ==  HIGH) {
    digitalWrite(LED1, HIGH );
    lcd.home();
lcd.setCursor(8,0);
lcd.print("MOTOR2X  ");
}
else if (digitalRead(but2) == 0 || digitalRead(but22) == 0 ){
    digitalWrite(LED1, LOW);
    lcd.home();
lcd.setCursor(8,0);
lcd.print("MOTOR2  ");

}
if(digitalRead(but3) ==  HIGH || digitalRead(but33) == 1  ) {
    digitalWrite(LED3, HIGH );
    lcd.home();
lcd.setCursor(0,1);
lcd.print("MOTOR3X  ");
}
else if (digitalRead(but3) == 0  || digitalRead(but33) == 0 ){
    digitalWrite(LED3, LOW);
    lcd.home();
lcd.setCursor(0,1);
lcd.print("MOTOR3  ");

}

}

wifi wenos tarafı için;

#define BLYNK_PRINT Serial
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ESP8266WiFi.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
#include <BlynkSimpleEsp8266.h>

char auth[] = "m52cgy-feC-oNisRFU5TG3GzHk7nC1UL";
char ssid[] = "Mi";
char pass[] = "12345678";
int LED = D6;
int LED1 = D7;
int LED3 = D5;
void setup()
{
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
  pinMode(LED1, OUTPUT);
    pinMode(LED3, OUTPUT);
    Blynk.begin(auth, ssid, pass);
  }

void loop(){

  Blynk.run();

}
BLYNK_WRITE(V6) {
 int pinValue = param.asInt();
 if (pinValue == 1) {
digitalWrite(LED, HIGH);
  } else if(pinValue == 0) {
    digitalWrite(LED, LOW);
}

 }
 BLYNK_WRITE(V4) {
 int pinValue = param.asInt();
 if (pinValue == 1) {
digitalWrite(LED1, HIGH);
  } else {
    digitalWrite(LED1, LOW);
}
 }
 BLYNK_WRITE(V2) {
 int pinValue = param.asInt();
 if (pinValue == 1) {
digitalWrite(LED3, HIGH);

  } else {
    digitalWrite(LED3, LOW);
}

 }

wifi wmos tarafında blynk programını kullandım.


char auth[] = "m52cgy-feC-oNisRFU5TG3GzHk7nC1UL";
char ssid[] = "Mi";
char pass[] = "12345678";

bu kısma kendi wifi ağınızın adını ve şifresini gireceksiniz.
Play stroe veya iostan blynk yazıp aratın.programı indirdikten sonra  artı ekleme seçeneğine tıklayın proje oluşturun.Kayıt olduğunuz e-postaya kod gönderilecektir.kodu bu bölüme char auth[] = "m52cgy-feC-oNisRFU5TG3GzHk7nC1UL";  yazın.Android programa 3 adet buton ekleyin.Buton ayarlarını şöyle yapın.
1. buton için  output v4 yapın
2. buton için  output v6 yapın
3. buton için  output v2 yapın


ekran bu şekilde oluşacak.eğer wifiye bağlı iseniz kırmızı 1 yazan yer aktif olacak ve kalkacaktır.
















Hiç yorum yok:

Blogger tarafından desteklenmektedir.