Sıcaklık sensörünün bacaklarının doğru bağlanabilmesi için yazılı yüzünün bize bakması önemlidir buna göre
en soldaki bacak Vcc = +5V
ortadaki bacak Out = Analog Çıkış Bacağı A0, A1, A2 hangisini isterseniz
en sağdaki bacak GND= Arduino üzerindeki GND pinlerinden birine bağlanır.
Çalışma Prensibi: Ortamın sıcaklığını doğrudan ölçmediğimizi bilmemiz gerekiyor. Bu ne demek lm35 üzerinden doğru bağlantıları yaptığımızda çıkış ucunda 0-1023 arasında değerler elde ediyoruz sebebi arduino üzerinde 10 bitlik adc kullanılmış olmasıdır. İşte tamda bu noktada lm35 i üreten firmanın bu elaman için yayınladığı değerlere ihtiyacımız var bunlara datasheet deniliyor. Demekki elimizdeki lm35 sensörünün üreticisini bilmemiz gerekiyor bilemez isek ne olacak ortalama birbiri ile aynı olabileceğini düşünerek bulduğumuz bir lm35 datasheetine göre hareket edebiliriz. Genelde lm5 ler 1 santigrat derece için 10mV çıkış verirler yani biz Vcc bacağından giriş gönderdiğimizde lm35 içerisinden ortamın sıcaklığına göre çıkış bacağından her 1 santigrat derece için 10mVolt çıkışa izin verilir.
Arduinomuzda 10bitlik adc den 0-1023 değeri aralığında çıkış aldığımız için önce bu dönüşümlerini yapmalıyız.
Örneğin lm35 out dan 45 değeri okunuyorsa bu değeri 1023 bölmeliyiz ve 5Volt ile çarpmalıyız ki kaç voltluk çıkış verdiğini bulalım.
Örneğin lm35 out dan 45 değeri okunuyorsa bu değeri 1023 bölmeliyiz ve 5Volt ile çarpmalıyız ki kaç voltluk çıkış verdiğini bulalım.
5volt nereden geliyor çünkü Anolog girişimizden 5volt girişi yaptık ve çıkış sinyalimize düşen gerilimi hesapladık. Örnek değerimizi yani 45 değerini yerine koyarsak.
çıkan değeri lm35 için milivolta dönüştürürsek bu değerin kaç santigrat dereceye karşılık geldiğini hesaplayabiliriz. Çünkü lm35 10 milivoltta 1 santigrat dereceyi işaret ediyordu.
1mV = 0,001Volt olduğuna göre
0,439882x1000 = 439,882mV eder bunuda 10 a bölersek 43,9 santigrat derece hesaplarız. İşte bu yapılan matematiksel işlemleri arduino kodumuz içerisinde de yazdığımızda ve gelen verileri işleyip parametreleri uyguladığımızda santigrat karşılığını elde edebiliriz.
Bu bilgiler olmadan ezbere yapılan her proje havada kalır önemli olan neyin nereden geldiğini araştırmak, bulmak ve öğrenmektedir. Sevgi ve saygılarımla...
Değerleri ve parametreleri kullanarak oluşturduğum kod aşağıdadır.
const int lm35_out=A0; // Buraya Analog pinlerden hangisine bağlarsanız onu tanımlarsınız.A0,A1...
int lm35_sonuc; // A0 a ulaşan değerleri toplayacağımız bir değişken tanımlıyoruz....
float voltajout; // A0 daki değeri voltaj karşılığını tutacağımız değişken...
float derece; // Parametreleri hesapladıktan sonra dereceyi tutacağımız değişken...
void setup()
{
Serial.begin(9600);
}
void loop()
{
lm35_sonuc=analogRead(lm35_out)//prob olarak tanımladığımız A0 pinimizden gelen değerleri alıyoruz.
Serial.print("lm35 out degeri=");
Serial.println(lm35_sonuc);
voltajout=(lm35_sonuc/1023.0)*5000 ;
Serial.print("lm35 voltaj degeri=");
Serial.println(voltajout);derece= volajout / 10.0 ;
Serial.print("ölçülen sıcaklık degeri=");Serial.println(derece);
delay(500);
}