Ş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
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
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.
0 yorum