#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

// Definisi pin
#define DHTPIN 4        // Pin data DHT22
#define DHTTYPE DHT22   // Jenis sensor DHT22

#define RED_LED 25      // LED Merah suhu panass
#define GREEN_LED 14    // LED Hijau suhu normal
#define BLUE_LED 26     // LED Biru suhu dingin

DHT dht(DHTPIN, DHTTYPE);

void setup() {
    Serial.begin(9600);
    pinMode(RED_LED, OUTPUT);
    pinMode(GREEN_LED, OUTPUT);
    pinMode(BLUE_LED, OUTPUT);
    dht.begin();
}

void loop() {
  float nilaisensor = dht.readTemperature();

  // Cek apakah pembacaan suhu berhasil
  if (isnan(nilaisensor)) {
      Serial.println("Gagal membaca suhu dari DHT22!");
      return;
  }

    Serial.print("Nilai sensor suhu DHT22 = ");
    Serial.println(nilaisensor);

    // Pengkondisian lampu LED berdasarkan suhunya
    if (nilaisensor > 30) {
        digitalWrite(RED_LED, HIGH);
        digitalWrite(GREEN_LED, LOW);
        digitalWrite(BLUE_LED, LOW);
    } else if (nilaisensor >= 20 && nilaisensor <= 30) {
        digitalWrite(RED_LED, LOW);
        digitalWrite(GREEN_LED, HIGH);
        digitalWrite(BLUE_LED, LOW);
    } else {
        digitalWrite(RED_LED, LOW);
        digitalWrite(GREEN_LED, LOW);
        digitalWrite(BLUE_LED, HIGH);
    }

    delay(2000); 
}