
Şekil 1 – Seri I2C LCD Modülü
I2C modülü
I2C modülü ile LCD ekrana veriler 2 kablo ile gönderilir. Böylelikle LCD ekran kullanımındaki kablolamadan kurtulmuş oluyoruz. CM1602K model (Şekil 2)16x2 LCD ekran kullanıldı. LCD ekran 2 satırdan oluşmakta 1 satırda 16 karakter bulunmaktadır.

Şekil 2 - CM1602K Model 16x2 LCD Ekran
DHT 11 Modülü
DHT11 sıcaklık ve nemi aynı anda ölçen bir sensördür (Şekil – 3) . Sıcaklık ölçüm aralığı 0-50 °C hassasiyeti ±2 °C. Nem ölçüm aralığı ise %20-%90 hassasiyeti ± %5.

Şekil 3 – DHT 11 Modülü
LCD Ekran ve Seri I2C Modülünün Bağlantısı.
16x2 LCD ekran ve seri I2C modülünün bağlantısı aşağıdaki gibi yapıldı (Şekil 4).

Şekil 4 – 16x2 LCD ekran Ve Seri I2C Modülünün Bağlantı Şeması
Nem ve Sıcaklık Ölçüm Devresi
İlk önce LCD ekran ve
i2c modülünün bağlantısı yapıldı (Şekil 5). Daha sonra şekil 6 daki devre kurulu.

Şekil 5 - LCD ekran Ve Seri I2C Modülü
Şekil 6 - Sıcaklık ve Nem Ölçüm Devresi
#include <Wire.h>
#include <LiquidCrystal_I2C.h> #include <DHT11.h>
#include <Math.h>
int pin=8;
DHT11 dht11(pin);
// LCD ekan Tanımlanıyor
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);
void setup()
{
lcd.begin (16,2);
}
void loop()
{
float nem,sicaklik;
int oku = dht11.read(nem,sicaklik); //Sensördeki veriler okunur
lcd.setBacklight(HIGH);
// Sıcaklık Yazdırmak için
lcd.setCursor(0,0); // Birinci karakter - Birinci satır
lcd.print("Temp :");
lcd.setCursor(6,0);
lcd.print(sicaklik, 2);
lcd.setCursor(11,0);
lcd.print((char) 223); //Derece işaretini yazdırmak için
lcd.setCursor(12,0);
lcd.print("C");
// Nem yazdırmak için
lcd.setCursor(0,1); // Birinci karakter - İkinci satır
lcd.print("Humid:");
lcd.setCursor(6,1);
lcd.print(nem, 2);
lcd.setCursor(12,1);
lcd.print("%");
delay(500);
}
lcd.setCursor(0,0); // Birinci karakter - Birinci satır
lcd.print("Temp :");
lcd.setCursor(6,0);
lcd.print(sicaklik, 2);
lcd.setCursor(11,0);
lcd.print((char) 223); //Derece işaretini yazdırmak için
lcd.setCursor(12,0);
lcd.print("C");
// Nem yazdırmak için
lcd.setCursor(0,1); // Birinci karakter - İkinci satır
lcd.print("Humid:");
lcd.setCursor(6,1);
lcd.print(nem, 2);
lcd.setCursor(12,1);
lcd.print("%");
delay(500);
}
Proje Dosyaları
Proje dosyalarını aşağıdaki linklerden indirebilirsiniz.
- Arduino UNO Programı LCD_Nem_Sicaklik.ino
- LiquidCrystal_I2C.h
- DHT11.h
Ders Videosu