#include <DHT.h>
// Definisikan pin untuk sensor DHT22
#define DHTPIN 15 // Pin untuk DHT22
#define DHTTYPE DHT22 // Jenis sensor
// Inisialisasi sensor DHT22
DHT dht(DHTPIN, DHTTYPE);
// Definisikan pin LED
#define LED1_PIN 34
#define LED2_PIN 35
#define LED3_PIN 32
#define LED4_PIN 33
void setup() {
// Mulai komunikasi serial
Serial.begin(115200);
// Mulai sensor DHT22
dht.begin();
// Set pin LED sebagai OUTPUT
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(LED3_PIN, OUTPUT);
pinMode(LED4_PIN, OUTPUT);
}
void loop() {
// Membaca suhu dalam Celsius
float suhu = dht.readTemperature();
// Membaca kelembaban
float kelembaban = dht.readHumidity();
// Cek jika pembacaan gagal
if (isnan(suhu) || isnan(kelembaban)) {
Serial.println("Gagal membaca sensor DHT!");
return;
}
// Tampilkan hasil pembacaan di Serial Monitor
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" °C, ");
Serial.print("Kelembaban: ");
Serial.print(kelembaban);
Serial.println(" %");
// Mengontrol LED berdasarkan suhu
if (suhu < 20) {
digitalWrite(LED1_PIN, HIGH); // LED1 menyala jika suhu < 20°C
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
digitalWrite(LED4_PIN, LOW);
} else if (suhu >= 20 && suhu < 30) {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, HIGH); // LED2 menyala jika suhu antara 20°C dan 30°C
digitalWrite(LED3_PIN, LOW);
digitalWrite(LED4_PIN, LOW);
} else if (suhu >= 30 && suhu < 40) {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, HIGH); // LED3 menyala jika suhu antara 30°C dan 40°C
digitalWrite(LED4_PIN, LOW);
} else {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
digitalWrite(LED4_PIN, HIGH); // LED4 menyala jika suhu >= 40°C
}
delay(2000); // Delay 2 detik sebelum pembacaan berikutnya
}