Bu projede sıcaklık ve nem değerlerini ölçmek ve değerleri bir LCD ekranda görüntülemek için bulunduğumuz ortamda bir hava durumu istasyonu kuracağız.
Bu projede kullanılan nem sensörü, hem nemi hem de sıcaklığı ölçen aşağıda gösterilen nispeten ucuz DHT11'dir. Bulunduğu ortamdan bir değer okumak için kapasitif bir nem sensörü ve dirençli sıcaklık sensörü kullanır. Bu okumayı Arduino'ya voltaj olarak gönderir ve Arduino bunu ekranda görüntülenen okunabilir değerlere dönüştürür.
DHT11, dört pin veya üç pin ile birlikte gelir. Yukarıda gösterilen sensörün dört pini vardır, ancak pin 3'ü kullanmayacağınız için bu proje için her iki sürümü de kullanabilirsiniz.
Bir LCD (sıvı kristal ekran) ekran, aralarında bir sıvı kristal çözeltisi bulunan iki tabaka ve polarize edici malzemeden yapılır. Çözeltiden geçen akım bir sembolü veya karakterleri oluşturur.
LCD ekrana karakter göndermek için LiquidCrystal kütüphanesini kullanacağız. LiquidCrystal kütüphanesi karakterleri eşler ve mesajı çizimden ekrana kopyalamak için print.lcd komutlarını kullanır.
#include <LiquidCrystal.h> #include "DHT.h" #define DHTPIN 8 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); lcd.begin(16, 2); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(t) || isnan(h)) { lcd.setCursor(0, 0); lcd.print("DHT veri okunamadi."); } else { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Nem : "); lcd.print(h); lcd.print("%"); lcd.setCursor(0, 1); lcd.print("Sicaklik : "); lcd.print(t); lcd.print("C"); } }