LCD'li Termometre
Başlangıç30 dkSıcaklığı ve nemi Seri Monitör yerine 16x2 LCD ekranda gösteren, bilgisayara bağlı kalmadan masada durabilen küçük bir cihaz. DHT11 iki saniyede bir okunur; ekranın üst satırında sıcaklık, alt satırında nem görünür. I2C ile yalnızca iki veri kablosuyla ekran sürmeyi, iki kütüphaneyi birlikte kullanmayı ve ekranda bir satırı silmeden güncellemeyi öğretir. Kitaplık Yöneticisi'nden "LiquidCrystal I2C" ve "DHTlib" kütüphaneleri kurulur.
Uygulamada adım adım yapGerekli malzemeler
1 × Arduino Uno R3
1 × Breadboard 830 Pin (MB-102)
1 × DHT11 Sıcaklık/Nem Sensörü
1 × 16x2 Karakter LCD Ekran (I2C modüllü)
5 × Jumper Kablo - Erkek/Erkek
4 × Jumper Kablo - Erkek/Dişi
Bağlantı adımları
- 1
Güç sıralarını bağla (5V ve GND)

Kırmızı jumper kabloyu Arduino'nun güç başlığındaki 5V pinine tak, diğer ucunu breadboard'un alttaki kırmızı çizgili (+) güç sırasına bağla. Siyah kabloyu aynı başlıktaki GND pinlerinden birine tak, diğer ucunu alttaki mavi çizgili (−) güç sırasına bağla. Uno'da tek 5V pini var; bu iki sıra 5V ve GND'yi hem sensöre hem ekrana dağıtacak.
- Arduino 5V → alttaki kırmızı çizgili (+) sıra (kırmızı kablo)
- Arduino GND → alttaki mavi çizgili (−) sıra (siyah kablo)
- 2
DHT11'i tak ve bağla

DHT11 modülünü breadboard'un alt yarısına tak: + pini 6., DATA pini 7., − pini 8. sütuna gelsin. Kısa kırmızı bir kabloyla 6. sütunu alttaki (+) sıraya, kısa siyah bir kabloyla 8. sütunu alttaki (−) sıraya bağla. Sonra mavi kabloyla Arduino'nun 2 numaralı pinini 7. sütuna bağla (DHT_PIN 2). Modülün üzerinde gerekli direnç hazır olduğu için ayrıca direnç gerekmez.
- DHT11 + pini → 6. sütun, alt yarı
- DHT11 DATA pini → 7. sütun, alt yarı
- DHT11 − pini → 8. sütun, alt yarı
- 6. sütun, alt yarı → alttaki kırmızı çizgili (+) sıra (kırmızı kablo)
- 8. sütun, alt yarı → alttaki mavi çizgili (−) sıra (siyah kablo)
- Arduino pin 2 → 7. sütun, alt yarı (mavi kablo)
- 3
LCD ekranı bağla

Ekranı breadboard'a takma; arkasındaki I2C modülünün dört pinine erkek-dişi jumper kabloların dişi uçlarını tak. VCC'yi alttaki (+) sıraya, GND'yi alttaki (−) sıraya bağla. SDA'yı sarı kabloyla Arduino'nun A4 pinine, SCL'yi yeşil kabloyla A5 pinine bağla. I2C sayesinde ekranın 16 pini yerine yalnızca bu iki veri kablosu yeter; Uno'da aynı SDA ve SCL hatları AREF'in yanındaki iki pinde de vardır.
- LCD GND → alttaki mavi çizgili (−) sıra (siyah kablo)
- LCD VCC → alttaki kırmızı çizgili (+) sıra (kırmızı kablo)
- Arduino A4 → LCD SDA (sarı kablo)
- Arduino A5 → LCD SCL (yeşil kablo)
Arduino kodu
// Kitaplık Yöneticisi'nden kurulacaklar:
// "LiquidCrystal I2C" ve "DHTlib"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht.h>
// DHT11'in veri (DATA) pini
const int DHT_PIN = 2;
// Ölçümler arası süre (ms): DHT11 yavaş
const unsigned long READ_EVERY = 2000;
// I2C adresi çoğunda 0x27, bazısında 0x3F
LiquidCrystal_I2C lcd(0x27, 16, 2);
dht DHT;
void setup() {
lcd.init();
lcd.backlight();
lcd.print("Olculuyor...");
Serial.begin(9600);
}
void loop() {
delay(READ_EVERY);
int chk = DHT.read11(DHT_PIN);
if (chk != DHTLIB_OK) {
// Okunamadı: ekranda da söyle
lcd.setCursor(0, 0);
lcd.print("Sensor hatasi ");
lcd.setCursor(0, 1);
lcd.print("Kablolara bak ");
Serial.println("Sensör okunamadı");
return;
}
// LCD'de Türkçe harf yok: "Sicaklik"
lcd.setCursor(0, 0);
lcd.print("Sicaklik: ");
lcd.print(DHT.temperature, 0);
// 223: LCD'nin derece işareti
lcd.print((char)223);
// Sondaki boşluklar eski yazıyı siler
lcd.print("C ");
lcd.setCursor(0, 1);
lcd.print("Nem: ");
lcd.print(DHT.humidity, 0);
lcd.print(" % ");
Serial.print("Sıcaklık: ");
Serial.print(DHT.temperature, 0);
Serial.print(" °C Nem: ");
Serial.print(DHT.humidity, 0);
Serial.println(" %");
}
Seri Monitörde göreceğin
Sıcaklık: 24 °C Nem: 45 % Sıcaklık: 24 °C Nem: 46 % Sıcaklık: 25 °C Nem: 46 %
Bir kablo yerinde değilse
Sensör okunamadı
Sonuç
Açılışta ekranda "Olculuyor..." yazar; iki saniye sonra üst satırda sıcaklık (örneğin Sicaklik: 24°C), alt satırda nem (Nem: 45 %) görünür ve iki saniyede bir güncellenir. Sensörü avucuna alırsan sıcaklığın ve nemin yavaşça arttığını görürsün. Ekran yanıyor ama yazı yoksa, I2C modülünün üzerindeki küçük vidayı (kontrast) tornavidayla yazı belirene kadar çevir. Yine de yazı çıkmıyorsa ekranın adresi 0x3F olabilir: koddaki 0x27'yi 0x3F yap. Ekranda "Sensor hatasi" yazıyorsa mavi kablonun pin 2 ile 7. sütun (DATA) arasında olduğuna, 6. ve 8. sütunların doğru sıralara bağlandığına bak.
Uygulamada her bağlantıyı tek tek işaretle, envanterindeki parçalarla eşleştir ve kaldığın yerden devam et.
Uygulamada adım adım yap