Arduino – LM35 Sıcaklık Sensörü ve LCD ile Termometre Uygulaması
İsis programında göstereceğim. LM35 sıcaklık sensöründen okunan analog voltaja göre LM016L 2X16 lcd de gösterim yapacağız.
LM35 Sensörü hakkında biraz bilgi vereyim; Analog olarak çıkış verir. -55 ile 150 derece arasında ölçüm yapabilir.10mV/derece hasasiyetindedir.Ayrıca Arduino referans gerilimimiz 5V oldugundan dolayı analog okuma kanalından maksimum 5V okuyabiliriz.Arduino bu bilgiyi 10 bitlik bilgiye çevireceğinden dolayı 5V 1023 tam sayısına karşılık gelmektedir(0 da dahil).Buna göre 5/1023=0,0048=4,88mV hassasiyetinden ölçüm yapabileceğimiz anlamına gelir.
#include <LiquidCrystal.h> //LCD kütüphanesini ekledik. LiquidCrystal lcd(22, 23, 24, 25, 26, 27); //LiquidCrystal lcd( RS , ENABLE , D4 , D5 , D6 , D7) //pinlerimizi buna göre ayarlıyoruz. Arduinomuza bu şekilde tanımlayabiliriz. float sicaklik; // lcd de sonuç olarak gösterilecek değer float analogdeger; // sıcaklık sensöründen okunan analog voltaj int analogpin0=A0; void setup() { lcd.begin(16,2); //lcd.begin(sutunsayisi,satirsayisi) Lcd ekranımızı sütun ve satır sayısına göre kuruyoruz. } void loop() { baslangic(); // giriş yazıları analogdeger=analogRead(analogpin0); analogdeger = (analogdeger/1023)*5000;//değeri mV'a dönüştürür lm35 yapısı gereği bu işlemi yaptık sicaklik=analogdeger/10,0; // her 10mV 1 derece sıcaklık yaptığı için. 10 a bölerek sıcaklığı bulduk. lcd.clear(); lcd.setCursor(0,0); lcd.print("SICAKLIK DEGERI:"); lcd.setCursor(0,1); lcd.print(sicaklik);// float bir deger olduğu için tırnak kullanmadık dikkat edin lcd.setCursor(7,1); lcd.print("DERECEDIR"); delay(2000); } void baslangic() { lcd.clear(); //komutu ile ekranı temizliyoruz. lcd.setCursor(2,0); // komutu yazı yazacağımız adrese imlecimizi götürür.Burada (3,0) değeri //ilk satırın 3. karakter kutusuna yerleştirir. lcd.print("ATILGAN ARGE"); // lcd.print(""); komutu ile türkçe karakterler dışında çıktı yazı yazabiliriz. lcd.setCursor(3,1); lcd.print("INOVASYON"); delay(1000); }