#include <Arduino.h>
#include <DHT.h>
#define DHTPIN 17
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int greenPin = 19;
int bluePin = 18;
int redPin = 21;
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(redPin, OUTPUT);
}
void setRGB(int redState, int greenState, int blueState) {
digitalWrite(redPin, redState);
digitalWrite(greenPin, greenState);
digitalWrite(bluePin, blueState);
}
void loop() {
delay(2000);
float t = dht.readTemperature();
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
Serial.println("DHT not detected");
return;
}
Serial.print("Current Temp: ");
Serial.print(t);
Serial.print(" C | Humidity: ");
Serial.print(h);
Serial.print(" % | ");
// Logika lampu indikator
if (t < 20.0) {
setRGB(LOW, HIGH, LOW); // Hijau menyala
Serial.println("LED Status: Cold");
}
else if (t >= 20.0 && t <= 30.0) {
setRGB(LOW, LOW, HIGH); // Biru menyala
Serial.println("LED Status: Normal");
}
else {
setRGB(HIGH, LOW, LOW); // Merah menyala
Serial.println("LED Status: Hot");
}
}