LM35 Serisi Sıcaklık Sensörü
LM35 serisi sıcaklık sensörü, Texas Instruments'ın düşük voltajlı, yüksek hassasiyetli bir sıcaklık sensörüdür. LM35, santigrat derece cinsinden sıcaklık ile doğru orantılı olarak değişen bir analog voltaj çıkışı verir. Analog çıkış, sıcaklıktaki her 1°C'lik artış için 10 mV artar. Örneğin; oda sıcaklığı 18 °C ise çıkış 180 mV olur. Analog çıkış verdiği için Arduino kartı üzerinde bulunan analog giriş pinleri ile kullanılabilir ve kalibrasyon gerektirmez.
LM35 serisi sıcaklık sensörü, 4 ila 30 volt arasında değişen bir güç kaynağıyla beslenir ve 60 µA'den az akım tüketir. Bu son derece düşük güç tüketimi, çalışırken neredeyse hiç ısınmadığı anlamına gelir (durgun havada 0,08°C'den az). Kendi kendine ısınma özelliğinin düşük olması önemlidir. Çünkü sensör, kendi kendine çok ısınırsa, sıcaklık okumalarını bozar ve doğruluğu azaltır. LM35 serisi sıcaklık sensörü etkileyici bir doğruluk oranına sahiptir. Oda sıcaklığında (25°C) tipik olarak ±0,5°C hassasiyete sahiptir. -55°C ile 150°C arasındaki tam çalışma aralığında ise ±1°C hassasiyeti vardır.
Voltaj-Sıcaklık Grafiği
LM35 serisi sıcaklık sensörünün dezavantajı, negatif sıcaklıkları ölçmek için LM35’e negatif bir ön gerilim voltajı vermek gerekir. Bu da devrenizi daha karmaşık hale getirir. Temel Santigrat ve Tam Aralıklı Santigrat Sıcaklık ile ilgili durumlar aşağıdaki şemada gösterilmiştir.
Negatif sıcaklıkları daha kolay yoldan ölçmek istiyorsanız, Analog Devices'ın TMP36 sensörü daha iyi bir seçim olabilir. Herhangi bir özel kurulum gerektirmeden -40°C ile +125°C arasındaki sıcaklıkları ölçebilir.
LM35 Serisi Sıcaklık Sensörü Çeşitleri
LM35 serisi sıcaklık sensörünün çok farklı çeşitleri vardır. Bu çeşitlere göre de farklı sıcaklık aralıkları vardır. Bunlardan bazıları ve sıcaklık değerleri aşağıdaki tabloda yer almaktadır:
LM35 Serisi | Sıcaklık Aralığı |
LM35 and LM35A | −55°C ≤ TJ ≤ 150°C |
LM35C and LM35CA | −40°C ≤ TJ ≤ 110°C |
LM35D | 0°C ≤ TJ ≤ 100°C |
LM35DZ | −55°C ≤ TJ ≤ 150°C |
Biz uygulamalarımızda sıcaklık aralığı −55°C ≤ TJ ≤ 150°C olan LM35DZ sıcaklık sensörünü kullanacağız.
LM35'in Çalışma Prensibi
LM35, bir tür Silikon Bant Aralığı Sıcaklık Sensörüdür. Sıcaklık değiştiğinde silikon diyotun ileri voltajının öngörülebilir bir şekilde değişmesi esasına dayanarak çalışır. LM35, basit bir diyot kullanmak yerine, esasen bir diyot gibi davranacak şekilde kablolanmış ancak daha iyi performans gösteren bir transistör olan diyot bağlantılı bir transistör kullanır. Sıcaklık arttıkça, transistörün baz ve emitör uçları arasındaki voltaj (VBE) azalır. Bu ilişki oldukça doğrusaldır. Yani sıcaklık arttıkça voltaj sabit bir oranda düşer. LM35 sensörü bu küçük voltaj değişimlerini algılar, işler ve sıcaklıkla doğrusal orantılı bir çıkış sinyali üretir ve yükselterek çıkışa verir.
LM35 sıcaklık sensörünün yanında LM335 ve LM34 sensörleri de vardır. Benzer şekilde, LM335, sıcaklıktaki her Kelvin derecelik artış için 10 mV, LM34 ise sıcaklıktaki her Fahrenheit derecelik artış için 10 mV çıkış verir.
Sıcaklık Sensörü | Çıkış Voltajı | Doğrusallık |
LM35 (LM35DZ) | Santigrat (ºC) cinsinden sıcaklığa orantılı | 10mV/ºC |
LM335 | Kelvin (ºK) cinsinden sıcaklığa orantılı | 10mV/ºK |
LM34 | Fahrenheit (ºF) cinsinden sıcaklığa orantılı | 10mV/ºF |
LM35 Datasheet: https://www.ti.com/lit/ds/symlink/lm35.pdf
LM35DZ Sıcaklık Sensörünün Arduino İle Kullanımı

LM35DZ sıcaklık sensörünün Vout pinini Arduino'daki A0 pinine veya herhangi bir analog giriş pinine bağlayabilirsiniz.
LM35DZ Sıcaklık Sensörü Nasıl Okunur?
LM35'e güç verdiğinizde, Vout pini hemen analog bir voltaj sinyali göndermeye başlar. Bu voltaj, sıcaklıkla orantılı (doğrusal) olarak değişir. Sıcaklıktaki her 1°C'lik artışta voltaj 10 milivolt (mV) veya 0,01 volt (V) artar. Örneğin, sensör 0°C'de 0V, 25°C'de 0,25V ve 100°C'de 1,00V çıkış verir.
Arduino’da analogRead() komutu ile analog voltajı okuyabiliriz. Fakat bu fonksiyon bize gerçek voltajı doğrudan vermez. Voltajın karşılık geldiği dijital değeri verir. Arduino'da 10 bitlik bir Analog-Dijital Dönüştürücü (ADC) bulunur. Bu dönüştürücü, 0 ile ADC referans voltajı arasındaki giriş voltajlarını, 0 ile 1023 arasında tam sayı değerlerine dönüştürür. Bu, toplamda 1024 farklı olası değer anlamına gelir. İşte analogRead() komutu bize bu 0-1023 arasındaki dijital değerleri verir.

Arduino Uno’da referans voltajını yapılandırmadığımızda varsayılan olarak 5V’tur. Referans voltajı 5V ise; 5000mV / 1023 = 4,88 mV. Her bir dijital değerin karşılığı 4,88 mV’tur. Buna çözünürlük voltajımız 4,88 mV diyebiliriz. analogRead() komutu; 0V’da 0 değerini, 4,88mV’da 1 değerini, 9,76mV’da 2 değerini okur.
analogRead() komutu ile elde ettiğiniz sayıyı gerçek voltaja dönüştürmek için şu formülü kullanabilirsiniz:
Voltajı elde ettiğimize göre artık bunu sıcaklığa dönüştürebiliriz. LM35DZ her santigrat derece için 10 mV (veya 0,01 V) ürettiğinden sıcaklığı hesaplamak için Vout’u 10mV(veya 0,01)’a bölmeniz gerekir:

Vout=1 x 4,88 = 4,88 mV, Sıcaklık=4,88 / 10 = 0,48 ⁰С.
Vout=2 x 4,88 = 9,76 mV, Sıcaklık=9,76 / 10 = 0,97 ⁰С.
Vout=3 x 4,88 = 14,64 mV, Sıcaklık=14,64 / 10 = 1,46 ⁰С.
Vout=4 x 4,88 = 19,52 mV, Sıcaklık=19,52 / 10 = 1,95 ⁰С.
Vout=5 x 4,88 = 29,28 mV, Sıcaklık=29,28 / 10 = 2,92 ⁰С.
olur.
Sıcaklığı bu şekilde bulabiliriz. Fakat burada dikkat edilmesi gereken birkaç nokta vardır: Referans voltajını 5V olarak aldığımız zaman analogRead() komutu 4,88mV’un tam katlarında bir değer okur. Yani 4,88mV’da, 9,76mV’da, 14,64mV’da, 19,52mV’da……… gibi ama LM35DZ’nin çıkışı, sıcaklık her 1°C arttığında 10mV artar. 4,88mV’lik artışlarla 10mV’luk artışlar kolay kolay aynı katta birleşmez. Bu nedenle 10mV’un tam katlarında okuma yapamayabiliriz. Bu durumdan dolayı hesaplanan sıcaklık değeri çoğu zaman gerçek sıcaklık değerine yakın, virgüllü değer çıkar. Bunun önüne geçmek için referans voltajını 1,1V ya da 3,3V yapabiliriz. Referans voltajını 1,1V yaparsak yeni çözünürlük değerimiz 1100mV / 1023 = ~ 1mV olur. Yani her bir dijital değerin karşılığı 1mV olur. Daha küçük değerlerde, dolayısıyla daha sık okuma yapacağımız için çözünürlüğü artırmış oluruz. Bu durumda 10mV’un tam katlarında voltaj değeri okuyabilir ve gerçek sıcaklık değerlerine daha yakın sıcaklık değerleri okuyabiliriz.
Referans voltajını 1,1V yaptığımızda gerçeğe daha yakın değerler okuyabiliriz ama bu seferde LM35DZ’nin yüksek sıcaklıklardaki çıkış voltajlarını okuyamayız. Çünkü referans voltajını 1100mV’tur. Oysaki LM35DZ maximum 150°C’de 1500mV çıkış verir. 3,3V ya da farklı referans voltajları kullanabiliriz. Oda sıcaklığında uygulama yapacağımız için referans voltajını 1,1V ve 5V olarak alarak farklı Arduino uygulamaları yaptık.

Vout=10 x 1 = 10 mV, Sıcaklık= 10 / 10 = 1 ⁰С.
Vout=20 x 1 = 20 mV, Sıcaklık= 20 / 10 = 2 ⁰С.
Vout=30 x 1 = 30 mV, Sıcaklık= 30 / 10 = 3 ⁰С.
Vout=40 x 1 = 40 mV, Sıcaklık= 40 / 10 = 4 ⁰С.
Vout=50 x 1 = 50 mV, Sıcaklık= 50 / 10 = 5 ⁰С.
olur.
Yapılan uygulamalarda teoride olduğu gibi tam dereceler çıkmasa da gerçeğe daha yakın değerler elde edilmiştir. Oda sıcaklığında referans voltajını 5V aldığımızda çıkan sonuçlarla 1.1V aldığımızda çıkan sonuçlar arasında 1⁰С fark bulunduğu gözlemlenmiştir.