#include <DHT.h> // dht11 kütüphanesini kodlarımıza dahil ediyoruz.
#include <LiquidCrystal.h>
/// Aşağıdaki pinler şu örneğe göre ayarlanmıştır : https://www.arduino.cc/en/Tutorial/LibraryExamples/HelloWorld
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int DhtPin=2; // DhtPin olarak Dijital 2'yi belirliyoruz.
DHT dht_sensor(5,DHT11); // dht_sensor adında bir DHT11 nesnesi oluşturduk.
void setup()
{
// LCD ekranın karakter sayısını belirtiyoruz
lcd.begin(16, 2);
Serial.begin(9600); // Seri iletişimi başlatıyoruz.
Serial.println("www.arduinomedia.com");
Serial.println("*********************");
}
int mod = 0; //Her loop'da farklı değer göstermek için bir sayaç belirliyoruz.
void loop()
{
// Sensör konrol ediliyor.
mod++;
if (mod > 2) {mod = 0;
}
int chk = dht_sensor.read(DhtPin);
// Sensörden okunan değerleri serial ekranda yazdırıyoruz.
Serial.print("Nem Orani (%): ");
float nem = dht_sensor.readHumidity();
Serial.println(nem, 2);
Serial.print("Sicaklik (Celcius): ");
float derec = dht_sensor.readTemperature();
Serial.println(derec, 2);
Serial.print("Sicaklik (Kelvin): ");
Serial.println((float)(273 + dht_sensor.readTemperature()), 2);
float fahren = dht_sensor.readTemperature(true);
Serial.print("Sicaklik (Fahrenheit): ");
Serial.println(fahren, 2);
// Çiğ Oluşma Noktası
Serial.print("Cig Olusma Noktasi: ");
Serial.println(dht_sensor.computeHeatIndex(derec, nem, false), 2);
Serial.println("------------------");
//Ekranı temizliyoruz ve en sol üst karekteri seçiyoruz
lcd.clear();
switch (mod) {
case 0:
lcd.print("Sıcaklık (C)");
lcd.setCursor(0,2);
lcd.print(derec);
break;
case 1:
lcd.print("Sıcaklık (F)");
lcd.setCursor(0,2);
lcd.print(fahren);
break;
case 2:
lcd.print("Nem");
lcd.setCursor(0,2);
lcd.print(nem);
break;
default:
break;
}
// Veriler her 3 saniyede bir veriler ekrana yazdırılacak.
delay(3000);
}