Project ini membaca data kelembaban dan suhu dari sensor DHT11 menggunakan ESP-32 dan PlatformIO.
- ESP-32 (DOIT DevKit v1 atau sejenisnya)
- Sensor DHT11 (Humidity & Temperature)
- Kabel jumper
- USB Cable untuk upload
DHT11 Sensor → ESP-32
─────────────────────
Data (pin 2) → GPIO4 (D4)
VCC → 3V3
GND → GND
- Adafruit DHT sensor library - Untuk membaca sensor DHT11
- Adafruit Unified Sensor - Library pendukung
platformio runplatformio run --target uploadplatformio device monitor --baud 115200Atau 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
=== 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
...
Sensor dibaca setiap 2 detik (dapat disesuaikan dengan mengubah nilai di loop())
Kode akan menampilkan pesan error jika sensor gagal membaca data
- Periksa kabel koneksi, pastikan GPIO4 terhubung dengan benar
- Cek tegangan 3V3 pada sensor
- Pastikan library DHT sudah terinstall
- DHT11 membutuhkan waktu stabilisasi
- Tunggu beberapa pembacaan pertama
- Pastikan sensor tidak terkena panas langsung
- Periksa COM port di PlatformIO
- Driver CP210x mungkin diperlukan untuk ESP-32
- Tekan dan tahan tombol BOOT sebelum upload dimulai
Di file src/main.cpp, ubah nilai pada baris:
delay(2000); // Ganti 2000 dengan nilai yang diinginkan (milidetik)// 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;
}