Catatan Singkat tentang Sensor Kelembaban dan Suhu DHT11
Kami telah menggunakan Sensor Suhu dan Kelembaban DHT11 dalam beberapa proyek sebelumnya yang melibatkan Arduino, Raspberry Pi, ESP8266 dan STM32F103C8T6. DHT11 adalah Sensor Kelembaban dan Suhu digital, yang terdiri dari Sensor Kelembaban tipe resistif, Sensor Suhu Tipe NTC dan Mikrokontroler 8-bit.
Itu dapat mengukur Kelembaban di kisaran 20% hingga 80% Kelembaban Relatif dan suhu di kisaran 0C sampai 50C. Mikrokontroler di Sensor DHT11 melakukan semua hal terkait ADC dan menyediakan data Digital melalui satu kabel.
Selain itu, Sensor Suhu dan Kelembaban DHT11 dapat memiliki panjang kabel hingga 20 meter. Ini berarti Anda dapat dengan mudah menerapkan sistem Sensor kabel yang dapat digunakan di tempat yang panjang.
Diagram Pin dan Deskripsi Pin DHT11
Gambar berikut menunjukkan Pin DHT11 dan tabel selanjutnya menunjukkan deskripsi pin DHT11.
Pin dari DTH11 | Keterangan |
VCC | Catu Daya (3V hingga 5.5V) |
DATA | Masukan/Keluaran Data. Harus ditarik TINGGI. |
NC | Tidak terhubung |
GND | Tanah |
Decoding Data dari DHT11
Dalam Tutorial DHT11 Arduino, saya menjelaskan secara rinci bagaimana data dari Sensor DHT11 terlihat dan bagaimana mengekstrak data ini tanpa menggunakan perpustakaan apa pun. Ini sangat berguna jika Anda menulis driver untuk Sensor DHT11 untuk mikrokontroler lainnya.
Saya tidak akan membahas detailnya tetapi output DHT11 adalah data 40-bit yang dibagi menjadi Data Integer Kelembaban Relatif 8-bit + Data Desimal Kelembaban Relatif 8-bit + Data Integer Suhu 8-bit + Data Desimal Suhu 8-bit + Checksum 8-bit.
Antarmuka ESP32 DHT11
Sekarang kita telah melihat sedikit tentang Sensor Kelembaban dan Suhu DHT11, sekarang mari kita lanjutkan dengan memahami bagaimana menghubungkan DHT11 dengan ESP32. Hal pertama yang harus Anda ingat adalah bahwa DHT adalah Sensor Digital (dengan mikrokontroler internal yang melakukan akuisisi data dan konversi ADC).
Hal penting berikutnya untuk diingat adalah membutuhkan satu kabel untuk komunikasi. Ini berarti kita dapat menggunakan Pin GPIO Digital ESP32 untuk mengirim dan menerima data ke / dari DHT11 dan kita hanya memerlukan satu kabel untuk komunikasi yang benar.
Komponen yang Diperlukan
- Papan Pengembangan DevKit ESP32
- DHT11 Sensor Kelembaban dan Suhu (Sensor atau Modul)
- 1 KΩ Resistor Penarikan
- LCD 16×2
- Modul LCD PCF8574 I2C
- Papan tempat memotong roti
- Menghubungkan Kabel
- Kabel USB Mikro
CATATAN: Saya mendapat Modul DHT11 dengan resistor Pullup 1 KΩ pada Jalur Data yang sudah terpasang. Jika Anda hanya menggunakan sensor, maka resistor pull-up ini penting. Pullup 5 KΩ direkomendasikan oleh pabrikan.
Diagram Sirkuit
Gambar berikut menunjukkan koneksi antara ESP32 dan DHT11. Pertama-tama, VCC dari DHT11 terhubung ke VIN dari ESP32 Board.
CATATAN: Kisaran catu daya untuk DHT11 adalah dari 3 V hingga 5,5 V. Jadi, Anda juga dapat memberi daya pada DHT11 dengan Catu 3.3V dari Papan ESP32.
Selanjutnya, pin DATA. Pin ini harus ditarik TINGGI. Karena saya memiliki modul dengan Pullup 1 KΩ yang sudah terhubung, saya tidak perlu membuat koneksi tambahan. Jika Anda hanya menggunakan Sensor DHT11, maka sambungkan Resistor 4,7 KΩ antara Pin Data dan VIN (atau 3.3V) ESP32.
CATATAN: Tegangan pullup Data Pin dapat berkisar antara 3 V hingga 5,5 V.
Sekarang, pin Data terhubung ke GPIO 16 dari ESP32, yang diberi label sebagai RX2 pada Papan DevKit ESP32.
Pin ketiga tidak terhubung ke apa pun. Akhirnya, pin GND terhubung ke pin GND ESP32.
Mempersiapkan Arduino IDE
Anda perlu mengunduh beberapa pustaka agar ESP32 dapat berkomunikasi dengan baik dengan Sensor DHT11. Pertama adalah Perpustakaan Sensor DHT11 utama. Buka Alat -> Kelola Perpustakaan … di Arduino IDE.
Di bilah pencarian, masukkan ‘dht’. Gulir melalui opsi dan instal ‘perpustakaan sensor DHT’ oleh Adafruit.
Pustaka berikutnya dikaitkan dengan Adafruit itu sendiri. Cari ‘adafruit unified’, gulir ke bawah dan instal perpustakaan ‘Adafruit Unified Sensor’.
Menampilkan Kelembaban dan Suhu di Serial Monitor
Setelah membuat koneksi yang benar dan menginstal perpustakaan yang diperlukan seperti yang disebutkan di atas, sekarang kita akan melihat cara membaca data kelembaban dan suhu dari Sensor DHT11 menggunakan ESP32 dan menampilkan hasilnya di Serial Monitor.
Kode
Saya menulis kode sederhana yang akan menetapkan pin ke Sensor DHT11, menginisialisasi Sensor DHT11 dan membaca data kelembaban dan suhu dari sensor.
Untuk melihat hasilnya, saya cukup menggunakan monitor serial untuk mencetak nilai suhu dalam % untuk Kelembaban dan derajat Celcius untuk suhu.
Gambar berikut menunjukkan tangkapan layar Serial Monitor, yang terus-menerus mencetak pembacaan kelembaban dan suhu setiap 3 detik.
ESP32 DHT11 dengan I2C LCD
Menampilkan nilai kelembaban dan suhu dari Sensor DHT11 pada Serial Monitor berguna hanya untuk menguji koneksi dan kode itu sendiri. Untuk membangun aplikasi “Sistem Tertanam” yang praktis, Anda harus menggunakan beberapa jenis modul tampilan (OLED, LCD Karakter 16×2, LCD Nokia 5110, LCD grafis, dll.) untuk melihat pembacaan kelembaban dan suhu.
Saya menggunakan Modul Tampilan LCD Karakter 16×2 biasa yang dikombinasikan dengan Modul LCD PCF8574 I2C untuk menampilkan pembacaan suhu dari Antarmuka ESP32 DHT11.
Saya membuat tutorial khusus tentang cara menggunakan I2C LCD dengan ESP32. Lihat tutorial itu untuk informasi mendalam. Saya juga membahas perpustakaan yang diperlukan yang telah Anda unduh untuk berhasil menghubungkan LCD I2C dengan ESP32 dalam tutorial itu.
CATATAN: Saya juga menjelaskan cara mendapatkan Alamat Budak I2Modul LCD C dalam tutorial itu. Langkah ini sangat penting.
Diagram Sirkuit
Komponen tambahan yang Anda perlukan adalah Layar LCD 16×2 dan Modul LCD I2C (berdasarkan PCF8574). Colokkan Modul LCD I2C di bagian belakang Layar LCD 16×2. Modul LCD I2C hanya membutuhkan empat koneksi (dua di antaranya untuk daya dan dua untuk data).
Semua koneksi yang diperlukan antara Modul LCD ESP32 dan I2C serta antara Sensor Kelembaban dan Suhu ESP32 dan DHT11 ditunjukkan dalam diagram rangkaian berikut.
Kode
Kode untuk Antarmuka ESP32 DHT11 dengan LCD I2C sangat sederhana. Bagian inisialisasi sensor mirip dengan kode sebelumnya. Hanya kode terkait LCD yang ditambahkan.
Kesimpulan
Tutorial pemula tentang antarmuka Sensor Kelembaban dan Suhu DJT11 dengan ESP32 diimplementasikan di sini. Anda mempelajari beberapa informasi dasar tentang Sensor DHT11, cara kerja Antarmuka DHT11 ESP32, pustaka yang diperlukan untuk berkomunikasi dengan DHT11, cara menampilkan data kelembapan dan suhu pada Serial Output dan juga cara menghubungkan LCD I2C dengan ESP32 dan menampilkan pembacaan kelembapan dan suhu.