Arduino ile DHT11 Sıcaklık ve Nem Sensörü LCD li

👤 Yazar: ozcan 📅 Tarih: 09.07.2026 07:12 👁️ Görüntüleme: 44

Arduino ile DHT11 Sıcaklık ve Nem Sensörü Verilerini I2C LCD Ekrana Yazdırma

Bu rehberde, projelerinizde ortamın sıcaklık ve nemini ölçmek için en çok kullanılan sensörlerden biri olan DHT11 sensörünü inceleyeceğiz. Sensörden aldığımız anlık nem ve sıcaklık değerlerini, bilgisayara ihtiyaç duymadan doğrudan 16x2 I2C LCD ekranımız üzerinde dinamik olarak görüntüleyeceğiz.

Gerekli Malzemeler

  • Arduino Uno
  • DHT11 Sıcaklık ve Nem Sensörü
  • I2C Modüllü 16x2 LCD Ekran
  • Jumper Kablolar

1. Devre Bağlantı Şeması

Hem ekranın hem de sensörün besleme (VCC ve GND) pinlerini Arduino'ya ortak bağlayabilirsiniz. Bağlantılarınızı yaparken aşağıdaki pin tablosunu referans alabilirsiniz:

Bileşen ve Pini Arduino Uno Pini
DHT11 VCC ve LCD VCC 5V (Breadboard yardımıyla ortak)
DHT11 GND ve LCD GND GND (Breadboard yardımıyla ortak)
DHT11 Data (Sinyal) Pin 2
LCD SDA A4
LCD SCL A5

Not: Eğer 4 pinli çıplak bir DHT11 sensörü kullanıyorsanız, VCC ile Data pini arasına 10k Ohm değerinde bir direnç (pull-up) bağlamanız gerekebilir. Eğer 3 pinli hazır modül halindeki DHT11 kullanıyorsanız, bu direnç modül üzerinde zaten mevcuttur ve doğrudan bağlayabilirsiniz.

arduino i2c lcd dht11


2. Gerekli Kütüphaneleri Ekleme

Bu projenin çalışması için bilgisayarınızda iki adet kütüphanenin kurulu olması gerekir:

  1. LiquidCrystal_I2C (Ekran için ilk derste kurmuştuk)
  2. DHT sensor library (Adafruit firması tarafından yazılanı kütüphane yöneticisinden aratıp "Kur" diyebilirsiniz. Kurarken "Install all dependencies" seçeneği çıkarsa hepsini kurmasını onaylayın).

3. Arduino Kod Blokları

Aşağıdaki kodu doğrudan kopyalayıp Arduino editörünüze yapıştırabilirsiniz. Pin tanımlamaları istekleriniz doğrultusunda (DHT=2, I2C=A4/A5) entegre edilmiştir.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

// DHT Sensör Ayarları
#define DHTPIN 2          // DHT11 veri pini Arduino Pin 2'ye bağlı
#define DHTTYPE DHT11     // Sensör tipimizi DHT11 olarak seçiyoruz
DHT dht(DHTPIN, DHTTYPE);

// I2C LCD Ekran Ayarları (Adres: 0x27, 16 Sütun, 2 Satır)
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  // LCD ekranı ve DHT sensörünü başlatıyoruz
  lcd.init();
  lcd.backlight();
  dht.begin();
  
  // Ekrana hoş geldiniz yazısı (isteğe bağlı)
  lcd.setCursor(0, 0);
  lcd.print("Sistem Aciliyor.");
  delay(1500);
  lcd.clear();
}

void loop() {
  // Sensörden nem ve sıcaklık değerlerini okuyoruz
  float nem = dht.readHumidity();
  float sicaklik = dht.readTemperature();

  // Okuma hatası olup olmadığını kontrol ediyoruz
  if (isnan(nem) || isnan(sicaklik)) {
    lcd.setCursor(0, 0);
    lcd.print("Sensor Hatasi!  ");
    return;
  }

  // 1. Satıra Sıcaklık Değerini Yazdırma
  lcd.setCursor(0, 0);
  lcd.print("Sicaklik: ");
  lcd.print((int)sicaklik); // Tam sayı olarak göstermek için (int) kullandık
  lcd.print(" C  ");

  // 2. Satıra Nem Değerini Yazdırma
  lcd.setCursor(0, 1);
  lcd.print("Nem: %");
  lcd.print((int)nem);
  lcd.print("    "); // Eski karakter kalıntılarını temizlemek için boşluk bıraktık

  delay(2000); // DHT11 sensörü her 2 saniyede bir yeni veri üretebilir
}

Sık Yaşanan "Sensör Hatası" Sorunu

Eğer ekranda sürekli "Sensor Hatasi!" yazısını görüyorsanız, DHT11 sensörünün veri (data) kablosunun tam olarak 2 numaralı pine temas ettiğinden emin olun. Ayrıca DHT11 sensörleri çok hızlı veri okumayı sevmez; bu nedenle delay(2000); komutundaki süreyi daha da düşürmemeye dikkat edin.

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1