Arduino LM35 Sıcaklık Sensörü İle Sıcaklık Ölçme

 Arduino LM35 Sıcaklık Sensörü Kullanımı

    Arduino ile LM35 sıcaklık sensörü kullanımı oldukça basittir, zira sensörün çalışma prensibi zaten oldukça basittir; her bir derece için sinyal bacağında 10mV luk voltaj değişimi gerçekleşir ve tamamen olmasa da (her zaman biraz hata vardır) bu değişimin doğrusal olduğunu söyleyebiliriz.

    Lm35 Sıcaklı Sensörünün 3 adet pini bulunmaktadır :

  1. + Pini : Arduino 'nun 5V pinlerinden birine bağlanır.
  2.  - Pini : Arduino 'nun GND pinlerinden birine bağlanır.
  3.  S Pini: Sinyal çıkış pini olup, Arduino 'nun Analog pinlerinden (A0,A1 vs) birine bağlanır.
Lm35 Arduino bağlantısı aşağıdaki gibi yapılır :
Arduino Lm35 wiring

Görselde görmüş olduğunuz Lm35 modül ile 2°C ile 150°C arasında sıcaklık ölçümlerini yapabiliriz. LM35 modül ile -55 ile 150 derece arasındaki sıcaklıkları da ölçmek mümkün ancak bu farklı bir yazının konusu olabilir; devre üzerinde bazı modifikasyonlara ihtiyacı oluyor.


Öncelikle Arduino ile Voltaj ölçme konusunda bilginiz yoksa : Arduino ile voltaj okuma  konusunu okumanızı tavsiye ederim.  Aşağıdaki kod ile her 5 saniyede bir sıcaklığı ölçüp seri monitöre yazdırabiliriz :

// Arduino LM35 Code Example
// by HakkanR 07.11.2022
// https://www.devrelerim.com/2022/11/arduino-lm35-scaklk-sensoru-ile-scaklk.html
void setup() {
  Serial.begin(115200);
}

void loop() {
  int adcValue = analogRead(A0);
  float VonPin = adcValue * 0.0048828125f; // 5/1024
  float degreeInCelsius = VonPin / 0.01f;  // celsius/10mV
  Serial.print("Temp :");
  Serial.print(degreeInCelsius);
  Serial.println("°C");
  delay(5000);
}

Kod açıklaması :
  • adcValue ile analog pine gelen voltajın ADC sonucu olan değeri elde ediyoruz
  • VonPin ile ADC 'den gelen dönüşüm değerini (5/1024) ile çarpıp voltaj değerine çaviriyoruz
  • degreeinCelcius değeri ile okumuş olduğumuz voltaj değerinin içinde kaçtane 10mV olduğunu, yani kaç derece olduğunu hesaplamak için 0.01f e bölüyoruz
 Burada diğer tüm değişkenlerden kurtulup : yani tüm matematiği peşinen yapıp :

  float degreeInCelsius = analogRead(A0)*0.48828125f);

yazarak da işin içinden çıkabiliriz. Detaylıca ne yaptığımız anlaşılsın diye adım adım yazmış olduk sadece.


setup kısmındaki satır seri iletişimi başlatmak için,
Serial.print lerle yazdırmak istediklerimizi yazdırıyoruz, 
delay(5000); 5 saniyelik bekleme yapıyor, süreyle ihtiyacınıza göre oynayabilirsiniz, Bu arada derece işareti ° ALT + 0176 tuş kombinasyonuyla çıkıyor. 😏

Herkese kolay gelsin.

Yorumlar

Bu blogdaki popüler yayınlar

Araç akü şarj cihazından bilgisayara veri aktarımı

Arduino DHT11 Kullanımı - Arduino Kod - Arduino Termometre yapımı

Arduino 16x2 (2x16) LCD Ekran Kullanımı | 4bit parallel mode - 16x2 LCD ekran pin bağlantıları