#include <DHT.h>
#define DHTPIN 2 // Pin data DHT22 terhubung ke pin GPIO2 pada ESP32
#define DHTTYPE DHT22 // Jenis sensor DHT yang digunakan
DHT dht(DHTPIN, DHTTYPE);
const int ledYellow = 17; // Pin GPIO untuk lampu LED Kuning
const int ledRed = 5; // Pin GPIO untuk lampu LED Merah
const int ledGreen = 4; // Pin GPIO untuk lampu LED Hijau
const int ledBlue = 16; // Pin GPIO untuk lampu LED Biru
void setup() {
Serial.begin(115200);
pinMode(ledYellow, OUTPUT);
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledBlue, OUTPUT);
digitalWrite(ledYellow, LOW);
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(ledBlue, LOW);
dht.begin();
}
void loop() {
delay(2000); // Tunda selama 2 detik antara pembacaan sensor
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Gagal membaca sensor DHT22");
return;
}
Serial.print("Suhu: ");
Serial.println(temperature);
// Menyalakan lampu LED Kuning sebagai tanda data masuk
digitalWrite(ledYellow, HIGH);
delay(500);
digitalWrite(ledYellow, LOW);
// Logika untuk lampu LED berdasarkan suhu
if (temperature < 29) {
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledBlue, LOW);
} else if (temperature >= 22 && temperature <= 28) {
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledBlue, LOW);
} else {
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(ledBlue, HIGH);
}
}