Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP-32 DHT11 Humidity & Temperature Sensor

Project ini membaca data kelembaban dan suhu dari sensor DHT11 menggunakan ESP-32 dan PlatformIO.

Komponen yang Dibutuhkan

  • ESP-32 (DOIT DevKit v1 atau sejenisnya)
  • Sensor DHT11 (Humidity & Temperature)
  • Kabel jumper
  • USB Cable untuk upload

Koneksi Pin

DHT11 Sensor → ESP-32
─────────────────────
Data (pin 2) → GPIO4 (D4)
VCC → 3V3
GND → GND

Library yang Digunakan

  • Adafruit DHT sensor library - Untuk membaca sensor DHT11
  • Adafruit Unified Sensor - Library pendukung

Cara Menggunakan

1. Build Project

platformio run

2. Upload ke ESP-32

platformio run --target upload

3. Monitor Serial Output

platformio device monitor --baud 115200

Atau gunakan VS Code PlatformIO extension untuk:

  • Klik tombol "Build" untuk compile
  • Klik tombol "Upload" untuk upload ke board
  • Klik tombol "Serial Monitor" untuk melihat output

Output Serial Monitor

=== DHT11 Humidity & Temperature Sensor ===
ESP-32 dengan DHT11 di GPIO4
=====================================

Sensor DHT11 siap digunakan!
Kelembaban: 65.30% | Suhu: 28.50°C
Kelembaban: 65.40% | Suhu: 28.52°C
Kelembaban: 65.50% | Suhu: 28.55°C
...

Detail Kode

Delay Pembacaan

Sensor dibaca setiap 2 detik (dapat disesuaikan dengan mengubah nilai di loop())

Error Handling

Kode akan menampilkan pesan error jika sensor gagal membaca data

Troubleshooting

1. Sensor Tidak Terdeteksi

  • Periksa kabel koneksi, pastikan GPIO4 terhubung dengan benar
  • Cek tegangan 3V3 pada sensor
  • Pastikan library DHT sudah terinstall

2. Nilai Pembacaan Aneh

  • DHT11 membutuhkan waktu stabilisasi
  • Tunggu beberapa pembacaan pertama
  • Pastikan sensor tidak terkena panas langsung

3. Upload Gagal

  • Periksa COM port di PlatformIO
  • Driver CP210x mungkin diperlukan untuk ESP-32
  • Tekan dan tahan tombol BOOT sebelum upload dimulai

Modifikasi Kode (Opsional)

Ubah Delay Pembacaan

Di file src/main.cpp, ubah nilai pada baris:

delay(2000);  // Ganti 2000 dengan nilai yang diinginkan (milidetik)

Tambahan Filter untuk Nilai Stabil

// Di dalam loop()
static float lastHumidity = 0;
static float lastTemp = 0;
float diffH = abs(humidity - lastHumidity);
float diffT = abs(temperature - lastTemp);

// Hanya tampilkan jika perubahan > 1%
if (diffH > 1 || diffT > 1) {
    Serial.print("Kelembaban: ");
    Serial.print(humidity);
    Serial.print("% | Suhu: ");
    Serial.print(temperature);
    Serial.println("°C");
    
    lastHumidity = humidity;
    lastTemp = temperature;
}

Referensi

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages