8. DERS – SERİ I2C MODÜLÜ İLE 16 X 2 LCD EKRAN ÜZERİNDE SICAKLIK VE NEM ÖLÇÜMÜ


Bu derste seri i2c modülü (Şekil 1) ve Arduino UNO ile 16x2 LCD ekran kontrolü yaptım. 5. Derste anlattığımız DHT11 sensörü ile sıcaklık ve nem ölçümü yapıp LCD ekran üzerinde görüntüledim.


Ş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

ARDUINO UNO Programı
#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);
}

Proje Dosyaları
Proje dosyalarını aşağıdaki linklerden indirebilirsiniz.
Ders Videosu