Herkese merhabalar ! Arduino dersleri serimizden keyif alıyor musunuz? Yorumlarınızı blogumuzda ve YouTube kanalımızda bizimle paylaşabilirsiniz ! Bu yazımızda sizlerle NTC kullanarak Arduino ile sıcaklık ölçümü uygulaması yapacağız.

Bir önceki yazımızda RGB LED uygulaması yapmıştık >>> Potansiyometre ile Renk Değişimi Uygulaması Yapalım !

NTC Sensörü Nedir?

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 sensör görevi görmüş olur.

NTC sensörü, daha önce LDR uygulamamızda da söylediğimiz gibi pasif bir sensördür. Yapısı itibari ile bir direnç olmasına rağmen ortamdaki fiziksel değişime göre tepki verdiği için bu devre elemanını sensör olarak nitelendirebiliyoruz.

Diğer bütün sensörler hakkında bilgi almak için yazımızı inceleyin >>> Sensör Nedir? Sensör Çeşitleri Nelerdir?

Arduino ve NTC ile Sıcaklık Ölçümü Yapalım

Gerekli malzemeler: ( Not: NTC ile Sıcaklık Ölçümü ve 10. Derse Kadar Olan Dersleri “Arduino Başlangıç Seti” İle Yapabilirsiniz. Malzemeler Bu Sette! >)

LED’i Yakarak Uyarı Veren NTC Devresi

Devre şemamız bu şekilde:

Arduino NTC Devresi

Arduino NTC Kodu

Devreyle beraber kullanacağımız kodumuz:


#include 

#define led 2


void setup() {
  Serial.begin(9600);
  pinMode(led,OUTPUT);
}


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 = analogRead(A0);
  double sicaklik = Termistor(deger);
  Serial.println(sicaklik);

  if(sicaklik > 30){
    digitalWrite(led,HIGH);
  }
  else{
    digitalWrite(led,LOW);
  }

  delay(250);
  
  

}

}

42 Yorumlar

  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.

  8. ==>BUZZER VE YEŞİL LED EKLEMEK İSTERSENİZ
    #include

    #define led 2
    #define yesilled 3
    #define buzzer 4

    void setup() {
    Serial.begin(9600);
    pinMode(led,OUTPUT);
    pinMode(yesilled,OUTPUT);
    pinMode(buzzer,OUTPUT);
    }

    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 = analogRead(A0);
    double sicaklik = Termistor(deger);
    Serial.println(sicaklik);

    if(sicaklik > 30){
    digitalWrite(led,HIGH);
    digitalWrite(yesilled,LOW);
    digitalWrite(buzzer,HIGH);
    }
    else{
    digitalWrite(led,LOW);
    digitalWrite(yesilled,HIGH);
    digitalWrite(buzzer,LOW);
    }

    delay(250);

    }

    BU KODLARI YAZIN VE BUZZERI 4. PİNE YEŞİL LEDİ 3. PİNE TAKIN<==

CEVAP VER

Please enter your comment!
Please enter your name here