DHT11 (Sıcaklık Nem Sensörü) ile LCD 16x2 I2C Kullanımı, arduino ve mblock kodları (Arduino Dersleri, 19) Featured

Rate this item
(0 votes)

Bu dersimizde DHT11 ile ortamın sıcaklık ve nem bilgilerini LCD ekrana yazan ilgili temel bir uygulama yapacağız. Burada kullanacağımız ekranın sütun sayısı 16, satır sayısı ise 2dir.

Gerekli Malzemeler

1 adet Arduino Uno R3
1 adet LCD 16x2, i2c
1 adet DHT 11 sensör
7 adet jumper kablo (DE)

LiquidCrystal-I2C Kütüphanesini indirmek için tıklayın.
DHT  kütüphanesini indirmek için tıklayınız.

DHT11 Sıcaklık ve Nem Sensörü nedir?

DHT11 sıcaklık ve nem algılayıcı kalibre edilmiş dijital sinyal çıkışı veren gelişmiş bir algılayıcı birimidir. Yüksek güvenilirliktedir ve uzun dönem çalışmalarda dengelidir. 8 bit mikroişlemci içerir, hızlı ve kaliteli tepki verir. 0 ile 50°C arasında 2°C hata payı ile sıcaklık ölçen birim, 20-90% RH arasında 5% RH hata payı ile nem ölçer. (Robotistan, https://www.robotistan.com/dht11-isi-ve-nem-sensoru-kart)

Pin kullanımı: Pin GND, s pini dijital sinyal çıkış ve ortadaki pin ise 5V gerilim pinidir. Biizm bu örnekte kullandığımız DHT11 sıcaklık ve nem sensörü 3 pinli yapıya sahiptir.

 

LCD 16x2 i2c Kullanımı Devresi

i2c modülünde 4 pin vardır bunlar SDA, SCL, GND ve VCC. GND pini arduinoda GND pinine, VCC 5V'a bağlanır. SDA ve SCL pinleri ise arduino modellerine göre değişiklik gösterir. Arduino Uno kullandığımız bu projede SDA pini A4'e ve SCL pini de A5 pinine bağlanır.         



Kütüphane nedir? Arduino'ya kütüphane nasıl eklenir?

Bu uygulamamızda lcd ekranı ve DHT11 sensörünü kullanırken kütüphanelerden yararlanacağız. O yüzden kütüphane nedir ve arduinoya nasıl kütüphane eklenir sorularına cevap bulmaya çalışalım.

Arduino üzerinde kullanılan kütüphaneler ise ayrıca bir öneme daha sahiptirler. Bilindiği üzere arduino projeleri sadece programlama  ile gerçekleştirilmiyor. Programlamanın yanında elektronik bileşenler, çeşitli sensörler, butonlar vesaire bir sürü ek elemana da ihtiyaç duyuluyor. Bu elemanlardan bir çoğu ise kendi içerisinde başlı başına bir yapıya, çalışma örgüsüne sahip oluyor. Kısacası bu elemanlar ile arduino programlamasını birleştirecek ve köprü görevi görecek yapıları kütüphaneler oluşturuyor. (https://www.muhendisbilim.com/1363-arduinoda-kutuphaneler-ve-kullanimlari)
1- Taslak /  librar ekle / librarylieri düzenle menüsü seçilir ve arama kısmından ilgili kütüphane aranarak, bulunur ve yükleme işlemi yapılır.
2- .zip formatında indirdiğiniz kütüphaneleri eklemek için
Taslak/ library ekle/.zip kitaplığı ekle seçilir ve bilgisayarımıza indirdiğimiz zip uzantılı kütüphane dosyası seçilir.
3- zip/rar (sıkıştırılmış dosya) olarak herhangi bir yerden bilgisayarımıza indirdiğimiz kütüphaneyi önce zip/rar dan çıkarınız. Daha sonra klasörü arduinonun kurulu olduğu klasörde yer alan libraries klasörü içine kopyalarız. Genellikle belgelerim / arduino /libraries şeklindedir.

DHT11 ile LCD Kullanımı Kodları

Öncelikle  DHT11 sensörü ve lcd 16x2 için kütüphanelerimizi indirip yüklüyoruz. Kütüphane daha önceden bilgisayara yüklendiyse bir daha yüklemeye gerek yok .
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
DHT11 sensörümüzün bağlı olduğu pini ve sensörümüzün tipini belirliyoruz. Sonrasında lcd ekran ve i2c modülü için adres ve tip bildirimi yapıyoruz. LiquidCrystal_I2C lcd(0x27, 16, 2); 0x27 yerine 0x3f olabilir adresiniz veya farklı bir değer de olabilir. Bu konuyu lcd ekran uygulamamızda anlatmıştık.
Void Setup kısmında lcd ekranı ve sensörümüzü başlatıyoruz.
Ana kod kısmında yani void loop kısmında sıcaklık ve nem değerlerini alıp ekrana yazdırıyoruz.

 

#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2  //dhtyi bağladığımız pini yazdık
#define DHTTYPE DHT11  //dhtp sensör tipini yazdık
DHT sensorumuz(DHTPIN, DHTTYPE); //sensorumuz isimli bir nesne oluşturduk
LiquidCrystal_I2C lcd(0x27, 16, 2);   //lcd adres ve tipini yazdık, bazı lcdler için 0x3f


void setup()
{
  //lcd ve sensörümüzü başlattık
  sensorumuz.begin(); 
  lcd.begin();
}


void loop()
{
  //sicaklik ve nem bilgilerini alıyoruz.
  float sicaklik = sensorumuz.readTemperature();
  float nem = sensorumuz.readHumidity();
  //lcdye yazdırıyoruz
  lcd.home();
  lcd.print("Sicaklik:");
  lcd.print(sicaklik);
  lcd.setCursor(0, 1);
  lcd.print("Nem:");
  lcd.print(nem);
  lcd.setCursor(0, 2);
  delay(2000);
}

 

DHT11 ile LCD Kullanımı Mblock Kodları

Mblockta lcd 16x2 i2c kullanmak için öncelikle Uzantılar / Uzantıları Yönet kısmını tıklıyoruz ve arama kısmından arama yaparak LCD with I2C Interface Plus isimli kütüphaneyi indiriyoruz.  DHT11 sensörü için de aynı yöntemle dht11 extensions isimli kütüphaneyi yükleyelim.
Kodun en başında lcd i2c ayarlarını yapıyoruz. İkinci satırda dht11 i seçip kaç numaralı pine bağladıysak onu yazıyoruz. Sonrasında ise ilk satıra sıcaklık, ikinci satıra nem değerlerini yazdırdık.

 

Meraklı Mühendis
https://www.youtube.com/watch?v=Ctbopg5hPyg
Robotistan
https://www.youtube.com/watch?v=TBbtEqFV-p0

Mblock için Fenkolikler
https://www.youtube.com/watch?v=0H_Vze3F59g

 

 

CTRL Bizde

Kendi halinde bir kaç kişiyiz,. Karşılaştığımız sorunları çözmek için bazen "çok zaman" harcadığımızı fark edip

devamı

Yeni Eklenenler