Termometreler, sıcaklık ölçümü için uzun zamandan beri kullanılan kullanışlı aparatlardır. Bu projede mevcut ortam sıcaklığını gerçek zamanlı olarak 16x2 LCD birimde görüntülemek için Arduino tabanlı bir dijital termometre yaptık. Sıcaklığı ölçmek için evlerde, ofislerde, endüstrilerde vb. Kullanılabilir. Bu Arduino tabanlı termometreyi üç bölüme ayırabiliriz - İlk bölüm LM35 sıcaklık sensörünü kullanarak sıcaklığı algılar, ikinci bölüm Arduino tarafından yapılan sıcaklık değerini Celsius ölçeğinde uygun sayılara dönüştürür ve sistemin son kısmı sıcaklığı gösterir. 16x2 LCD. Aynısı aşağıdaki blok diyagramda gösterilmiştir.
Arduino ile bu dijital sıcaklık sensöründe, tüm süreci kontrol etmek için Arduino Uno kullanılmaktadır. Ortam sıcaklığını algılamak için çıkış pinindeki her 10mV değişimde 1 derece sıcaklık veren bir LM35 sıcaklık sensörü kullanılır. LM35 sensörünün 1. pinine Vcc, 3. pinine Ground ve 2. pinine çıkış gerilimini bağlayarak voltmetre ile kolayca kontrol edebilirsiniz. Örneğin, LM35 sensörünün çıkış voltajı 250m volt ise, bu, sıcaklığın yaklaşık 25 santigrat derece olduğu anlamına gelir.
Arduino, Analog pin A0'ı kullanarak sıcaklık sensörünün çıkış voltajını okur ve bu Analog değeri, mevcut sıcaklığın dijital bir değerine dönüştürmek için hesaplama yapar. Hesaplamalardan sonra arduino bu hesaplamaları veya sıcaklığı uygun LCD komutlarını kullanarak 16x2 LCD birime gönderir. DHT11, DS18B20 ve diğer sıcaklık sensörlerini kullanarak başka dijital termometre projeleri de yaptık.
Devre Bileşenleri
Arduino
Bu projede tüm sistem sürecini kontrol etmek için bir Arduino kullandık. Arduino, ATmega AVR denetleyicisi üzerinde çalışan bir denetleyicidir. Arduino açık kaynak kodlu bir donanım platformudur ve proje geliştirme amacıyla çok kullanışlıdır. Piyasada Arduino UNO, arduino mega, arduino pro mini, Lilypad vb. Gibi pek çok Arduino kartı çeşidi bulunmaktadır veya Arduino'yu kendiniz de kurabilirsiniz.
LM35 Sıcaklık Sensörü
LM35, her 10mVolt değişiminde 1 derece Santigrat veren 3 pinli bir sıcaklık sensörüdür. Bu sensör, 150 santigrat dereceye kadar sıcaklığı algılayabilir. Lm35 sensörün 1 numaralı pini Vcc, ikincisi çıkış ve üçüncüsü Ground. LM35, en basit sıcaklık sensörüdür ve herhangi bir mikro denetleyici ile kolayca arayüzlenebilir. LM35 tabanlı projeleri kullanarak çeşitli Sıcaklık Ölçümlerini buradan kontrol edebilirsiniz.
Pin No |
Fonksiyon |
İsim |
1 |
Besleme gerilimi; 5V (+ 35V ila -2V) |
Vcc |
2 |
Çıkış voltajı (+ 6V ila -1V) |
Çıktı |
3 |
Zemin (0V) |
Zemin |
LM35, sıcaklığı ölçmek için Raspberry Pi, NodeMCU, PIC mikro denetleyici vb. İle kolayca arayüzlenebilir ve ayrıca sıcaklık seviyelerini göstermek için Op-amp ile bağımsız olarak kullanılabilir.
LCD ekran
16x2 LCD ünitesi, ucuz, kolay temin edilebilir, küçük boyutlu ve arayüzü kolay olduğu için gömülü sistem projelerinde yaygın olarak kullanılmaktadır. 16x2 iki satıra ve 16 sütuna sahiptir, yani 16 blok 5x8 noktadan oluşur. 8 veri biti D0-D7 ve 3 kontrol biti, yani RS, RW ve EN olan bağlantılar için 16 pin. Geri kalan pinler besleme, parlaklık kontrolü ve arka ışık için kullanılır.
Güç kaynağı
Arduino Board zaten dahili bir güç kaynağı bölümüne sahiptir. Burada sadece 9 voltluk veya 12 voltluk adaptörleri panele bağlamamız gerekiyor.
Devre Şeması ve Açıklama
İçin Devre digram Arduino ve LM35 Sıcaklık Sensörü kullanmadan Dijital Termometre, yukarıdaki şekilde gösterilmiştir. Bağlantıları şemada gösterildiği gibi dikkatlice yapın. Burada 16x2 LCD ünitesi doğrudan 4 bit modunda arduino'ya bağlanır. LCD'nin RS, EN, D4, D5, D6, D7 veri pinleri 7, 6, 5, 4, 3, 2 numaralı arduino dijital pinlerine bağlanır. Arduino'nun Analog pin A0'a bir sıcaklık sensörü LM35 bağlanır. Çıkış pininde her 10mV çıkış değişikliğinde 1 derece Santigrat sıcaklık.
Arduino'da yeniyseniz, önceki eğitimimizde 16x2 LCD'yi Arduino ile arayüzlemeyi öğrenin.
Arduino LM35 Kodu ve Açıklaması
LM35 kullanarak Sıcaklık Ölçümü kodu basittir ve bu eğitimin sonunda verilmiştir. Önce LCD ünitesi için kütüphane ekliyoruz ve ardından LCD ve sıcaklık sensörü için veri ve kontrol pinlerini tanımlıyoruz.
Analog pin'de analog değeri aldıktan sonra, bu değeri Analog okuma fonksiyonunu kullanarak okuruz ve bu değeri bir değişkene kaydederiz. Ardından aşağıdaki formülü uygulayarak değeri sıcaklığa dönüştürün.
float analog_value = analogRead (analog_pin); float Sıcaklık = analog_değer * faktör * 100 burada faktör = 5/1023 analog_değer = sıcaklık sensörünün çıkışı
Burada derece sembolü, özel karakter yöntemi kullanılarak oluşturulur
Bu yüzden Arduino ile sıcaklığı ölçmek için basit bir Dijital Termometre oluşturabiliriz . Demo video ile eksiksiz kod aşağıda verilmiştir.