📅 18 Nisan 2026, Cumartesi
📚 Ders Kitapları ✉ İletişim
@ydiner.gen.tr İlköğretim & Lise Düzeyi Kaynak Site "Bilgi paylaştıkça çoğalır"
🏠 Ana Sayfa
  • 🧊 3D Tasarım
  • Animasyon
  • ⚡ Arduino
  • 📌 Genel
  • 🎨 Grafik
  • Pardus
  • 💻 Programlama
  • Robotik ve Kodlama
  • 🗄️ SQL
  • 🌐 Web Tasarım
  • 🤖 Yapay Zeka
  • Arduino

    DHT11 sıcaklık ve nem sensörü kullanımı

    11 Aralık 2018 aydiner

    DHT11 sıcaklık ve nem sensörü ortamdaki sıcaklık ve nem değerlerini ölçerek dijital pin üzerinden arduinoya aktarabilen, kullanımı ve arduino bağlantısı oldukça basit olan bir sensördür.
    DHT11 düşük fiyatıyla bir çok arduino projesi için tercih edeilen bir sensördür. Sadece sensör olarak satıldığı gibi bir modüle entegre edilmiş olarak da satılmaktadır.
    DHT11 sıcaklık ve nem sensörü 0-50°C  arasında ve ± 2 ° C hassasiyetle sıcaklık, % 5 doğrulukla % 20-80 arasında nem değeri ölçebilmektedir.

    Kodu çalıştırmadan önce Arduino IDE’de aşağıdaki kütüphaneleri yüklemelisin:

    DHT11 Sensör Bağlantıları:

    • VCC5V (Arduino)
    • GNDGND (Arduino)
    • DATAD2 (Arduino)
    • 10KΩ dirençVCC ve DATA arasına

    I2C LCD Bağlantıları:

    • VCC5V (Arduino)
    • GNDGND (Arduino)
    • SDAA4 (Arduino Uno için)
    • SCLA5 (Arduino Uno için)

    💡 Not: Eğer Arduino Mega kullanıyorsan, SDA → 20, SCL → 21 pinlerine bağlamalısın.

    1. DHT Sensor Library (Adafruit)
    2. Adafruit Unified Sensor Library
    3. LiquidCrystal I2C Library (F. Malpartida veya NewLiquidCrystal önerilir)

    Kütüphaneleri yüklemek için:
    Araçlar > Kütüphane Yöneticisi → Arama kısmına yukarıdaki kütüphaneleri yazıp yükle.

     

    #include &lt;Wire.h&gt;<br />#include &lt;LiquidCrystal_I2C.h&gt;<br />#include &lt;DHT.h&gt;
    
    // DHT11 Tanımlamaları
    #define DHTPIN 2      // DHT11'in bağlandığı dijital pin
    #define DHTTYPE DHT11 // Kullanılan sensör tipi DHT11
    DHT dht(DHTPIN, DHTTYPE);
    
    // LCD I2C Adresi (Bazı modüllerde 0x3F olabilir, sorun olursa değiştir)
    LiquidCrystal_I2C lcd(0x27, 16, 2);  
    
    void setup() {
      Serial.begin(9600);
      Serial.println("DHT11 + I2C LCD Başlatılıyor...");
      
      dht.begin();
      lcd.init();  
      lcd.backlight(); // LCD arka ışığını aç
      lcd.setCursor(0, 0);
      lcd.print("Sicaklik &amp;amp;amp;amp;amp; Nem");
      delay(2000);
    }
    
    void loop() {
      delay(2000); // Okuma aralığı
      
      float temperature = dht.readTemperature(); // Santigrat derece
      float humidity = dht.readHumidity(); // Nem yüzdesi
    
      // Okuma hatası kontrolü
      if (isnan(temperature) || isnan(humidity)) {
        Serial.println("DHT11 Sensör Hatası!");
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Sensör Hatasi!");
        return;
      }
    
      // Seri Monitöre Yazdır
      Serial.print("Nem: ");
      Serial.print(humidity);
      Serial.print(" %\t");
      Serial.print("Sicaklik: ");
      Serial.print(temperature);
      Serial.println(" °C");
    
      // LCD'ye Yazdır
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Nem: ");
      lcd.print(humidity);
      lcd.print(" %");
    
      lcd.setCursor(0, 1);
      lcd.print("Sicaklik: ");
      lcd.print(temperature);
      lcd.print(" C");
    }
    
    

    Çalışma Mantığı DHT11’den sıcaklık ve nem okunur. Veriler Seri Monitör üzerinden görüntülenir. Değerler I2C protokolüyle çalışan 16×2 LCD ekranda gösterilir. 2 saniyede bir değerler yenilenir. 💡 Önemli Notlar: LCD ekranda yazılar kayboluyorsa veya yanlış çıkıyorsa, lcd.clear(); satırını kaldırmayı deneyebilirsin. I2C adresi bazen 0x27 yerine 0x3F olabilir.