#include "DHT.h"
#define DHTPIN 12 // Pin DHT22
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
int redLight = 6;
int yellowLight = 5;
int greenLight = 4;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("=== Selamat Mencoba DHT 22 ===");
Serial.println("=== System Embedded ===");
Serial.println("=== By Rudi Hidayat, S.Pd., MT ===");
dht.begin();
pinMode(redLight, OUTPUT);
pinMode(yellowLight, OUTPUT);
pinMode(greenLight, OUTPUT);
}
void loop() {
delay(1000); // Tunggu 1 detik untuk pembacaan selanjutnya
float h = dht.readHumidity(); // Baca kelembapan
float t = dht.readTemperature(); // Baca suhu dalam Celsius
// Logika untuk menyalakan LED berdasarkan suhu
if (t < 25) { // Jika suhu kurang dari 25°C
digitalWrite(greenLight, HIGH);
digitalWrite(redLight, LOW);
digitalWrite(yellowLight, LOW);
} else if (t >= 25 && t <= 35) { // Jika suhu antara 25°C - 35°C
digitalWrite(yellowLight, HIGH);
digitalWrite(greenLight, LOW);
digitalWrite(redLight, LOW);
} else if (t > 35) { // Jika suhu lebih dari 35°C
digitalWrite(redLight, HIGH);
digitalWrite(yellowLight, LOW);
digitalWrite(greenLight, LOW);
}
// Menampilkan hasil pembacaan suhu dan kelembapan ke serial monitor
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C\t");
Serial.print("Humidity: ");
Serial.print(h);
Serial.println(" %");
}