Tarih: 19.07.2024 14:06
Bu projede DHT11 sensörümüzü Arduino Uno kartımıza bağlayarak ortamın anlık olarak sıcaklık ve nem değerlerini Arduino'nun seri portuna yazdıracağız. Okuduğumuz değerlere göre farklı işlemler yaptırabiliriz. Örneğin bu projeye DC Motor Fan modülü ekleyerek sıcaklığa bağlı fan projesi gerçekleştirebilirsiniz. Eğer sıcaklık 30 derecenin üzerindeyse fanı çalıştır gibi bir kod yazarak projemizi yapabiliriz.
Bu projede DHT11 sensörümüzü Arduino Uno kartımıza bağlayarak ortamın anlık olarak sıcaklık ve nem değerlerini Arduino'nun seri portuna yazdıracağız. Okuduğumuz değerlere göre farklı işlemler yaptırabiliriz. Örneğin bu projeye DC Motor Fan modülü ekleyerek sıcaklığa bağlı fan projesi gerçekleştirebilirsiniz. Eğer sıcaklık 30 derecenin üzerindeyse fanı çalıştır gibi bir kod yazarak projemizi yapabiliriz.
Gerekli Malzemeler:- Arduino Uno BreadBoard
- DHT11 Sıcaklık ve Nem Sensörü
- Jumper Kablo
Teknik Özellikler:- Model: DHT11
- Çalışma Gerilimi: 3.3V - 5V
- Sinyal İletim Aralığı: 20m
- Çıkış Tipi: Dijital (Haberleşme)
- Nem Ölçüm Aralığı: %20 - 95 RH
- Nem Ölçüm Hatası : +/- %5
- Sıcaklık Ölçğm Aralığı: 0°C ile 50°C
- Sıcaklık Ölçüm Hatası: +/- 2°C
Devre Şeması: Projede DHT11 sensörü dijital çıkışlı bir sensör olduğu için Arduino'nun dijital pinlerinden birine bağlanmıştır. Bu projede DHT11 sıcaklık ve nem sensörü modülü ile ortamın sıcaklık ve nem değerleri ölçülecektir. Sensörün okuduğu sıcaklık değeri 29'dan büyükse kart üzerinde dijital 13 pinine bağlı olan LED yanacak, 29'dan küçükse LED yanmayacaktır. Projede DHT11 sıcaklık ve sensör modülü ile Arduino Uno Breadboard kullanılmıştır.
Arduino Kodu:/* ALPGEN Robotics */// Sıcaklık ve Nem Sensörü DHT11 Kullanımı// 13.06.2024 // Soru ve Yardım İçin: proje@alpgenrobotics.com// www.alpgenrobotics.com //#include<dht11.h> // dht11 kütüphanesini tanımlandıintled=13; // led Dijital 13'e tanımlandıintDHT11_pin=2; // DHT11_pin Dijital 2'ye tanımlandıdht11DHT11_sensor;// DHT11_sensor adında bir DHT11 nesnesi oluşturulduvoidsetup() // Başlangıç Ayarlamaları{
pinMode(led,OUTPUT);// led çıkış olarak ayarlandı
Serial.begin(9600); // Seri haberleşme hızı 9600 Baudrate ayarlandı}voidloop() // Sürekli Tekrar Edecek Olan Döngü{
intchk=DHT11_sensor.read(DHT11_pin);// Sensörden tüm veriler alındı ve değişkene atandı
// Sensörden gelen veriler serial monitöre yazdırıldı
Serial.print("Nem Orani (%): ");
Serial.println((float)DHT11_sensor.humidity,2);
Serial.print("Sicaklik (Celcius): ");
Serial.println((float)DHT11_sensor.temperature,2);
if(DHT11_sensor.temperature>29)// eğer sıcaklık 29'dan büyükse
{
digitalWrite(led,HIGH); // led yansın
}
else // değilse
{
digitalWrite(led,LOW); // led sönsün
}
Serial.print("Sicaklik (Kelvin): ");
Serial.println(DHT11_sensor.kelvin(),2);
Serial.print("Sicaklik (Fahrenheit): ");
Serial.println(DHT11_sensor.fahrenheit(),2);
// Çiğ Oluşma Noktası
Serial.print("Cig Olusma Noktasi: ");
Serial.println(DHT11_sensor.dewPoint(),2);
Serial.println("------------------");
delay(1000); // 1000ms gecikme süresi}