27 Aralık 2016 Salı

Arduino, LM35 ve LCD Ekran ile Sıcaklık Ölçümü



Şimdiki projemizde lm35 i kullanarak lcd ekrana sıcaklı değerini yazdıracağız.Daha önceki derslerimizde LCd ekrana yazı yazdırmayı öğrenmiştik o konuyu geçtiğimiz varsayıyorum.Eğer bakmadıysanız buradan bakabilirsiniz.Bizim için önemli olan LM35 sensorunden gelen analog değeri okuyarak sıcaklık ile orantılamak olacak.Bir sensorden veri okuyup yorumlayacaksanız öne sensorun katalog bilgilerini gözden geçirmeniz gerekecek. Lm35 in datasheetinden sensorun sıcaklık ile çıkışını şu şekilde vermişler.




Görüldüğü gibi 1500 mV ta 150°C olduğunu söylüyor.Buradan oran orantı kurarak işlem yapacağız.Bizim analogRead komutu ile okuduğunuz değer 0-5V arasını 0-1023 arası olarak okuyor.
1500 mV hangi değere denk geldiğini bulmalıyız ki derce ile analog okunan değer arasında bağıntı kuralım.

                 5000mV            1023
                 1500mV               x
                ______________
                x = (1500*1023) /5 000= 306,9

Yani 306,9 değeri olarak verilmiş ama biz bunu integer olarak okuyacağımız için 307 değeri alalım ve diyelim ki 307 değeri geldiğinde ortam 150°C ye gelmiş demektir.Şimdi bir orantı daha kurarak işlemi tamamlıyoruz.

                 150°C           307
                 Sıcaklık         analogRead
                ______________
    *            Sıcaklık = (150*analogRead) /307

İşte yıldızlı orantı ile artık sıcaklık değerimiz bulabiliriz.
Şimdi devreyi kurup programı yükleyip çalıştırması kaldı.Bu arada unutmadan LM35 in bacak bağlantılarına datasheetten bakmak gerekir ki pin bağlantısını doğru yapalım.




Program:
#include <LiquidCrystal.h>
// LiquidCrystal(rs, enable, d4, d5, d6, d7) ilk komutu kullanarak pin bağlantılarını belirliyoruz.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 float sicaklik;
  int analogdeger;
void setup() {
  lcd.begin(16, 2); /* Kullandigimiz LCDnin sutun ve satir sayisini belirtmeliyiz */
  lcd.clear();
 }
void loop() {

  analogdeger=analogRead(A0);//Ao dan okuduğumuz LM35 değeri
  sicaklik = (150*analogdeger)/306;//formülümüzü yazdık
 
  lcd.setCursor(3, 0); /* Imlecin yeri 1. satir 3. sutun olarak ayarlandi */
  lcd.print("Sicaklik:"); /* Ekrana yazi yazalim */
  lcd.setCursor(5, 1); /* Imlecin yeri 2. satir 5. sutun olarak ayarlandi */
  lcd.print(sicaklik);//sicaklik değeri yazdırıldı.
}


Devre Şeması:


İşlem gayet basit kolay gelsin.





Disqus Yorumları Yükle

0 yorum