Selam! 20x4 LCD ekran tedarikçisi olarak bana sık sık bu şık küçük ekranlarda sıcaklık değerinin nasıl görüntülenebileceği soruluyor. Bu nedenle, tüm süreç boyunca size yol göstermek için bu blog yazısını bir araya getirmeyi düşündüm.


Öncelikle 20x4 LCD ekrandan biraz bahsedelim. Pek çok proje için mükemmel bir seçimdir, özellikle de yeterli miktarda bilgi göstermeniz gerektiğinde. "20x4", satır başına 20 karakter ve toplamda 4 satır olduğu anlamına gelir. Bu size yalnızca sıcaklığı değil aynı zamanda birimler (Santigrat veya Fahrenhayt) gibi bazı ek ayrıntıları ve belki bir zaman damgasını görüntülemek için bol miktarda alan sağlar.
Şimdi teknik konulara dalmadan önce ilginizi çekebilecek diğer LCD ekranlardan da kısaca bahsedelim. Biraz daha küçük bir şey arıyorsanız,16x2 lcd ekran. Satır başına 16 karakter ve 2 satırdan oluşan bir klasik. Sonra şu var20x2 LCD Ekran, bu size biraz daha fazla genişlik sağlar ancak yine de yalnızca 2 satırdır. Ve eğer biraz daha fazla yükseklik istiyorsanız,16x4 lcd ekransağlam bir seçenektir.
Tamam, 20x4 LCD'ye dönelim ve sıcaklığı gösterelim. İhtiyacınız olan ilk şey bir sıcaklık sensörüdür. Bunlardan tonlarca var ama popüler olanı DHT11 veya DHT22. Bu sensörlerin kullanımı nispeten kolaydır ve size doğru sıcaklık okumaları verebilir.
Sensörünüzü aldıktan sonra onu mikro denetleyicinize bağlamanız gerekir. Bu örnek için Arduino kullandığınızı varsayacağım, ancak genel kavramlar diğer mikrokontrolörler için de geçerlidir.
Sıcaklık Sensörünün Arduino'ya Bağlanması
- Güç: DHT sensörünün VCC pinini Arduino üzerindeki 5V pinine bağlayın. Bu, sensörün çalışması için ihtiyaç duyduğu gücü sağlar.
- Zemin: Sensörün GND pinini Arduino üzerindeki GND pinine bağlayın. Bu elektrik devresini tamamlar.
- Veri: Sensörün veri pinini Arduino üzerindeki dijital pinlerden birine bağlayın. Diyelim ki pin 2'ye bağladık.
20x4 LCD'yi Arduino'ya bağlama
- Güç: LCD'nin VSS pinini GND'ye ve VDD pinini 5V'a bağlayın.
- Zıtlık: VO pinini bir potansiyometreye bağlayın. Bu, karakterleri net bir şekilde görebilmeniz için ekranın kontrastını ayarlamanıza olanak tanır.
- Kontrol Pimleri: RS pinini sırasıyla dijital pin 12'ye, EN pinini dijital pin 11'e ve D4 - D7 pinlerini sırasıyla dijital pin 5 - 8'e bağlayın. Bu pinler LCD'ye komut ve veri göndermek için kullanılır.
Kodu Yazmak
Artık her şey birbirine bağlı olduğuna göre kodu yazmanın zamanı geldi. İşte temel bir örnek:
#include <LiquidCrystal.h> #include <DHT.h> // LCD kütüphanesini arayüz pinlerinin numaraları ile başlatın LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // DHT sensörünü başlat #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { // LCD'nin sütun ve satır sayısını ayarlayın: lcd.begin(20, 4); // DHT sensörünü başlatın dht.begin(); } void loop() { // Sıcaklık veya nemin okunması yaklaşık 250 milisaniye sürer! // Sensör okumaları 2 saniyeye kadar 'eski' de olabilir (çok yavaş bir sensördür) float h = dht.readHumidity(); float t = dht.readTemperature(); // Herhangi bir okumanın başarısız olup olmadığını kontrol edin ve erkenden çıkın (tekrar denemek için). if (isnan(h) || isnan(t)) { lcd.setCursor(0, 0); lcd.print("DHT sensöründen okuma başarısız oldu!"); geri dönmek; } // LCD'de sıcaklığın gösterilmesi lcd.setCursor(0, 0); lcd.print("Sıcaklık: "); lcd.print(t); lcd.print("C"); gecikme(2000); }
Bu kodda neler olup bittiğini açıklayalım:
- Kütüphaneler: Biz şunları dahil ediyoruz:
Sıvı KristalLCD'yi kontrol etmek için kütüphane veDHTSıcaklık sensörünü okumak için kütüphane. - Başlatma: İçinde
kurmak()işlevi, LCD'yi doğru sayıda sütun ve satırla (20x4) başlatırız. Ayrıca DHT sensörünü de başlatıyoruz. - Sensörü Okumak: İçinde
döngü()fonksiyonuyla nem ve sıcaklığı DHT sensöründen okuyoruz. Okumalar geçersizse LCD'de bir hata mesajı görüntüleriz. - Sıcaklığın Görüntülenmesi: Okumalar geçerliyse, imleci LCD'deki ilk satırın başına getirip "Sıcaklık: " metnini, ardından sıcaklık değerini ve birimi " C" yazdırırız.
- Gecikme: Sensörü tekrar okumadan önce 2 saniyelik bir gecikme ekliyoruz. Bu, sensöre doğru okumalar yapması için yeterli zaman verir.
Ek Hususlar
- Birim Dönüşümü: Sıcaklığı Celsius yerine Fahrenheit cinsinden görüntülemek istiyorsanız aşağıdaki formülü kullanabilirsiniz:
t = dht.readTemperature(true);doğruparametre şunu söyler:okumaTemperature()Sıcaklığı Fahrenheit cinsinden döndürme işlevi. - Hata İşleme: Yukarıdaki kodda, sensör okumaları geçersizse yalnızca bir hata mesajı görüntülüyoruz. Vazgeçmeden önce sensörü birkaç kez tekrar okumayı denemek gibi daha karmaşık hata yönetimi ekleyebilirsiniz.
- Görüntü Biçimlendirmesi: Daha güzel görünmesi için ekran formatıyla oynayabilirsiniz. Örneğin, sıcaklık değerine dolgu ekleyerek her zaman aynı sayıda karakter kaplamasını sağlayabilirsiniz.
Çözüm
İşte bu kadar! Artık Arduino ve DHT sensörü kullanarak 20x4 LCD ekranda sıcaklık değerinin nasıl görüntüleneceğini biliyorsunuz. Birçok yönden genişletilebilecek eğlenceli ve kullanışlı bir projedir.
20x4 LCD ekranları veya diğer LCD ürünlerimizden herhangi birini satın almakla ilgileniyorsanız, sizden haber almak isteriz. Özel ihtiyaçlarınız hakkında bir görüşme başlatmak için bize ulaşmanız yeterli. Projeniz için mükemmel görüntüleme çözümünü bulmanıza yardımcı olmak için buradayız.
Referanslar
- Arduino Dokümantasyonu
- DHT Sensörü Veri Sayfası
- LiquidCrystal Kitaplığı Belgeleri
