Arduino ile LM35 Sıcaklık Sensörü Kullanımı-LM35 Uygulaması
Sıfırdan arduino derslerinin bu dersinde arduino ile LM35 kullanımı için gerekli LM35 arduino bağlantı devresini ve LM35 arduino kodlarını inceleyeceğiz.
Sıfırdan arduino derslerinin bu dersinde arduino ile LM35 kullanımı için gerekli LM35 arduino bağlantı devresini ve LM35 arduino kodlarını inceleyeceğiz.
Bu dersin sonunda;
- LM35 nedir?
- LM35 Arduino Projelerinde Hangi Amaçla Kullanılır?
- LM35 sıcaklık sensörü arduino bağlantısı nasıl yapılır?
- Arduino ile LM35 sıcaklık ölçümü nasıl yapılır?
sorularının detaylı cevaplarını vermiş olacağız.
LM35 Nedir? LM35 Nasıl Çalışır?
LM35 çok hassas ölçümü yapabilen bir sıcaklık sensörüdür. 4V ile 30 V arasında herhangi bir voltaj ile besleme yapılabilir. -55 ℃ ile 155 ℃ arasında ölçüm yapabilmektedir. 25 ℃’de, 0,5 ℃ hassasiyetle ölçüm yapabilmektedir.
LM35 sıcaklık sensörü, sıcaklık ile doğru orantılı olarak değişen bir çıkış voltajı üretir. Her 10mV’luk çıkış voltaj değişimi 1 ℃’ye denk gelir. Bu durumda ölçülen lm35 çıkış voltajını 10mV’a böldüğümüzde sıcaklık değerini elde ederiz. Örneğin, 250 mV bir çıkış için ölçülen sıcaklık değeri 25 ℃ olacaktır.
LM35 Arduino Projelerinde Hangi Amaçla Kullanılır?
LM35, arduino ile sıcaklık kontrolü gerektiren tüm projeler için kullanılabilmektedir. Örneğin sıcaklığa göre açılıp kapanan röle devrelerinde, akıllı ev projelerinde, uzaktan kontrollü ısıtma sistemlerinde LM35 ile hassas ölçümler yapabilmek mümkündür.
LM35 sıcaklık sensörü arduino bağlantısı nasıl yapılır?
Lm35 sıcaklık sensörünün üç bacağı bulunur. Bunlardan ikisi + ve – besleme bacakları iken ortadaki bacağı data bacağıdır ve arduino analog pinlerine bağlanmalıdır.
Aşağıdaki lm35 arduino bağlantı şemasını inceleyerek gerekli devreyi kuralım.
Devreyi hazırladıktan sonra lm35 arduino kodlarını yazalım.
Arduino ile LM35 sıcaklık sensörü kodları
Kodlara geçmeden önce LM35 analog çıkış pini sıcaklıkla orantılı olarak 0 ile 1.1 V arasında çıkış vermektedir. Bu nedenle analog pinden alınan 5V çıkışı 0 ile 1.1 V arasında çıkış verecek şekilde düzenlemeliyiz.
Bu işlem için analogReference (INTERNAL); komutunu kullanmalıyız. analogReference (); komutu, analog giriş için kullanılan referans voltajını yapılandırır. Bu sayede LM35 sıcaklık sensöründen en hassas şekilde yararlanabiliriz.
Normalde analog çıkışlardan 0 ve 5V için 0 ile 1023 arasında çıkış almaktayız. Fakat analogReference (); komutuyla analog çıkışı 0-1.1V (1100 mV) arasına indirgedik. Bu durumda her bir analog sinyale karşılık gelen miliVolt değerini hesaplamalıyız. Bu işlem için 1024/1100=0,931 yaklaşık değeri elde edilmektedir. Her 10 mV değişim 1 ℃ sıcaklığa karşılık geldiğini söylemiştik. Bu durumda sensörden okunan analog değeri 10 x 0,931 =9,31 değerine böldüğümüzde ölçülen sıcaklık değerini tespit etmiş oluruz.
Bu bilgilerden sonra şimdi arduino lm35 kodlarını yazalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
int lm35 = A5; int okunanVoltaj; float sicaklik; void setup(){ analogReference(INTERNAL); Serial.begin(9600); } void loop(){ okunanVoltaj = analogRead(lm35); sicaklik = okunanVoltaj / 9.31; Serial.print("Sıcaklık: "); Serial.println(sicaklik); delay(1000); } |
Kodları arduinoya yükledikten sonra arduino programının sağ üst köşesindeki büyüteç butonuna tıklayarak seri port ekranını açalım.
Seri port ekranını açtığınızda lm35 sıcaklık değeri gösterilmeye başlayacaktır.
ÖZET: Bu yazımızda arduino ile lm35 kullanımı için gerekli arduino lm35 bağlantısını ve arduino lm35 kodlarını inceledik.
Konu ile ilgili görüş, öneri ve düşüncelerinizi yorumlar bölümünden bize ulaştırabilirsiniz.
Yeni yazılardan anında haberdar olmak için arduinomedia facebook hesabını takip etmeyi unutmayın.
https://www.facebook.com/arduinomedia/
Diğer tüm arduino modül kullanımları ve örnek arduino projeleri için kardeş sitemizi incelemeyi unutmayın…
Bir sonraki dersimizde görüşmek dileğiyle…
Hocam Merhaba;
Uygulamanızı kendim uyguladım. ama serial port ekranında sıcaklık değeri stabilize değil. 30 dereceyi gösterirken 18lere hatta 0’lara kadar iniyor. bunun önüne nasıl geçerim.
Bağlantılarda temassızlık olabilir. LM35 gibi sensörler aslında lehimlenerek kullanıldığında daha stabil değerler döndürecektir. Ufak temassızlıklar değerlerin değişmesine neden olabilir.
Merhaba hocam,
Ben proteusta uygulamayı yaptım ama ekrana sürekli yazmasının önüne nasıl geçebilirim. Yani sadece lm35 te yazan dereceyi bir kere nasıl gösterebilirim ?
Kodları şu şekilde yeniden düzenle:
int lm35 = A5;
int okunanVoltaj;
float sicaklik;
void setup(){
analogReference(INTERNAL);
Serial.begin(9600);
okunanVoltaj = analogRead(lm35);
sicaklik = okunanVoltaj / 9.31;
Serial.print(“Sıcaklık: “);
Serial.println(sicaklik);
}
void loop(){
}
merhaba,
lm35 sensörü çalışmanın başlagıcında bile çok aşırı ısınmış oluyor. ekrana yazdığı sıcaklık değeri ise 27 dereceden 5 derece civarına düşüyor.
Merhaba,
Burada bir hata oldugunu dusunuyorum. Her bir sinyale gelen milivolt degerini hesaplamak istiyorsaniz 1100/1024 yapmalisiniz. Bu da 0,931 degil 1,074 civari yapar.
Tesekkurler,
Biz sensörü ısıtınca neden sıcaklık düşüyor artması gerekirken
Sensörü ısıtınca neden porttan çıkan sıcaklık azalıyor.