Maksimum 5V değerine sahip gerilimlerin bazı çevirici fonksiyonlar kullanarak belirli sensörler aracılığıyla istenilen birime çevirmek mümkündür. Bu mantıkta sıcaklığın sensör üzerinde yarattığı gerilimi ölçerek gerekli hesaplama ile sıcaklık birimine çevirerek lcd ekran üzerine yazdırmakta mümkündür.
Örnek olarak Arduino Uno ile LM35 sıcaklık sensöründen okuduğumuz gerilimi santigrat cinsinden LCD ekran üzerine bastırılmasını sağlayabiliriz.
LM35 sıcaklık sensörü 3 girişli bir sensördür aşağıdaki resimde bu girişlerin sağladığı değerler görülmektedir.
2 numaralı OUT kısmından sensör üzerindeki gerilim değeri 10V olarak sunulur bunun matematiksel karşılığıda her 1 santigrat için 10V eşitliği sağlanır. Kodlamada santigrat çevrimi yaparken bu formül uygulanarak ekrana yansıtılacaktır.
Arduino ve sıcaklık sensörü üzerindeki gerilimi dengelemek için potansiyometre kullanılmalı. Ekran üzerindeki voltaj yoğunluğunu potansiyometre aracılığı ile ayarlayabiliriz.
Malzemelerimizi kullanacağımız diyagram aşağıdaki şekilde olacaktır.
Bağlantıları sağlarken LCD ekran çeşitliliği olabilir elinizdeki ekranın arka tarafında 1’den 16’ya kadarlık gidişat mevcuttur. Yukarıdaki resimde 1 en sağda 16 en solda olacak şekilde tasarlanmıştır.
Sensör ve bağlantıları tamamladıktan sonra Arduino IDE’si üzerinde yazacağımız kodlar aşağıdaki şekilde olacaktır. Kodların üzerinde gerekli yorumlar ile detaylı açıklamaları bulabilirsiniz.
#include <LiquidCrystal.h>
// Ekranı bağladığımız pinlere göre LCD kütüphanesi derlenir.
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int SicaklikPin = 0; // LM35 Sensörü A0 pinine bağlı
int OkunanDeger; // A0’dan okunacak değer 0-1023 aralığında LM35’in vereceğı en büyük okuma değeri 1V=205 olacaktır.
int Sicaklik;
void setup() {
// LCD Ekranın 16 sütun 2 satır olduğu tanımlanır.
lcd.begin(16, 2);
// İlk satırda Oda sıcaklığı string olarak yazdırılır.
lcd.print(“Oda sicakligi:”);
}
void loop() {
OkunanDeger = analogRead(SicaklikPin);
Sicaklik = map (OkunanDeger, 0, 205, 0, 100); //(0-1v 0-205 okuma değerini, 0-100 sıcaklığa dönüştür.)
lcd.setCursor(0, 1);
lcd.print(Sicaklik); // Sıcaklık değerini yazdırır.
lcd.print(” Derece”); // değerin yanına DERECE olarak string yazılır
delay (1000); // Bu işlemi 1 saniyede tekrarlaması için döndürülür.
}
Sonuç olarak kodları arduino’ya yükledikten sonra görünecek arayüz aşağıdaki gibidir.