DS18B20 veri kullanma (Arduino Uno)-ÇÖZÜLDÜ-
  • Merhabalar. Sıcaklık sensöründen aldığım verileri 1 saat sonra kullanmak istiyorum. Bunun için Arduino unonun içine yazıp zamanı geldiğinde okutmak için hangi komutları kullanmalıyım?
  • bu bir saat zaman zarfında sıcaklık verisi almaya devam edecekmisin ?
    sicaklık alma rutinini yazabilir misin _?
  • Saatte bir kez sıcaklık verisini ölçmem yeterli olacak.

    Bu bir saat boyunca diğer işlemlerimde bu ölçtüğüm sıcaklık değerini referans alıp işlem yapmak istiyorum.

    Rutin olarak her bir saatte bu işlem tekrarlanacak.
  • bu turkçe zor bir dil yaaa. benım anladığım bu değeri olçecen 1 saat sonra bunu kullanacan ama sanki saatte bir okuyup işlem yapacağım demek isteniyor gibi geldi. ilk duruma göre 1 saat once okuyup saat sonunda işlemi değerlendireceksen başka 2. duruma gore 1 saat bekleyip sıcaklıgı okuyup hemen işlem yapacan başka bir şey.
    anlamadım yani.
  • Sayın okoman, eleştirinizde haklısınız :)

    Isı değerini başlangıçta ölçtüğümde küçükte olsa sürekli değişiklikler oluyor.

    Isı değerini arduino uno R3 içine kaydedip bir saat sonra yeni değer okununcaya kadaraynı değeri kullanmak istiyorum.

    Başka bir bölümde ise ölçümden 50 yada 55 dakika sonra başka bir program aynı değeri kullanıp işlem başlatacak. Yani her iki düşüncede geçerli denebilir.
  • heh tamam şimdi oldu :)

    şunları ekle programına arkana bile bakma :)

    long suankizaman,oncekizaman = 0;
    int sayici = 0;

    void loop()
    {
    suankizaman = millis();

    if(suankizaman - oncekizaman >= 60000) //1 dakikada bir buraya girecek
    {
    oncekizaman = suankizaman ;
    sayici++;
    if(sayici >= 60) //60 tane 1 dakika saydıgında 1 saat yapmıs olacak ve sıcaklık okuyacak
    {
    sayici = 0;
    /*
    Buraya sıcaklık okuma bölümünü koy
    Örn;
    sicaklik = get.temp();
    sen kendi sıcaklık okumanı koyman gerek
    */
    }
    }
    }
  • Merhaba.Ben DS18B20 sensörü ile sıcaklığı ölçüp lcd ekranda göstermek istiyorum ancak proteus lcd ekranında sadece -127 derece sıcaklık görüyorum.Lütfen yardımcı olurmusunuz.
  • #include< OneWire.h>
    #include< DallasTemperature.h>
    #include < LiquidCrystal.h>
    // kullanılacak arduino dijital pini seçiliyor ne oneWire adlı bir nesne oluşturuluyor
    OneWire oneWire(10);
    // üst satırdaki oneWire nesne tanımlamasını DallasTempereture
    // kütüphanesine bundan sonra kullanacağımız yeni nesne ismi ile aktarıyoruz
    // nesne ismi olarak DS18B20 yazıldı siz istediğinizi yazabilirsiniz
    DallasTemperature DS18B20(&oneWire);

    // bu satırda ise okunacak sensörün adres bilgisi için
    // DS18B20adres adında bir nesne daha tanımladık
    // siz isterseniz farklı bir isim verebilirsiniz
    DeviceAddress DS18B20adres;
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    // sicaklik bilgileri için değişkenler tanımlanıyor
    float santigrat;
    void setup() {
    lcd.begin(16, 2);

    DS18B20.begin();
    DS18B20.getAddress(DS18B20adres, 0);
    DS18B20.setResolution(DS18B20adres,12);
    }

    void loop() {
    lcd.clear();
    lcd.setCursor(0, 0);

    DS18B20.requestTemperatures();
    santigrat = DS18B20.getTempC(DS18B20adres);
    lcd.print("Sicaklik Degeri"); // İmlecten itibaren bu yazı yazılacak
    lcd.setCursor(0,1); // 1.satırın ilk sütunundayız
    lcd.print(santigrat);
    delay(50);
    }
  • lcd ve sensörün pull-up direncini doğru şekilde bağladım
  • include OneWire.h
    include DallasTemperature.h
    include LiquidCrystal.h
    kütüphanelerini kullandım :)
  • Çok teşekkürler, sorun düzeldi.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.