DHT11: semua tentang sensor untuk mengukur suhu dan kelembapan

DHT11

Mengukur suhu dan kelembapan sangat biasa dalam banyak projek pembuat elektronik. Dalam DIY adalah biasa untuk mengukur parameter ini untuk mengendalikan sistem tertentu. Sebagai contoh, untuk dapat membuat sistem penyejukan, penjagaan kilang, atau penyaman udara yang dimulakan sekiranya suhu atau kelembapan mencapai nilai tertentu. Tetapi untuk menjadi mungkin anda memerlukan sensor seperti DHT11.

Di pasaran terdapat banyak sensor julat suhu yang sangat berbeza, dengan julat suhu yang disokong atau ketepatan yang berbeza. Contohnya ialah LM35, salah satu yang paling popular dan digunakan dalam elektronik. Terdapat juga sensor kelembapan lain yang bertindak dengan variasi kekonduksian seperti AD22103KTZ dari Analog Devices. Tetapi jika anda ingin mengukur kedua-dua parameter, mungkin peranti yang kita bincangkan hari ini dalam artikel ini lebih menarik ...

Apa itu DHT11?

El DHT11 adalah sensor sederhana yang mengukur suhu dan kelembapan, semua dalam satu. A) Ya anda tidak perlu membeli dua sensor secara berasingan. Harganya sekitar € 2, jadi cukup murah, walaupun anda juga dapat memasangnya di modul (dipasang pada PCB untuk kemudahan penggunaan) seperti biasa pada komponen elektronik jenis ini untuk Arduino. Bagi papan, ia termasuk perintang tarik 5 kilo ohm dan LED yang memberi amaran kepada kita mengenai operasi.

DHT11 mempunyai kebolehpercayaan dan kestabilan yang tinggi kerana isyarat digitalnya yang dikalibrasi. Juga, jika anda melihat lembar datanya, anda akan melihat bahawa ia mempunyai ciri-ciri menarik, seperti yang akan anda lihat di bahagian yang akan datang.

Produk serupa

DHT22

Terdapat produk yang serupa dengan DHT11 yang mungkin anda minati. Ia adalah DHT22. Ia juga merupakan sensor suhu dan kelembapan bersepadu, tetapi dalam hal ini harganya sedikit lebih tinggi, sekitar € 4. Ketepatan untuk mengukur suhu adalah variasi 5% juga seperti DHT11, tetapi tidak seperti itu, ukuran melebihi kelembapan antara 20 hingga 80%. Oleh itu, anda mungkin berminat dengan DHT22 untuk projek di mana anda perlu mengukur kelembapan dari 0 hingga 100%.

La kekerapan pengumpulan data ia juga dua kali ganda daripada DHT11, dalam DHT22 2 sampel diambil sesaat dan bukannya 1 sampel per detik DHT11. Sedangkan untuk suhunya, dapat mengukur dari -40ºC hingga + 125ºC dengan lebih tepat, kerana dapat mengukur pecahan darjah, khususnya dapat menghargai variasi plus / minus 0,5ºC.

Pinout, ciri dan lembaran data

Pinout DHT11

Anda boleh mendapatkan sedikit maklumat teknikal mengenai DHT11 dalam lembaran data anda. Setiap pengeluar peranti ini dapat memberikan beberapa nilai yang mungkin berbeza-beza, jadi saya selalu mengesyorkan membaca PDF pengeluar tertentu peranti yang telah anda beli. Walaupun kebanyakan nilai kelihatan sama untuk anda, mungkin ada sedikit variasi dari satu ke yang lain. Ciri teknikalnya yang paling penting adalah:

  • Bekalan kuasa 3,5v hingga 5v
  • Penggunaan semasa 2,5mA
  • Isyarat output digital
  • Suhu antara 0ºC hingga 50ºC
  • Ketepatan untuk mengukur suhu pada 25ºC kira-kira 2ºC variasi
  • Resolusi untuk mengukur suhu ialah 8-bit, 1ºC
  • Kelembapan boleh mengukur dari 20% RH hingga 90% RH
  • Kelembapan tepat 5% RH untuk suhu antara 0-50ºC
  • Resolusi adalah 1% RH, ia tidak dapat memperoleh variasi di bawahnya
  • Lembaran Data Mouser

Mengenai data, disiarkan dalam digital. Oleh itu, tidak perlu beralih dari analog ke digital seperti sensor lain. Itu menyulitkan kod untuk ditulis dalam Arduino IDE, tetapi dalam hal ini tidak diperlukan dan lebih mudah. Walaupun sensor itu sendiri analog, tetapi ia merangkumi sistem untuk melakukan penukaran dan dapat dihubungkan terus ke input digital Arduino.

Isyarat analog, yang merupakan variasi voltan, dari sensor diubah menjadi format digital untuk dikirim ke mikrokontroler Arduino. Ia dihantar dalam bingkai 40-bit yang sesuai dengan maklumat kelembapan dan suhu yang ditangkap oleh DHT11. Dua kumpulan pertama 8-bit adalah untuk kelembapan, iaitu 16 bit yang paling ketara dari bingkai ini. Kemudian 2 kumpulan 8-bit yang lain tinggal untuk suhu. Iaitu, dua bait untuk kelembapan dan dua bait untuk suhu. Sebagai contoh:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001

Dalam kes ini, 0011 0101 0000 0010 adalah nilai kelembapan, dan 0001 1000 0000 0000 adalah suhu. Bahagian pertama adalah untuk bahagian integer dan bahagian kedua adalah untuk perpuluhan. Adapun 0011 1001, iaitu 8-bit terakhir adalah pariti untuk mengelakkan kesilapan. Dengan cara itu anda dapat memastikan bahawa semuanya betul semasa penghantaran. Ini sesuai dengan jumlah bit sebelumnya, oleh itu, jika jumlahnya sama dengan paritas, itu akan betul. Dalam contoh yang telah saya letakkan, itu tidak akan berlaku, kerana seperti yang anda lihat tidak sesuai ... Itu akan menunjukkan kegagalan.

Setelah ini diketahui, tahap teknikal DHT11 seterusnya yang perlu diberi perhatian adalah pin. The kenalan atau pinout peranti ini mudah, kerana hanya mempunyai 4 daripadanya. Salah satu pin adalah untuk kuasa atau Vcc, yang lain untuk I / O untuk menghantar data, pin NC yang tidak bersambung, dan GND untuk sambungan tanah.

Integrasi dengan Arduino

Menghubungkan DHT11 dengan Arduino

Sebaik sahaja anda mengetahui pinout DHT11 dan juga papan Arduino, sambungannya sangat mudah. Ingatlah bahawa jika anda memilih modul DHT11 yang disatukan ke dalam PCB, pin akan menjadi tiga, kerana NC dikeluarkan untuk memudahkan semuanya. Satu-satunya perkara yang perlu anda lakukan ialah menyambungkan pin ground ke salah satu sambungan GND Arduino seperti yang terdapat dalam rajah pada gambar sebelumnya.

Sebaliknya, pin kuasa harus disambungkan ke sambungan 5v dari Arduino, oleh itu sensor akan dikuasakan sepenuhnya dengan GND dan Vcc, tetapi sekarang data hilang. Untuk menghantar data dari sensor DHT11 ke papan Arduino, anda boleh menggunakan salah satu input digital, seperti 7 yang muncul dalam gambar ... Sekarang anda sudah siap untuk menggunakannya setelah anda membuat kod yang diperlukan di Arduino IDE ...

Sekiranya sensor berada jauh di dalam projek anda dan anda akan menggunakan kabel lebih dari 20 meter, maka gunakan perintang tarik 5k, kerana kabel yang lebih besar mestilah lebih besar. Perhatikan bahawa jika anda menggunakan kuasa 3,5v dan bukannya 5v, maka kabel tidak boleh melebihi 20cm kerana penurunan voltan.

Ingat bahawa apa yang mereka cadangkan adalah lakukan pengukuran setiap 5 saat, walaupun frekuensi pengambilan sampel di mana DHT11 dapat beroperasi lebih tinggi, tetapi jika dilakukan lebih kerap, ia mungkin tidak tepat.

Kod dalam Arduino IDE

Pergi terus ke kod, katakan dalam IDE Arduino anda boleh menggunakan sebilangan perpustakaan yang ada dengan ciri-ciri yang akan menjadikan hidup anda lebih mudah dengan DHT11. Contohnya, salah satunya adalah yang itu menyediakan Adafruit. Ingat bahawa kami mempunyai panduan pemula yang bermula dengan Arduino dalam bentuk PDF yang anda boleh muat turun percuma dari sini dan ia dapat membantu anda.

Setelah memasang perpustakaan yang sesuai, anda boleh memberi komen kepada masukkan kod untuk mengawal sensor suhu dan kelembapan DHT11 untuk projek anda dengan Arduino. Sebagai contoh:

#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 ");
}


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.