Measurement of Temperature and Humidity Using DHT11 Sensor with ESP32 (Arduino IDE)

Objective:

Untuk mengukur dan menampilkan data suhu dan kelembapan menggunakan sensor DHT11 dan ESP32 dengan Arduino IDE.

Skenario:

Ads Jadwal Training bisaioti Offline
NoMateriTanggalWaktuHargaLokasiViewAction
1IOT PLC SCADA Siemens7-8 Juni 202508.00 - 16.002000000SurabayaSilabusDaftar Sekarang
2IOT PLC SCADA Omron14 - 15 Juni 202508.00 - 16.002000000SurabayaSilabusDaftar Sekarang
3IOT PLC SCADA Schneider21-22 Juni 202508.00 -16.002000000SurabayaSilabusDaftar Sekarang
4IOT PLC SCADA Allen Bradley28-29 Juni 202508.00-16.002000000SurabayaSilabusDaftar Sekarang

mempelajari cara menghubungkan sensor DHT11 dengan ESP32 untuk mengukur suhu dan kelembaban. Sensor ini menggunakan protokol komunikasi digital sederhana. Hasil pengukuran akan ditampilkan melalui Serial Monitor di Arduino IDE, memberikan pengalaman praktis dalam menangani sensor lingkungan dengan mikrokontroler.

Dasar Teori:

  1. DHT11 Sensor:
    • DHT11 adalah sensor suhu dan kelembaban berbasis digital. Sensor ini mengirimkan data melalui protokol komunikasi satu kabel dengan akurasi sedang untuk aplikasi pemantauan lingkungan.

DHT11

  1. ESP32:
    • ESP32 adalah mikrokontroler dengan konektivitas Wi-Fi dan Bluetooth yang juga dapat berfungsi untuk mengolah data dari berbagai sensor, termasuk DHT11, dan menampilkannya menggunakan berbagai media output.
  2. Komunikasi Digital pada DHT11:
    • DHT11 menggunakan protokol satu kabel yang sederhana, di mana data suhu dan kelembaban dikirimkan secara digital ke ESP32 setelah pin trigger diaktifkan. ESP32 kemudian memproses data tersebut dan menampilkan hasilnya.

Bahan dan Alat:

  • ESP32
  • Sensor DHT11
  • Breadboard
  • Kabel jumper
  • Komputer dengan Arduino IDE terinstal
  • Library DHT (Arduino IDE)

Langkah-Langkah:

  1. Wiring Setup:

 

    • Hubungkan DHT11 dengan ESP32:
      • VCC ke 3.3V ESP32
      • GND ke GND ESP32
      • Data Pin ke GPIO2 ESP32
  1. Install Library:
    • Buka Arduino IDE.
    • Pergi ke Sketch > Include Library > Manage Libraries.
    • Cari DHT sensor library dan install.

    • Cari Adafruit Unified Sensor dan Install

  1. Code Implementation:
    • Buat sketsa baru dan masukkan kode berikut:
#include "DHT.h"
#define DHTPIN 2       // Pin data DHT11
#define DHTTYPE DHT11  // DHT11 digunakan
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  // Membaca data suhu dan kelembaban
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();
  // Cek apakah ada error
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  // Tampilkan data ke Serial Monitor
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" *C");

  delay(2000);  // Tunggu 2 detik sebelum pengukuran berikutnya
}
Penjelasan program
#include "DHT.h"
#define DHTPIN 2     
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
  • DHT.h: Library yang memungkinkan komunikasi dengan sensor DHT11.
  • DHTPIN adalah pin GPIO ESP32 yang terhubung ke pin data DHT11 (GPIO2).
  • DHTTYPE menentukan jenis sensor (DHT11).
void setup() {
  Serial.begin(9600);
  dht.begin();
}
  • Serial.begin(9600) memulai komunikasi serial dengan baud rate 9600.
  • dht.begin() menginisialisasi sensor DHT11.
void loop() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }


  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" *C");

  delay(2000);

}
  • dht.readHumidity() dan dht.readTemperature() membaca nilai kelembaban dan suhu.
  • Jika gagal membaca (nilai tidak valid), pesan error ditampilkan.
  • Data suhu dan kelembaban ditampilkan di Serial Monitor, dengan jeda 2 detik antara pembacaan.
  1. Upload the Code:
    • Hubungkan ESP32 ke komputer menggunakan kabel USB.
    • Pilih board dan port yang sesuai di Tools > Board dan Port.
    • Unggah kode ke ESP32.
  2. Testing and Observing Results:
    • Buka Serial Monitor di Arduino IDE (Ctrl + Shift + M) dan setel baud rate ke 9600.
    • Amati hasil pengukuran suhu dan kelembaban dari sensor DHT11.

Pertanyaan Diskusi:

  1. Bagaimana sensor DHT11 mengukur suhu dan kelembaban?
    • Jelaskan prinsip kerja sensor DHT11 dalam membaca suhu dan kelembaban menggunakan metode resistansi dan kapasitansi.
        • DHT11 mengukur kelembaban dengan sensor kapasitif, yang mengukur perubahan kapasitansi seiring perubahan kelembaban. Suhu diukur menggunakan termistor yang mengubah resistansinya berdasarkan suhu.
  2. Apa yang mempengaruhi akurasi pengukuran sensor DHT11?
    • Diskusikan faktor-faktor lingkungan seperti suhu, kelembaban ekstrem, dan respons sensor yang mempengaruhi akurasi DHT11.
        • Akurasi DHT11 dipengaruhi oleh suhu ekstrem, kelembaban tinggi, serta faktor lingkungan lain seperti ventilasi yang buruk atau penempatan sensor yang tidak tepat.
  3. Bagaimana cara meningkatkan akurasi pengukuran DHT11?
    • Diskusikan metode untuk kalibrasi atau penggunaan sensor lain yang lebih akurat, seperti DHT22.
        • Akurasi dapat ditingkatkan dengan kalibrasi rutin, menggunakan sensor di lingkungan dengan rentang kelembaban dan suhu stabil, atau mengganti dengan sensor yang lebih presisi seperti DHT22.

Kesimpulan:

Pada akhir praktikum ini, mahasiswa diharapkan dapat menghubungkan sensor DHT11 ke ESP32, membaca data suhu dan kelembaban, serta memahami prinsip kerja sensor lingkungan. Mahasiswa juga akan belajar bagaimana menangani sensor digital dan memproses data tersebut menggunakan mikrokontroler.

Referensi:

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Daftar Sekarang