Sıcaklık Sensörü etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Sıcaklık Sensörü etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

12 Mart 2014 Çarşamba

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

Analog giriş fonksiyonları ile sadece potansiyometre gibi elemanların çıkışlarını değil aynı zamanda analog çıkış veren bütün sensörlerin gerilim değerlerini Arduino'ya aktarabiliriz.Elbette ki bu değerler 5V değerini aşmamalı.



Sol taraftaki resimde sıcaklık değerini analog çıkış olarak vermekte olan LM35 sensörü ve pinlerinin ne için kullanıldığı gösterilmekte.

Vs+ Arduino'muzun 5V, Toprak pini GND'ye ve Vçıkış olarak gösterilen pin de herhangi bir analog girişe takılarak Arduino ile sıcaklık ölçümü yapabiliriz.

Bu proje ile hem sensör ölçümlerine başlamış olacağız, hem de bir önceki yazıda görmüş olduğumuz "float" kodunu da kullanmış olacağız.






Analog giriş için Arduino'daki A1 pin girişini kullandım. Analog girişler sol tarafta olduğundan devre kurma işininin rahat  olması için breadboard un sağ tarafının kullanılması sağlıklı olur.

Matematiksel ifadeyi kurabilmek için yani analog değeri sayısal değere çevirmek için LM35'in analog çıkış yapısını bilmemiz gerekir.

Orta bacağından verilen mV mertebesindeki gerilim her °C için 10 mV üretir. Yani 25 °C için çıkış 250 mV olur. 




Daha ayrıntılı bilgi için http://www.ti.com/lit/ds/symlink/lm35.pdf

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.

Kodlarımız ;

float sicaklik; //Analog değeri dönüştüreceğimiz sıcaklık 
float analoggerilim; //Ölçeceğimiz analog değer

void setup () {
  Serial.begin(9600); //Seri haberleşme,Sıcaklığı ekranda görücez
}

void loop () {
 analoggerilim = analogRead(A1); //A1'den değeri ölç
 analoggerilim = (analoggerilim/1023)*5000;//değeri mV'a dönüştr 
 sicaklik = analoggerilim /10,0; // mV'u sicakliğa dönüştür

 Serial.print("Sicaklik Degeri: ");
 Serial.print (sicaklik);
 Serial.println (" derece");
 delay (1000);

}

Seri Haberleşme monitörü ile okuduğumuz değerler. Sensörün etrafında ateş yakarak değeri arttırabilirsiniz. Tabi sensörü yakmayın ateşle :))).

Bu da devremizin videosu.En  kısa zamanda bu sensör ile yaptığımız sıcaklık ölçümünü LCD'ye bağlayarak burda yayınlayacağım. Video'yu beğenmeyi unutmayın :).