29 Kasım 2020

LM35 İle Sıcaklık Ölçüm Devresi

ile Site Yöneticisi

Arduino LM35, temel olarak bir sıcaklık ölçüm sensörüdür. Bu sensör ile -55 ile +150 derece arasındaki sıcaklıkları ölçebilirsiniz. Temel olarak 1 derecelik sıcaklık artışları sağlar ve her 1 derece sıcaklık artışında çıkış 10mV artmaktadır.

4 ila 30 Volt arasında gerilim ile beslendiğinde 60 mikro amperden daha az bir akım ile 0,5 derecelik ölçüm hassasiyetine sahiptir.

Bu komponentin okuması sırasında elde edeceğimiz değer mV cinsinden olacağı için bunu basit bir formül ile sıcaklık değerine çevirmemiz gerekecektir.

(okunacak_deger / 1023.0) x 5000;

İşte bu işlemin sonucunda celcius (C) cinsinden derecelendirilmiş şekilde sıcaklık değerimize ulaşacağız.

Bu devreyi uygular iken aşağıdaki devre elemanlarına ihtiyacımız olacaktır.

  • Arduino Uno, Mini Pro veya 1 analog çıkışa sahip arduino kartı
  • LM35 sıcaklık sensörü
  • 3 Adet dişi > erkek jumper kablo

Tüm bunlar tamam ise kısaca devre şemamızı aşağıdaki gibi belirtebiliriz.

Gördüğünüz gibi aslında bağlantımız bu kadar basit.

Gelelim devremizin işleyişine; 5 V ile çalışan sensörümüz yukarıda belirttiğimiz çalışma mantığına göre her bir derece için bize 10mV akım çıkışı sağlıyor. Bu sayede A0 ismindeki analog çıkışımızdan aldığımız gerilimi ölçerek yukarıdaki matematiksel işlem sonucunda değerimizi Arduino Serial Monitörde görüntüleyebiliriz.

Bunu için öncelikle programımıza aşağıdaki şekilde pin ve değişken tanımlarımızı yaparak başlıyoruz.

int lm35Pini = A0;
int okunan_deger = 0;
float sicaklik_gerilim = 0;
float sicaklik = 0;

Burada tanımlarımızı yaptıktan sonra analog bir giriş olduğunu bildirmek için arduinomuza aşağıdaki şekilde analogReferance ı ekliyoruz. Tabii ki Serial Monitörümüzü 9600 yenileme hızı ile de açmayı unutmayalım.

  analogReference(DEFAULT);
  Serial.begin(9600);   

Son olarak okuma ve okuduğumu değerlendirme işlemine geçelim.

  okunan_deger = analogRead(lm35Pini);
  sicaklik_gerilim = (okunan_deger / 1023.0) * 5000;
  sicaklik = sicaklik_gerilim /10.0;
  Serial.println(okunan_deger);
  Serial.println(sicaklik);
  delay(1000);

Gördüğünüz gibi işlemimiz tamam. Artık Arduinomuzu çalıştırıp gelen değeri Serial Monitörümüzde görüntüleyebiliriz.

LM35 Sıcaklık Sensörü Devresi – Kodun Tamamı

int lm35Pini = A0;
int okunan_deger = 0;
float sicaklik_gerilim = 0;
float sicaklik = 0;
 
void setup() {
  analogReference(DEFAULT);
  Serial.begin(9600);         
}
 
void loop() {
  okunan_deger = analogRead(lm35Pini);
  sicaklik_gerilim = (okunan_deger / 1023.0) * 5000;
  sicaklik = sicaklik_gerilim /10.0;
  Serial.println(okunan_deger);
  Serial.println(sicaklik);
  delay(1000);
}