Bagaimana Menghubungkan Sensor Suhu Dan Kelembaban DHT11 Ke Arduino

Daftar Isi:

Bagaimana Menghubungkan Sensor Suhu Dan Kelembaban DHT11 Ke Arduino
Bagaimana Menghubungkan Sensor Suhu Dan Kelembaban DHT11 Ke Arduino

Video: Bagaimana Menghubungkan Sensor Suhu Dan Kelembaban DHT11 Ke Arduino

Video: Bagaimana Menghubungkan Sensor Suhu Dan Kelembaban DHT11 Ke Arduino
Video: Arduino Uno - Sensor Suhu dan Kelembaban DHT11 Bagian Pertama 2024, November
Anonim

Sensor suhu dan kelembaban DHT17 adalah sensor yang populer dan murah yang dapat digunakan pada rentang suhu dan kelembaban relatif yang cukup luas. Mari kita lihat cara menghubungkannya ke Arduino dan cara membaca data darinya.

Sensor suhu dan kelembaban DHT11
Sensor suhu dan kelembaban DHT11

Diperlukan

  • -Arduino;
  • - Sensor suhu dan kelembaban DHT17.

instruksi

Langkah 1

Jadi, sensor DHT11 memiliki karakteristik sebagai berikut:

- kisaran kelembaban relatif terukur - 20..90% dengan kesalahan hingga 5%, - kisaran suhu terukur - 0,50 derajat Celcius dengan kesalahan hingga 2 derajat;

- waktu respons terhadap perubahan kelembaban - hingga 15 detik, suhu - hingga 30 detik;

- periode polling minimum adalah 1 detik.

Seperti yang Anda lihat, sensor DHT11 tidak terlalu akurat, dan kisaran suhu tidak mencakup nilai negatif, yang hampir tidak cocok untuk pengukuran di luar ruangan di musim dingin di iklim kita. Namun, biayanya yang rendah, ukurannya yang kecil dan kemudahan penggunaan sebagian mengimbangi kelemahan ini.

Gambar tersebut menunjukkan tampilan sensor dan dimensinya dalam milimeter.

Penampilan dan dimensi sensor DHT11
Penampilan dan dimensi sensor DHT11

Langkah 2

Pertimbangkan diagram koneksi sensor suhu dan kelembaban DHT11 ke mikrokontroler, khususnya, ke Arduino. Pada gambar:

- MCU - mikrokontroler (misalnya, Arduino atau sejenisnya) atau komputer papan tunggal (Raspberry Pi atau sejenisnya);

- DHT11 - sensor suhu dan kelembaban;

- DATA - bus data; jika panjang kabel penghubung dari sensor ke mikrokontroler tidak melebihi 20 meter, maka disarankan untuk menarik bus ini ke catu daya dengan resistor 5, 1 kOhm; jika lebih dari 20 meter, maka nilai lain yang sesuai (lebih kecil).

- VDD - catu daya sensor; tegangan yang diizinkan dari ~ 3,0 hingga ~ 5,5 volt DC; jika menggunakan catu daya ~ 3,3 V, maka disarankan untuk menggunakan kabel catu daya tidak lebih dari 20 cm.

Salah satu ujung sensor - yang ketiga - tidak terhubung ke apa pun.

Sensor DHT11 sering dijual sebagai rakitan lengkap dengan perpipaan yang diperlukan - resistor pull-up dan kapasitor filter.

Diagram menghubungkan sensor DHT11 ke mikrokontroler
Diagram menghubungkan sensor DHT11 ke mikrokontroler

Langkah 3

Mari kita kumpulkan skema yang dipertimbangkan. Saya juga akan menghubungkan penganalisis logika ke rangkaian sehingga saya dapat mempelajari diagram waktu komunikasi dengan sensor.

Sensor DHT11 dan Arduino
Sensor DHT11 dan Arduino

Langkah 4

Mari kita lakukan dengan cara sederhana: unduh perpustakaan untuk sensor DHT11 (tautan di bagian "Sumber"), instal dengan cara standar (membongkarnya ke direktori / perpustakaan / lingkungan pengembangan Arduino).

Mari kita menulis sketsa sederhana. Mari kita memuatnya ke Arduino. Sketsa ini akan menampilkan pesan RH dan Suhu yang dibaca dari sensor DHT11 ke port serial komputer setiap 2 detik.

Sketsa untuk bekerja dengan sensor suhu-kelembaban DHT11
Sketsa untuk bekerja dengan sensor suhu-kelembaban DHT11

Langkah 5

Sekarang, dengan menggunakan diagram waktu yang diperoleh dari penganalisis logika, mari kita cari tahu bagaimana pertukaran informasi dilakukan.

Sensor suhu dan kelembaban DHT11 menggunakan antarmuka serial kabel tunggal untuk berkomunikasi dengan mikrokontroler. Satu pertukaran data membutuhkan waktu sekitar 40 ms dan berisi: 1 bit permintaan dari mikrokontroler, 1 bit respons sensor, dan 40 bit data dari sensor. Data tersebut meliputi: 16 bit informasi kelembaban, 26 bit informasi suhu, dan 8 bit pemeriksaan.

Mari kita lihat lebih dekat diagram waktu komunikasi Arduino dengan sensor DHT11.

Dapat dilihat dari gambar bahwa ada dua jenis impuls: pendek dan panjang. Pulsa pendek dalam protokol pertukaran ini menunjukkan nol, pulsa panjang - satu.

Jadi, dua pulsa pertama adalah permintaan Arduino ke DHT11 dan, karenanya, respons sensor. Berikutnya datang 16 bit kelembaban. Selain itu, mereka dibagi menjadi byte, tinggi dan rendah, tinggi di sebelah kiri. Artinya, dalam gambar kami, data kelembaban adalah sebagai berikut:

0001000000000000 = 00000000 00000000 = 0x10 = 16% RH.

Data suhu mirip dengan:

0001011100000000 = 00000000 00010111 = 0x17 = 23 derajat Celcius.

Periksa bit - checksum hanyalah penjumlahan dari 4 byte data yang diterima:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 dalam biner atau 16 + 23 = 39 dalam desimal.

Direkomendasikan: