DHT11: sıcaklık ve nemi ölçmek için sensör hakkında her şey

DHT11

Sıcaklık ve nem ölçümü çok yaygındır birçok elektronik yapımcı projesinde. DIY'de belirli sistemleri kontrol etmek için bu parametreleri ölçmek zorunda kalmak yaygındır. Örneğin, sıcaklık veya nem belirli bir değere ulaştığında devreye giren bir soğutma, bitki bakımı veya iklimlendirme sistemi oluşturabilmek için. Ancak bunun mümkün olması için DHT11 gibi bir sensöre ihtiyacınız var.

Marketin içinde birçok sensör var desteklenen sıcaklık aralıkları veya farklı hassasiyetlerle çok farklı sıcaklık aralıkları. Buna bir örnek Elektronikte en popüler olanlardan biri olan ve kullanılan LM35. Analog Cihazlardan AD22103KTZ gibi iletkenlik değişimiyle hareket eden başka nem sensörleri de vardır. Ancak her iki parametreyi de ölçmek istiyorsanız, belki de bugün bu makalede tartıştığımız cihaz çok daha ilgi çekicidir ...

DHT11 nedir?

El DHT11, sıcaklığı ve nemi ölçen basit bir sensördür, hepsi bir arada. A) Evet iki sensör satın almanız gerekmeyecek ayrı ayrı. Fiyatı yaklaşık 2 €, bu yüzden oldukça ucuz, ancak Arduino için bu tür elektronik bileşenlerde olağan olduğu gibi bir modüle (kullanım kolaylığı için bir PCB üzerine monte edilmiş) monte edilmiş olarak da bulabilirsiniz. Kart durumunda, 5 kilo ohm kaldırma direnci ve bizi operasyon konusunda uyaran bir LED içerir.

DHT11'de kalibre edilmiş dijital sinyali sayesinde yüksek güvenilirlik ve kararlılık. Ayrıca veri sayfasına bakarsanız ilerideki bölümlerde göreceğiniz gibi ilginç özelliklere sahip olduğunu göreceksiniz.

Benzer ürünler

DHT22

İlginizi çekebilecek DHT11 benzeri bir ürün var. Bu DHT22. Aynı zamanda entegre bir sıcaklık ve nem sensörüdür, ancak bu durumda fiyatı biraz daha yüksektir, yaklaşık 4 €. Sıcaklığı ölçmek için doğruluk, DHT5 gibi% 11 değişimdir, ancak bunun aksine,% 20 ile% 80 arasındaki nem aralığının ötesinde ölçüm yapar. Bu nedenle, nemi% 22 ile% 0 arasında ölçmeniz gereken projeler için DHT100 ilginizi çekebilir.

La veri toplama sıklığı aynı zamanda DHT11'in iki katıdır, DHT22'de DHT2'den saniyede 1 örnek yerine saniyede 11 örnek alınır. Sıcaklığa gelince, -40ºC ile + 125ºC arasında daha hassas ölçüm yapabilir, çünkü derecelerin kesirlerini ölçebilir, özellikle artı / eksi 0,5ºC değişimlerini takdir edebilir.

Pinout, özellikler ve veri sayfası

DHT11 pin çıkışı

Hakkında epey teknik bilgi bulabilirsiniz. Veri sayfalarınızda DHT11. Bu aygıtın her üreticisi, değişebilen bazı değerler sağlayabilir, bu nedenle, satın aldığınız aygıtın belirli üreticisinin PDF dosyasını her zaman okumanızı tavsiye ederim. Çoğu değer size aynı görünse de, birinden diğerine bazı küçük farklılıklar olabilir. En önemli teknik özellikleri:

  • 3,5v - 5v arası güç kaynağı
  • 2,5mA akım tüketimi
  • Dijital çıkış sinyali
  • 0ºC ile 50ºC arası sıcaklık aralığı
  • 25ºC'de yaklaşık 2ºC değişiklikte sıcaklığı ölçmek için doğruluk
  • Sıcaklığı ölçmek için çözünürlük 8 bit, 1ºC'dir
  • Nem% 20 Bağıl Nem ile% 90 Bağıl Nem arasında ölçülebilir
  • 5-0ºC arasındaki sıcaklıklarda% 50 bağıl nem için doğru
  • Çözünürlük% 1 RH'dir, bunun altındaki varyasyonları yakalayamaz
  • Mouser Veri Sayfası

Verilerle ilgili olarak, dijital yayın. Bu nedenle diğer sensörlerde olduğu gibi analogdan dijitale geçmek gerekli değildir. Bu, kodun Arduino IDE'ye yazılmasını zorlaştırdı, ancak bu durumda gerekli değildir ve çok daha kolaydır. Sensörün kendisi analog olmasına rağmen, dönüşümü gerçekleştirmek için bir sistem içerir ve doğrudan Arduino'nun bir dijital girişine bağlanabilir.

Sensörden gelen voltajın bir varyasyonu olan analog sinyal, Arduino mikrodenetleyicisine gönderilmek üzere dijital formata dönüştürülür. İçinde iletilir 40 bitlik bir çerçeve DHT11 tarafından yakalanan nem ve sıcaklık bilgilerine karşılık gelir. 8 bitlik ilk iki grup nem içindir, yani bu çerçevenin en önemli 16 biti. Sonra diğer 2 kalan 8 bitlik grup sıcaklık için. Yani, nem için iki bayta ve sıcaklık için iki bayta sahiptir. Örneğin:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

Bu durumda 0011 0101 0000 0010 nem değeri, 0001 1000 0000 0000 ise sıcaklıktır. İlk bölüm tam sayı bölümü için ve ikinci bölüm ondalık sayılar içindir. 0011 1001'e gelince, yani son 8 bit eşittir hataları önlemek için. Bu şekilde, iletim sırasında her şeyin doğru olup olmadığını kontrol edebilirsiniz. Önceki bitlerin toplamına karşılık gelir, bu nedenle, toplam pariteye eşitse, doğru olacaktır. Benim koyduğum örnekte böyle olmazdı, çünkü gördüğünüz gibi uyuşmuyor ... Bu bir başarısızlığa işaret eder.

Bu bilindikten sonra, DHT11'in not edilmesi gereken bir sonraki teknik seviyesi pimlerdir. kişiler veya pin çıkışı Bu cihazın sadece 4 tanesi olduğu için basittir. Pinlerden biri güç veya Vcc içindir, diğeri I / O veri iletimi için, bağlanmayan bir NC pini ve toprak bağlantısı için GND'dir.

Arduino ile entegrasyon

DHT11'i Arduino ile bağlama

DHT11'in pinout'unu öğrendikten sonra ve ayrıca Arduino kartı, bağlantı çok basit. PCB'ye entegre edilmiş bir DHT11 modülü seçtiyseniz, işleri kolaylaştırmak için NC kaldırıldığı için pinlerin üç olacağını unutmayın. Yapmanız gereken tek şey, topraklama pimini önceki görüntüdeki şemada göründüğü gibi Arduino'nun GND bağlantılarından birine bağlamaktır.

Öte yandan, güç pimi de bağlanmalıdır. Arduino'dan 5v bağlantısı, bu nedenle sensör tamamen GND ve Vcc ile güçlendirilecektir, ancak şimdi veriler eksik. DHT11 sensöründen gelen verileri Arduino kartına iletmek için, görüntüde görünen 7 gibi dijital girişlerden herhangi birini kullanabilirsiniz ... Artık gerekli Arduino IDE'yi oluşturduktan sonra onu kullanmak için her şeye hazırsınız. kod ...

Sensör projenizde çok uzaktaysa ve 20 metreden daha uzun bir kablo kullanacaksanız, 5k kaldırma direnci kullanın, daha büyük kablolar için orantılı olarak daha büyük olmalıdır. 3,5v yerine 5v güç kullanırsanız, voltaj düşüşlerinden dolayı kablonun 20 cm'den uzun olmaması gerektiğini unutmayın.

Unutmayın, tavsiye ettikleri şey her 5 saniyede bir ölçüm yapın, DHT11'in çalışabileceği örnekleme frekansı daha yüksek olmasına rağmen, daha sık yapılırsa o kadar doğru olmayabilir.

Arduino IDE'deki kod

Doğrudan koda gidiyorum, bunu söyle Arduino IDE DHT11 ile hayatınızı kolaylaştıracak özelliklere sahip bir dizi mevcut kitaplığı kullanabilirsiniz. Örneğin, bunlardan biri, Adafruit sağlar. PDF'de Arduino ile başlayan bir başlangıç ​​kılavuzumuz olduğunu unutmayın. buradan ücretsiz indirin ve size yardımcı olabilir.

İlgili kitaplığı yükledikten sonra, kodu giriniz Arduino ile projeniz için DHT11 sıcaklık ve nem sensörünü kontrol etmek için. Örneğin:

#include "DHT.h"

const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Midiendo...");
 
   dht.begin();
}
 
void loop() {
   delay(2000);
 
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura del sensor DHT11");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" ºC ");
}


İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.