Etiketler

21 Eylül 2014 Pazar

Arduino LM35 Sıcaklık Sensörü ile Termometre


Merhabalar

Bu yazımda son zamanlarda mutfağımızda sıkça kullandığımız malzeme olan Arduino ile ocağın altını fazla yakmadan yemeklerimizi tam kıvamında olması gereken sıcaklığında pişirebilmek için sıcaklık sensörü ile yeni yardımcı bir yemek yapımından bahsetmek istiyorum :D  Eğer yazımın giriş kısmını okuyorsanız neler oluyor burada diye düşünebilirsiniz :D Sanırım yasemin'in elektronikle uğraşması sonucu oluşan bir yan etki olabilir hele ki blog yazılarında mizaha da yer vermek istiyorsa..  :)) Kısa bir gülümsenin ardından artık mutfağa girebiliriz :D

Aynı zamanda Raspberry Pi ile Termometre blog yazıma ulaşmak için tıklayınız.

Sizlere Arduino LM35 sıcaklık sensörünü kullanarak oda sıcaklığını ölçme uygulamasından bahsetmek istiyorum..

* LM35doğrusal, hassas bir sıcaklık sensörüdür.


















* LM35 her 10mV'ta 1 C ölçüm yapmaktadır, LM35'in sinyal pini Arduino'nun analog 1 (A1) pinine bağlanmıştır.

*LM35 analog değerini sayısal değere çevirmemiz gerekiyor. Bunun için LM35'in karakteristiğine göz atacak olursak;

  • Dereceye kalibre edilmiştir.
  • 1 derecelik sıcaklık artışında çıkışı 10mV artar. Doğrusaldır.
  • -55 derece ile + 150 derece arasında ölçüm yapabilir.
  • Giriş gerilimi olarak 4V-30V arasında çalışabilir.
  • LM35'in beslemesi ve toprağı bağlanır.
  • LM35'in çıkış ucu mikrodenetleyicinin analog girişine bağlanır.Kullanılacak mikrodenetleyicinin ADC biriminin 10 bit çözünürlikte olduğunu varsayalım.
  • 2-150 derece 0V-1,48V ile ölçeklenmiştir.
  • 0V-5V arası da ADC 10 bit olduğu için 2^10=1024 ile ölçeklenmiştir.
  • 0V-1,48V bu hesaba göre analog ölçümün 0-303 değerleri arasına ölçeklenmiş olur.
  • Bu işlemleri formül haline getirecek olursak SıcaklıkDegeri=2+(ADCValue*148/303); olur.

Orta bacağından verilen mV  gerilim her °C için 10 mV üretir. Yani 25 °C için çıkış 250 mV olur. 
Arduino'daki ADC 10 bitlik olduğu için  ve en yüksek değerimiz 5000 mV olduğu için bu 5000 mV'u 1024 parçaya işlemcimiz ayıracaktır. Yani 1023.değer bize 5V'u verecek ve her 10 mV bize 1 °C 'yi verecek şekilde programımızı yazıyoruz.

Gerekli Malzemeler:

1 Arduino Uno
1 LM35 Sıcaklık Sensörü
3 Jumper Kablo


Devremiz:





Arduino Kodumuz:

float sicaklik; //Analog değeri dönüştüreceğimiz sıcaklık 
float olculendeger; //Ölçeceğimiz analog değer
int sicaklikpin=1;  //Analog değer girişi

void setup () {
  Serial.begin(9600); //Seri haberleşme,sıcaklığı ekrandan takip edeceğiz.
}

void loop () {
 olculendeger = analogRead(sicaklikpin); //A1'den değeri alacak
 olculendeger = (olculendeger/1023)*5000;//değeri mV'a dönüştürecek 
 sicaklik = olculendeger /10,0; // mV'u sicakliğa dönüştürecek

 Serial.print("Sicaklik : ");
 Serial.print (sicaklik);
 Serial.println (" derece");
 delay (1000); //1sn aralıklarla yapacak

}


Arduino'ya yükleme işleminden sonra sıcaklık değerlerini görmek için seri haberleşme monitörünü açmalıyız.

Ve sonuç :))
























NOT: Benim odamın sıcaklığı 21.5'dir. Ölçülen değerler doğrudur.


Yaralandığım Kaynaklar:
http://arduinotik.blogspot.com.tr/2014/03/arduino-lm35-scaklk-sensoru-ile.html
http://enginsubasi.blogspot.com.tr/2014/04/lm35-scaklk-sensoru-nasl-kullanlr.html

16 yorum:

  1. Artık yemeklerin altı yanmayacak =))

    YanıtlaSil
  2. lcd shield ile nasıl yapabilirim ayrıca kablolar erkek - dişi jumper kablo mu?

    YanıtlaSil
    Yanıtlar
    1. Merhabalar, kablolar erkek jumper kablo. lcd ekran ile termometre yazım ise, http://ydemiral.blogspot.com.tr/2014/12/arduino-lm35-sensoru-ve-lcd-ekran-ile.html

      Sil
  3. Lm35 in sıvı içine girecek şekilde olanı var mıdır? Bir de belli bir araligi gectiginde alarm verecek şekilde programlayabilir miyiz?

    YanıtlaSil
  4. merhabalar projemde 6 tane lm 35 i tek arduinoya bağlamam gerekiyor bu kadar lm35 tek arduinoya bağlanabilirmi?

    YanıtlaSil
  5. Kullandığınız Arduino modelinde pin sayısınız yeterli ise, yapabilirsiniz diye düşünmekteyim, bu sensörler farklı yerlerde mi olacak acaba ?

    YanıtlaSil
  6. Merhaba yasemin hanim mV ye nasil cevirdik ve o satirdaki islemi anlamadim yardimci olabilir misiniz ?

    YanıtlaSil
    Yanıtlar
    1. Merhabalar
      mV ile Celcius arasındaki dönüşümün ayrıntılı bilgisi için http://playground.arduino.cc/Main/LM35HigherResolution linkteki dökümandan yararlanabilirsiniz.
      Temel olarak kullanılan denklem
      temp = (5.0 * analogRead(tempPin) * 100.0) / 1024;
      şeklindedir.

      Sil
    2. anladım efendim çok teşekkür ederim sagolun :)

      Sil
  7. merhaba yasemın hanım ben arduıno ıle p10 panel kullanarak termometre yapmak ıstıyorum
    pek fazla bılgım yok yardımcı olursanız sevınırım

    YanıtlaSil
  8. Çok güzel açıklamışsınız bravo çok faydalı oldu. Bu arada odanızın ısısını biraz artırın üşürsünüz 21.5 da

    YanıtlaSil
  9. Merhaba bu LM35 sensorunu PLCde nasil calistirabiliriz yardimci olurmusunuz

    YanıtlaSil
  10. Selam..Bu elemanla 12V luk bir fan nasıl çalıştırabilirim ..

    YanıtlaSil
  11. kodları arduino sistemine girdim, seri port ekranında oda sıcaklığı 150 160 aralığında gösteriyor.lm35 sensörüm arızalı olabilirmi?

    YanıtlaSil