#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dhtSensor;
float suhu = 0;
float kelembapan = 0;
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
suhu = data.temperature;
kelembapan = data.humidity;
Serial.print("SUHU: ");
Serial.print(suhu);
Serial.println(" °C");
Serial.print("KELEMBAPAN: ");
Serial.print(kelembapan);
Serial.println(" %");
delay(100);
}
/*
Kode yang Anda berikan adalah contoh program untuk membaca data suhu dan kelembaban dari sensor DHT22 menggunakan library DHTesp pada platform Arduino atau ESP8266. Di bawah ini, saya akan menjelaskan setiap bagian kode tersebut:
1. **Include Library**:
- `#include "DHTesp.h"`: Ini adalah perintah preprocessor yang memasukkan library DHTesp yang diperlukan untuk berinteraksi dengan sensor DHT22.
2. **Deklarasi Konstanta dan Objek**:
- `const int DHT_PIN = 15;`: Ini mendefinisikan nomor pin pada mikrokontroler yang digunakan untuk menghubungkan sensor DHT22. Dalam contoh ini, pin 15 digunakan.
- `DHTesp dhtSensor;`: Ini adalah deklarasi objek `dhtSensor` dari kelas `DHTesp`.
3. **Fungsi `setup()`**:
- `Serial.begin(115200);`: Inisialisasi komunikasi serial dengan baud rate 115200, yang akan digunakan untuk mengirim data ke Serial Monitor.
- `dhtSensor.setup(DHT_PIN, DHTesp::DHT22);`: Inisialisasi sensor DHT22 dengan menghubungkannya ke pin yang telah didefinisikan (`DHT_PIN`) dan menentukan tipe sensor (`DHT22`).
4. **Fungsi `loop()`**:
- Fungsi `loop()` adalah loop utama yang akan dijalankan terus menerus setelah inisialisasi selesai.
- `TempAndHumidity data = dhtSensor.getTempAndHumidity();`: Ini adalah cara untuk mendapatkan data suhu dan kelembaban dari sensor DHT22. Data ini disimpan dalam objek `data`.
- `Serial.println("SUHU: " + String(data.temperature, 2) + "°C");`: Ini mencetak nilai suhu dalam format string menggunakan fungsi `Serial.println()`. `data.temperature` mengambil nilai suhu dari objek `data`, dan `2` adalah jumlah digit desimal yang ingin ditampilkan.
- `Serial.println("KELEMBAPAN: " + String(data.humidity, 1) + "%");`: Ini mencetak nilai kelembaban dalam format string dengan jumlah digit desimal yang ingin ditampilkan.
- `delay(100);`: Jeda 100 milidetik sebelum membaca data lagi. Ini membantu menghindari pembacaan data yang terlalu sering dan membebani sistem.
Kode ini secara berkala membaca data suhu dan kelembaban dari sensor DHT22 dan mencetaknya ke Serial Monitor. Pastikan Anda telah menginstal library DHTesp sebelum menggunakan kode ini. Anda dapat menginstalnya melalui "Sketch" > "Include Library" > "Manage Libraries" dan kemudian mencari "DHTesp" untuk menginstal library yang sesuai.
*/