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_espdari kelasDHTespuntuk 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 libraryDHTespyang mengembalikan strukturTempAndHumidityberisi 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 libraryDHTesp.
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 :





