Bu yazımda da dijital pin aracılığıyla sıcaklık ve nem verileri sağlayan, ucuz, nispeten hassasiyeti az olan DHT11 dijital sıcaklık ve nem sensöründen bahsedeceğim.
DHT11 sıcaklık ve nem sensörü, dijital bir sensördür ve sıcaklık ve nem ölçümleri yapmak için kullanılır. Sensör, tek bir pimden oluşur ve sıcaklık ve nem ölçümleri için sırasıyla 5 ve 8 bit veri çıkışı sağlar.
DHT11 sensörü, ısıya duyarlı bir direnç, bir nemi ölçmek için bir kapasitör ve bir mikrodenetleyici içerir. Sensör, ısıya duyarlı direnç tarafından ölçülen sıcaklığı ve kapasitör tarafından ölçülen nem miktarını dijital olarak işler.
Sensör, 3 ila 5 voltluk bir besleme gerilimi ile çalışır ve veri çıkışı, bir mikrodenetleyici veya diğer dijital cihaza doğrudan bağlanabilir. DHT11 sensörü, düşük maliyeti ve basit kullanımı nedeniyle popüler bir seçimdir.
DHT11 sensörleri, ev otomasyonu, hava durumu istasyonları, akıllı tarım sistemleri, nemli ortamların izlenmesi ve daha birçok uygulamada kullanılabilir. Ancak, ölçüm doğruluğu bazen diğer sensörlere göre düşük olabilir ve sıcaklık ölçümleri genellikle -20 ila 60 derece Santigrat aralığında sınırlıdır.
Arduino ile kullanabilmek için gerekli kütüphaneyi indirmeniz gerekiyor. Kütüphaneyi indirmek için bu linke tıklayabilirsiniz.
Bağlantıları yaptıktan sonra aşağıdaki bağlantılardan indirebileceğiniz DHT11 kütüphanesini yüklüyoruz. (DHT11 klasörünü Arduino>libraries klasörüne kopyalıyoruz.)
Gerekli Malzemeler:
- Arduino
- DHT11 Sıcaklık Sensörü
- I2C'li 16x2 LCD ekran
- Jumper Kabloları
Bu işlemin ardından şu kodları yazmanız gerekiyor. Ayrıca, bir önceki dersimizde olduğu gibi LCD ekranın bağlantısını gerçekleştirmeyi unutmayın.
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
#include<dht11.h>
#define dht 2
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE);
dht11 DHT11;
void setup()
{
Serial.begin(9600);
lcd.setBacklight(HIGH);
lcd.begin(16,2);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
lcd.setCursor(2,0);
lcd.print("<<temprature>>");
delay(10000);
}
void loop()
{
int derece=DHT11.read(dht);
lcd.setCursor(0,1);
lcd.print("Nem(%):");
lcd.setCursor(7,1);
lcd.print((float)DHT11.humidity, 2);
delay(5000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Sicaklik:");
lcd.setCursor(9,1);
lcd.print((float)DHT11.temperature, 2);
lcd.setCursor(15,1);
lcd.print("C ");
delay(5000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Fahrenheit:");
lcd.setCursor(11,1);
lcd.print((float)DHT11.fahrenheit(), 2);
lcd.setCursor(15,1);
lcd.print("F");
delay(5000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Kelvin:");
lcd.setCursor(7,1);
lcd.print((float)DHT11.kelvin(), 2);
lcd.setCursor(14,1);
lcd.print("K");
delay(5000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Cig olusma:");
lcd.setCursor(11,1);
lcd.print((float)DHT11.dewPoint(), 2);
lcd.setCursor(15,1);
lcd.print("c");
delay(5000);
lcd.clear();
if((float)DHT11.temperature>=25.00){
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
}
else if((float)DHT11.temperature<25){
digitalWrite(8,LOW);
digitalWrite(7,HIGH);
}
}
2 Yorumlar
Bu guzel anlatim icin tesekkur ederim
YanıtlaSilRica ederiz takipte kalmayi unutmayin.
SilBizimle fikirlerinizi paylaşabilirsiniz.