1. Hoş geldiniz, Akvaryum Portalı ailesine katılım için kendinizi hazır hissediyorsanız üye olun.
    Yardım sayfasından forum kullanım desteği alın.

Arduino Su Tamamlama Sistemi

Başlığı 'Kendin Yap-Kendiniz DIY Yapabilirsiniz' kategorisinde SerdarKartal34 tarafından 29 Mayıs 2016 başlatılmıştır.



  1. Maliyeti düşük bir sistem
    Arduino uno 25TL civarı
    Tek Kanal Röle 5TL civarı
    Float Switch 3 Adet 4$
    2 adet 10K direnç elimde vardı ama 50 adet 1,5 TL civarı
    birkaç kablo
     
    Tarık KÜÇÜK, zipkinteam, ka2n ve diğer 6 kişi bunu beğendi.
  2. SEFERR

    SEFERR

    Mesajlar:
    157
    İsim:
    Sefer benli
    Mesutkerim buna el atması lazım:)
     
    MESUT_KERİM bunu beğendi.
  3. 8020_r31s

    8020_r31s

    Mesajlar:
    1.410
    Yer:
    İstanbul Anadolu
    İsim:
    ibrahim cengiz
    4 sn sonra çalışması çok güzel.
     
    SerdarKartal34 bunu beğendi.
  4. Dalgalanma sorununu çözdüm bu şekilde motor ısınmasan çalışacak bu arada geçiktiriciyle termostatıda ekleyince yaklaşık 300 - 350 tl malzemeyi 50 tl ye filan halletmiş olucam
     
    ka2n ve bin_meh bunu beğendi.
  5. bin_meh

    bin_meh

    Mesajlar:
    416
    Yer:
    istanbul
    4 sn gerçekten iyin olmuş. Ben şuan tunze su tamamlama kullanıyorum akvaryum yandan sumplı rw4 sallantı modunda olduğu için sumptada aynı şekilde sallantı oluyor ve su tamamlama durmadann gir-çık yapıyor . gerçi bölme ile halletim şuan problemi.
     
    8020_r31s bunu beğendi.
  6. arkadaşlar şu ana kadar için olan kısmın kodu aşağıda,Geliştirdikçe burdan paylaşıcam...

    Kod:
    int fl = 3;
    int fl2 = 5;
    int Relay = 2;
    int fld;
    int fld2;
    void setup()
    {
    pinMode(fl, INPUT);
    pinMode(fl2,INPUT);
    pinMode(Relay, OUTPUT);
    Serial.begin(9600);
    }
    void loop()
    {
    fld = digitalRead (fl);
    fld2 = digitalRead (fl2);
    if (fld2 == HIGH)
    {digitalWrite(Relay, HIGH);
    }
    else if (fld == HIGH)
    {
    digitalWrite(Relay, HIGH);
    delay(4000);
    }
    else
    {
    digitalWrite(Relay, LOW);
    }
    delay (10);
    }
    
     
  7. 8020_r31s

    8020_r31s

    Mesajlar:
    1.410
    Yer:
    İstanbul Anadolu
    İsim:
    ibrahim cengiz
    Şamandrayı kinder süpriz yumurta içine yerleştir.Yumurtanın etrafına ve üstüne 8 -10 adet kürdan büyüklüğünde delik aç sorunun hallolur
     
    Ontheway bunu beğendi.
  8. Kod:
    #include <OneWire.h>//Arduino kütüphanesi
    
    //Pin girşleri
    int fl = 3;
    int fl2 = 5;
    int Relay = 2;
    int Relay3 = 6;
    int Relay4 = 7;
    const int Relay2 = 4;
    const int buttonPin = 10;
    int fld; 
    int fld2;
    
    int DS18S20_Pin = 8;
    OneWire ds(DS18S20_Pin);
    
    long unsigned Present = 0;
    int buttonState = 0;
    int val;
    
    
    void setup()
    {
    //giriş - çıkışların ayarlanması
    pinMode(fl, INPUT);
    pinMode(fl2,INPUT);
    pinMode(buttonPin, INPUT);
    pinMode(Relay, OUTPUT);
    pinMode(Relay2, OUTPUT);
    pinMode(Relay3, OUTPUT);
    pinMode(Relay4, OUTPUT);
    
    //Rölelerin ilk girişte kapalı ayarlanması
    digitalWrite(Relay, HIGH);
    digitalWrite(Relay2, HIGH);
    digitalWrite(Relay3, HIGH);
    digitalWrite(Relay4, HIGH);
    
    Serial.begin(9600);
    }
    
    void loop()
    {
    // ısı sensörü kodları
      float temperature = getTemp();
      Serial.print("Sicaklik: ");
      Serial.println(temperature);
     if (temperature <= 25.50){
      digitalWrite(Relay3, LOW);
     }else if (temperature >= 25.90){
      digitalWrite(Relay3, HIGH);
     }
    
    if (temperature >= 26.50){
      digitalWrite(Relay4, LOW);  
     }else if (temperature <= 25.90){
      digitalWrite(Relay4, HIGH);
     }
     delay(100);
    
    //Protein skimmer geciktirici kodları şu anda 3 dakikaya ayarlı.
      val = digitalRead(buttonPin);
      if (val == LOW) {
    Present = millis();
    if (Present > 0 && Present < 180000){ 
    digitalWrite(Relay2, HIGH);
    
    } else {
      digitalWrite(Relay2, LOW);
    }
    
    }
    
    //Su Tamamlama kodları 2 float switch 1.azalan su 2.Tatlı suda emniyet
    fld = digitalRead (fl);
    fld2 = digitalRead (fl2);
    
    if (fld2 == HIGH)
    {
      digitalWrite(Relay, HIGH);
    }
    else if (fld == HIGH)
    {
    digitalWrite(Relay, HIGH);
    delay(4000);
    }
    else
    {
    digitalWrite(Relay, LOW); 
    }
    
    delay (10);
    }
    
    //ısı sensörü hazır kodu
    float getTemp(){
      //returns the temperature from one DS18S20 in DEG Celsius
    
      byte data[12];
      byte addr[8];
    
      if ( !ds.search(addr)) {
          //no more sensors on chain, reset search
          ds.reset_search();
          return -1000;
      }
    
      if ( OneWire::crc8( addr, 7) != addr[7]) {
          Serial.println("CRC is not valid!");
          return -1000;
      }
    
      if ( addr[0] != 0x10 && addr[0] != 0x28) {
          Serial.print("Device is not recognized");
          return -1000;
      }
    
      ds.reset();
      ds.select(addr);
      ds.write(0x44,1); // start conversion, with parasite power on at the end
    
      byte present = ds.reset();
      ds.select(addr);    
      ds.write(0xBE); // Read Scratchpad
    
      for (int i = 0; i < 9; i++) { // we need 9 bytes
        data[i] = ds.read();
      }
    
      ds.reset_search();
    
      byte MSB = data[1];
      byte LSB = data[0];
    
      float tempRead = ((MSB << 8) | LSB); //using two's compliment
      float TemperatureSum = tempRead / 16;
    
      return TemperatureSum;
    
    }
    
    
    
     
    gogol ve nhtkmn bunu beğendi.
  9. kodlar hazır çalışır durumda
    kanal 1 su tamamlama motoru
    kanal 2 protein skimmer geciktirici (3dk)
    kanal 3 ısıtıcı (25.50 devreye girer, 25.90 devreden çıkar)
    kanal4 fan ( 26,50 devreye girer, 25.90 devreden çıkra)

    Kısa zamanda bir video çekip koyucam....
     
    caglar.sonmez, nhtkmn, 8020_r31s ve diğer 5 kişi bunu beğendi.
  10. caglar.sonmez

    caglar.sonmez

    Mesajlar:
    40
    İsim:
    caglar sönmez
    Ustad eline sağlık, güzel çalışma olmuş.
    Float switch nereden buluruz nasıl temin edebiliriz.
    Saygılar.
     
    SerdarKartal34 bunu beğendi.
  11. LostRua

    LostRua

    Mesajlar:
    3.518
    Yer:
    Konya
    İsim:
    Doğuş ARISOY
    Ebay, aliexpress, banggood...

    Bunlarda fiyatıda uygundur. Yok Türkiye olsun derseniz. Otomasyon firmalarında, kimyasal depo tank üreten firmalarda var.


    Sent from my iPhone using Tapatalk
     
  12. Aliexpress'ten aldım ben en uygun öyle iki haftaya geliyo eadte 4$ civarı. Burdada var ama tanesi 40TL civarında
     
  13. Evet arkadaşlar kutulamayıda bitirdim. son hali...

     
    Montimahir, caglar.sonmez, Karakus ve diğer 3 kişi bunu beğendi.
  14. Alparslan

    Alparslan

    Mesajlar:
    19.505
    Yer:
    Kartal-İst
    İsim:
    Alparslan İşken
    Serdar abi güzel olmuş eline sağlık...
     
  15. saol kardeşim...
     
  16. 8020_r31s

    8020_r31s

    Mesajlar:
    1.410
    Yer:
    İstanbul Anadolu
    İsim:
    ibrahim cengiz
    Serdar kardeşim çok iyi olmuş.Yeni akvaryumun uzaktan kontrol ünitesinde bu sistemi kullanmayı düşünüyorum.
     
    SerdarKartal34 bunu beğendi.
  17. takıldığın bir yer olursa yardımcı olurum kodlarda ledler yok yapıcağın zaman haber ver o kodlarıda gönderirim...
     
  18. 8020_r31s

    8020_r31s

    Mesajlar:
    1.410
    Yer:
    İstanbul Anadolu
    İsim:
    ibrahim cengiz
    Merak etme seni çok rahatsız edeceğim.Zamanım olmadığı için bişey yapamadım:d
     
  19. Ne rahatsızlığı ibrahim elimden ne gelirse her zaman...
     
  20. markymark

    markymark

    Mesajlar:
    23
    İsim:
    Murat
    Üzerinden bir yıl geçmiş konuyu hortlattığım için kusuruma bakmayın ama istediğim projeye en yakın çalışma buydu. Isıtıcılar üzerinde zaten ayar olduğu için ısıtıcı komutunu pek önemsemiyorum açıkçası.
    Benim yapmak istediklerim şu şekilde:
    1-Dijital ekran ve işlemleri ordan okumak.
    2-Otomatik yemleme. Belirlenen saatlerde yemleme için roleye komut verecek (180 derece dönme yada belirli sn çalışma farketmez, mekanik kısmı ona göre uydurabilirim)
    3-Belirlenen gün ve saatte (haftada bir kez %20 şu değişimi. Bunu şu şekilde yapmayo planlıyorum; bir motor belirli süre çalışıp akvaryumdan şu boşaltacak, ardından dinlenmis su haznesi akvaryum içindeki float switch ( satilan paket icinde ultrasonic mesafe olcer de var gerci ) durdruana kadat kadar yeni su basacak. Bu süre içinde ısıtıcı, motor ve hava duracak. (Bunun da mekanik ve tesisat kısmını çözebilirim. Videodaki gibi fişe enerji vermesi yeterli) bu en önemlisi aslında. Selenoid valf ile mekanik kısmı kolay olacak gibi. Dinlenmiş su haznesi çeşmeden tamamlamak için mekanik flator yeterli dijitale gerek yok gibi.
    4- ışıklar belirli süre acik kalacak.
    Sonrasında olması şart değil ama olsa güzel olur komutlarım sa şu şekilde :)
    5-sistemi Wifiye bağlamak, verileri ev dışından da görebilmek, hatta belki ev dışından komut verebilmek Vs.
    5-belirli sıcaklık üstü fan olabilir (ama şart değil)
    Şimdiden teşekkürler.
     
    mekatronik bunu beğendi.

Sayfayı Paylaş