Cara Memprogram Sensor Suhu DHT 11 ESP32

Cara Memprogram Sensor Suhu DHT 11 ESP32

Sensor DHT11 adalah sensor digital yang digunakan untuk mengukur suhu dan kelembaban udara.Berikut ini adalah cara memprogramnya :

#include <Arduino.h>

#include "DHTesp.h"

const int dht11_esp_PIN = 4;
DHTesp dht11_esp;


float baca_suhu_dht11_esp() {
TempAndHumidity data = dht11_esp.getTempAndHumidity();
return data.temperature;
}
float baca_kelembaban_dht11_esp() {
TempAndHumidity data = dht11_esp.getTempAndHumidity();
return data.humidity;
}


void setup()
{
Serial.begin(9600);
dht11_esp.setup(dht11_esp_PIN, DHTesp::DHT11);

}
void loop(){
float suhu_dht11_esp = baca_suhu_dht11_esp();
float kelembaban_dht11_esp = baca_kelembaban_dht11_esp();
if (isnan(suhu_dht11_esp) || isnan(kelembaban_dht11_esp)) {
Serial.println("Gagal membaca sensor DHT11!");
} else {
// Menampilkan data kelembaban dan suhu
Serial.print("Kelembaban dht11_esp : ");
Serial.print(kelembaban_dht11_esp);
Serial.print("% ");
Serial.print("Suhu dht11_esp : ");
Serial.print(suhu_dht11_esp);
Serial.println("°C");
}


}


Berikut ini adalah penjelasan dari kode di atas :

Tentu! Berikut penjelasan kode Arduino yang kamu berikan:


Penjelasan Kode

#include <Arduino.h>
#include "DHTesp.h"
  • Mengimpor library dasar Arduino dan library DHTesp untuk membaca sensor DHT11/DHT22.
const int dht11_esp_PIN = 4;
DHTesp dht11_esp;
  • Mendefinisikan pin GPIO 4 sebagai tempat sensor DHT11 terhubung.
  • Membuat objek dht11_esp dari kelas DHTesp untuk memudahkan interaksi dengan sensor.

Fungsi Membaca Suhu dan Kelembaban

float baca_suhu_dht11_esp() {
    TempAndHumidity data = dht11_esp.getTempAndHumidity();
    return data.temperature;
}
  • Fungsi ini membaca data suhu dari sensor DHT11.
  • Memanggil fungsi getTempAndHumidity() dari library DHTesp yang mengembalikan struktur TempAndHumidity berisi suhu dan kelembaban.
  • Mengembalikan nilai suhu.
float baca_kelembaban_dht11_esp() {
    TempAndHumidity data = dht11_esp.getTempAndHumidity();
    return data.humidity;
}
  • Fungsi ini membaca kelembaban dari sensor dengan cara yang sama, mengembalikan nilai kelembaban.

Setup Awal

void setup()
{
    Serial.begin(9600);
    dht11_esp.setup(dht11_esp_PIN, DHTesp::DHT11);
}
  • Menginisialisasi komunikasi serial dengan baud rate 9600.
  • Mengatur pin sensor dan jenis sensor (DHT11) menggunakan fungsi setup() dari library DHTesp.

Loop Program (Berulang-ulang)

void loop(){
    float suhu_dht11_esp = baca_suhu_dht11_esp();
    float kelembaban_dht11_esp = baca_kelembaban_dht11_esp();
    
    if (isnan(suhu_dht11_esp) || isnan(kelembaban_dht11_esp)) {
        Serial.println("Gagal membaca sensor DHT11!");
    } else {
        Serial.print("Kelembaban dht11_esp : ");
        Serial.print(kelembaban_dht11_esp);
        Serial.print("% ");
        Serial.print("Suhu dht11_esp : ");
        Serial.print(suhu_dht11_esp);
        Serial.println("°C");
    }
}
  • Membaca suhu dan kelembaban dengan memanggil fungsi yang sudah dibuat.
  • Memeriksa apakah pembacaan gagal (hasil NaN = Not a Number).
  • Jika gagal, mencetak pesan error ke Serial Monitor.
  • Jika berhasil, menampilkan nilai kelembaban dan suhu secara terformat di Serial Monitor.

untuk diskusi bisa kontak dibawah ini :

Sosial media :

Apa itu ESP32?