Gerekli malzemeler:

NTC, negative thermocouple kelimelerinin kısaltmasından oluşur. NTC, aslında sıcaklığa bağlı olarak değeri değişen bir dirençtir. Sıcaklık yükseldikçe direnci azalır. Bu sayede sıcaklık sensörü olarak kullanılabilir.

Devre şemamız bu şekilde:

ders6_ntc_bb

Devreyle beraber kullanacağımız kodumuz:

void setup()
{
  Serial.begin(9600);
}

double Termistor(int analogOkuma)
{
  double sicaklik;
  sicaklik = log(((10240000 / analogOkuma) - 10000));
  sicaklik = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * sicaklik * sicaklik )) * sicaklik );
  sicaklik = sicaklik - 273.15;
  return sicaklik;
}

void loop()
{
  int deger;
  double sicaklik;
  deger = analogRead(A0);
  sicaklik = Termistor(deger);
  Serial.println(sicaklik);
  delay(500);
}

Bu kod, analog değerden sıcaklık değerine dönüşüm için logaritma gibi matematik fonksiyonlarına ihtiyaç duymakta. Bu yüzden, kodumuza log() gibi fonksiyonları barındıran math.h isimli kütüphaneyi dahil etmemiz gerekli.

40 Yorumlar

    • https://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Sensors/TempR.html

      1/T = A + B*ln(R) + C*(ln(R))3 R in W, T in oK

      T (oC) R (W)
      0 16,330
      25 5000
      50 1801
      Using these values, we can get three equations in A, B and C.

      (1/273) = A + B ln(16330) + C (ln(16330))3

      (1/298) = A + B ln(5000) + C (ln(5000))3

      (1/323) = A + B ln(1801) + C (ln(1801))3

      This set of simultaneous linear equations can be solved for A, B and C. Here are the values computed for A, B and C.

      A = 0.001284
      B = 2.364x 10-4
      C = 9.304x 10-8

  1. Birçok kaynakta –>>

    double Termistor(int analogOkuma)
    {
    double sicaklik;
    sicaklik = log(((10240000 / analogOkuma) – 10000));
    sicaklik = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * sicaklik * sicaklik )) * sicaklik );
    sicaklik = sicaklik – 273.15;
    return sicaklik;
    }

    –>> şeklinde hesaplamalar mevcut bu hesaplamaların kaynağı nedir. Ve nereden gelmektedir. Teknik olarak…

  2. Öncelikle herkese merhaba. Kutunun içine 220V lamba yerleştirdim ve dht11 sensörü ile sıcaklık ölçtüm ve sıcaklığı 33 dereceye sabitledim yani lamba bir süre çalışıyor istenilen sıcaklığa gelince röle lambayı kapatıyor bu şekilde 15 gün çalıştı sonra lamba sürekli çalışıyor. Kısaca bu rölelerin çalışma süresi nedir nereden öğrenebiliriz? Rölenin açıp kapatma sayısı kaçtır nasıl öğrenebiliriz.
    Şimdiden teşekkürler.

        • Röleyi tıpkı bir anahtar olarak düşünmeniz gerekir. Bu durumda güç kaynağından (priz v.b.) gelen kablolardan bir tanesini rölenin NO, yani normal durumda açık devre veya NC yani normal durumda kısa devre olan bağlantılarından birisine, kablonun devamını ise rölenin COM yani ortak ucuna bağlayarak bağlantınızı gerçekleştirebilirsiniz.

  3. Merhaba vücut sıcaklığı için koltuk altından ölçüm yapmak istiyorum bunun için ek olarak neyi nasıl kullanmalıyım ?

  4. Merhabalar,
    Aşağıdaki Problemi Nasıl çözebilirim.
    Arduino:1.8.2 (Windows 10), Kart:”Arduino/Genuino Uno”

    C:\Users\irfan\OneDrive\Belgeler\Arduino\ardntckulsicolc\ardntckulsicolc.ino:1:17: fatal error: mat.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • Kodun en başında yer alan #include satırınında karakter ile ilgili bir hata olmuş sanırım. Kodu doğrudan kopyaladıysanız en azından en baştaki satırı silip tekrar eliniz ile yazmayı deneyebilirsiniz.

  5. Hakan ile benzer sıkıntıyı yaşıyorum, sıcaklığı saniyede bir ölçüyorum , gerçek sıcaklık ise 19.7 iken mesela
    1. ölçüm 20.10
    2. ölçüm 21.40
    3. ölçüm 19.05
    gibi değerler alıyorum,
    lütfen yardımcı olurmusunuz
    teşekürler

  6. Merhaba,
    Öncelikle bilgiler için teşekkürler. Ben bu sensörü kullanarak bir fanı çalıştırmak istiyorum yani sıcaklığa bağlı olarak fanın hızı artıp azalacak. Bu konuda yardımcı olabilir misiniz? Okunan değere bağlı olarak motorun hızını nasıl kontrol edebilirim?

  7. bu devreye bluetooth modülü ekleyip sıcaklığı koşullu olarak kontrol etmek için nasıl bir bağlantı yapmak gerekli ? mesela sıcaklık 5 derecenin üzerine çıktığında fan çalışsın. 2 dereceye indiğinde dursun.

    • Bluetooth modülünün koşullu kontrol için nerede kullanılacağını anlayamadım ama sıcaklık kontrolü için bir if ile

      if (sicaklik > 5)
      digitalWrite(role_pin, HIGH);
      if(sicaklik < 2) digitalWrite(role_pin, LOW); gibi bir yapı oluşturabilirsiniz.

CEVAP VER

Please enter your comment!
Please enter your name here