Kelembaban dan suhu merupakan parameter umum untuk mengukur kondisi lingkungan. Dalam proyek berbasis Arduino ini kami akan mengukur suhu dan kelembaban sekitar dan menampilkannya pada layar LCD 16x2. Sensor suhu dan kelembapan gabungan DHT11 digunakan dengan Arduino uno untuk mengembangkan proyek pengukuran suhu dan kelembaban skala persentase ini. Dalam salah satu proyek saya sebelumnya, saya juga telah mengembangkan termometer digital dengan menggunakan sensor suhu LM35.
Proyek ini terdiri dari tiga bagian - indra kelembaban dan suhu dengan menggunakan sensor kelembaban dan suhu DHT11. Bagian kedua membaca output modul DHTsensor dan mengekstrak nilai suhu dan kelembaban menjadi angka yang sesuai dalam persentase dan skala Celcius. Dan bagian ketiga dari sistem menampilkan kelembaban dan suhu pada LCD.
Pekerjaan proyek ini didasarkan pada komunikasi serial kabel tunggal. Arduino pertama mengirimkan sinyal start ke modul DHT dan kemudian DHT memberikan sinyal respon yang berisi data suhu dan kelembaban. Arduino mengumpulkan dan mengekstrak dalam dua bagian yaitu kelembaban dan suhu kemudian dikirim ke LCD 16x2.
Di sini, di proyek ini kami telah menggunakan modul sensor yaitu DHT11. Modul ini memiliki fitur kelembaban dan suhu kompleks dengan keluaran sinyal digital terkalibrasi berarti modul sensor DHT11 adalah modul gabungan untuk merasakan kelembaban dan suhu yang memberikan sinyal keluaran digital terkalibrasi. DHT11 memberi kami nilai kelembaban dan suhu yang sangat tepat dan memastikan keandalan yang tinggi dan stabilitas jangka panjang. Sensor ini memiliki komponen pengukuran kelembaban tipe resistif dan komponen pengukuran suhu tipe NTC dengan mikrokontroler 8-bit inbuilt yang memiliki respon cepat dan hemat biaya serta tersedia dalam paket baris tunggal 4-pin.
Modul DHT11 bekerja pada komunikasi serial yaitu komunikasi kawat tunggal. Modul ini mengirimkan data berupa rangkaian denyut nadi pada periode waktu tertentu. Sebelum mengirim data ke arduino diperlukan beberapa perintah inisialisasi dengan waktu tunda. Dan seluruh waktu proses sekitar 4ms. Transmisi data lengkap adalah 40-bit dan format data dari proses ini diberikan di bawah ini:
Data RH integral 8-bit + data RH desimal 8-bit + data T integral 8-bit + data T desimal 8-bit + jumlah cek 8-bit.
Proses Lengkap
Pertama-tama Arduino mengirimkan sinyal start tinggi ke rendah ke DHT11 dengan penundaan 18µs untuk memastikan deteksi DHT. Dan kemudian arduino menarik jalur data dan menunggu 20-40µs untuk respon DHT. Setelah DHT mendeteksi sinyal start, DHT akan mengirimkan sinyal respon level tegangan rendah ke arduino dengan waktu tunda sekitar 80µs. Dan kemudian pengontrol DHT menarik baris data dan menyimpannya selama 80µs untuk pengaturan pengiriman data oleh DHT.
Ketika bus data pada level tegangan rendah itu berarti DHT11 mengirimkan sinyal respon. Setelah selesai, DHT kembali membuat jalur data pull-up selama 80µs untuk mempersiapkan transmisi data.
Format data yang dikirimkan oleh DHT ke arduino untuk setiap bit diawali dengan level tegangan rendah 50µs dan panjang sinyal level tegangan tinggi menentukan apakah bit data adalah “0” atau “1”.
Satu hal yang penting adalah memastikan nilai resistor pull up karena jika kita menempatkan sensor DHT pada jarak <20 meter, direkomendasikan resistor pull up 5k. Jika menempatkan DHT lebih panjang 20 meter maka gunakan resistor pull up yang sesuai.
Diagram Sirkuit dan Penjelasannya
Layar kristal cair digunakan untuk menampilkan suhu dan kelembapan yang langsung terhubung ke arduino dalam mode 4-bit. Pin LCD RS, EN, D4, D5, D6 dan D7 dihubungkan ke pin digital arduino nomor 2, 3, 4, 5, 6 dan 7. Dan modul sensor DHT11 juga dihubungkan ke pin digital 12 arduino dengan 5k resistor pull-up.
Deskripsi Pemrograman
Dalam pemrograman, kita akan menggunakan perpustakaan yang sudah dibuat sebelumnya untuk sensor DHT11 dan modul layar LCD.
Kemudian kami menetapkan pin untuk sensor LCD dan DHT dan menginisialisasi semua hal dalam pengaturan. Kemudian dalam loop dengan menggunakan fungsi dht membaca sensor DHT dan kemudian menggunakan beberapa fungsi dht kami mengekstrak kelembaban dan suhu dan menampilkannya pada LCD.
Disini simbol derajat dibuat dengan menggunakan metode karakter kustom.