#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 5 // Pin yang terhubung ke sensor DHT
#define DHTTYPE DHT22 // Jenis sensor DHT yang digunakan (DHT22)
DHT_Unified dht(DHTPIN, DHTTYPE);
const int greenLED = 4; // Pin untuk LED hijau
const int yellowLED = 3; // Pin untuk LED kuning
const int redLED = 2; // Pin untuk LED merah
void setup() {
// Inisialisasi komunikasi dengan sensor DHT
dht.begin();
// Set pin LED sebagai output
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(redLED, OUTPUT);
// Awalnya matikan semua lampu indikator
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
// Inisialisasi Serial Monitor
Serial.begin(9600);
}
void loop() {
// Baca data suhu dari sensor DHT
sensors_event_t event;
dht.temperature().getEvent(&event);
if (isnan(event.temperature)) {
Serial.println("Error membaca suhu!");
} else {
float suhu = event.temperature;
// Tampilkan suhu pada Serial Monitor
Serial.print("Suhu: ");
Serial.println(suhu);
// Atur lampu indikator berdasarkan kondisi suhu
if (suhu < 25) {
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
} else if (suhu >= 25 && suhu <= 30) {
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, LOW);
} else {
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, HIGH);
}
}
delay(2000); // Delay selama 2 detik sebelum membaca suhu lagi
}