LM35 sensörü, 0 °C ile 100 °C arasında sıcaklık ölçümü yapabilen 3 bacaklı bir entegredir. Sıcaklığa bağlı olarak çıkışında analog gerilim verir. Çıkışta alınan gerilim sıcaklık ile doğrusal özellik gösterir.

Sensör çıkışı 10mv/°C(derece) olarak alınmaktadır. 10 °C sıcaklık için yaklaşık olarak çıkışta 100 mV gerilim görülmektedir. Bu gerilim değeri Arduino UNO kartının A0 analog giriş kanalına bağlanmıştır. Arduino UNO, 10 bit analog okuma özelliğine sahiptir. Çözünürlük olarak 5V/210=0.0048828125 Volt ≈ 4.88 mV'luk bir hassasiyetle analog sinyal örneklenebilmektedir.

angdeger = analogRead(A0);

angVolt = (angdeger * 5000) / 1023; temp = angVolt / 10.0;

Bu dönüşüm sonunda "temp" ile elde edilen değer ortamdaki sıcaklık değeri olacaktır.

8 adet data/komut pini, 3 adet kontrol pini üzerinden mikrodenetleyici ile iletişim sağlanır.

8 bit data hattı yerine istenildiğinde 4 bit data hattı ile de iletişim sağlanabilir. Uygulamamızda bizde 4 bit data üzerinden iletişim sağlanmaktadır.

Arduino kod geliştirme programı, karakter tabanlı LCD’lerin kullanımı için hazır fonksiyonları içeren kütüphane dosyasına sahiptir.

Bu dosya #include <LiquidCrystal.h> direktifi ile kaynak kod dosyasında çağrılmalıdır.

LiquidCrystal lcd(rs, enable, d4, d5, d6, d7);

Karakter tabanlı lcd donanımının bağlandığı pinleri tanımlar.

– LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

//LCD RS pini, Arduino 8 nolu pine

//LCD ENABLE pini, Arduino 9 nolu pine

//LCD D4 pini, Arduino 4 nolu pine

//LCD D5 pini, Arduino 5 nolu pine

//LCD D6 pini, Arduino 6 nolu pine

//LCD D7 pini, Arduino 7 nolu pine bağlantılı.

lcd.begin(cols, rows);

LCD başlangıç ayarlarını yapar, LCD’yi kullanıma hazırlar.

– lcd.begin(16, 2); //16 sütun 2 satır lcd başlat.

lcd.setCursor(col, row);

LCD imlecini col, row ile belirtilen sütun-satır noktasına götürür.

İlk satır ve sütün değerleri sıfır ‘0’ kabul edilir.

– lcd.setCursor(5, 2); //LCD imlecini 5.sütun 2. satıra götür.

lcd.print(" ");

LCD üzerinde yazı yazdırır.

– lcd.setCursor(0, 0); //LCD imlecini 0.sütun 0. satıra götür.

– lcd.print("Kocaeli"); //LCD’ye "Kocaeli" yazısı yaz.

– lcd.setCursor(0, 1); //LCD imlecini 0.sütun 1. satıra götür.

– lcd.print(sicaklik); //LCD’ye sicaklik değişkenindeki değeri 

KOD:

#include <LiquidCrystal.h>

#define RS 8

#define ENABLE 9

#define D4 4

#define D5 5

#define D6 6

#define D7 7

LiquidCrystal lcd(RS, ENABLE, D4, D5, D6, D7);

const int analogInPin = A0; // Analog giris pini

int sensorValue = 0; // Analog gerilim dijital donusum degeri

float sensormVolt = 0; // Analog giris gerilimi

float temp = 0;

void setup() {

lcd.begin(16, 2);

lcd.setCursor(0, 0);

lcd.print("SICAKLIK:");

}

 

void loop() {

sensorValue = analogRead(analogInPin);

sensormVolt = ((float)sensorValue * 5000) / 1023;

temp = sensormVolt / 10.0;

lcd.setCursor(0, 1);

lcd.print(temp);

lcd.print(" derece");    // devamına birimi olan derecece yaz.

delay (1000);            // Sonraki ölçümden önce 1 saniye bekle.

 

}


Yorum ekle


Güvenlik kodu
Yenile

SON YORUMLANANLAR

GELEN GİDEN SAYISI

372990
Bugün
Dün
Bu hafta
Geçen hafta
Bu Ay
Geçen Ay
Tümü
431
815
3224
362919
19521
24549
372990

Your IP: 93.89.232.254
2017-11-22 14:36