#include "DHT.h"
#include <Wire.h>
#define DHTPIN 13 // D4
#define DHTTYPE DHT22
#define ledBlue 27 // D6
#define ledGreen 14 // D7
#define ledRed 12 // D8
float minimalSuhu = 20;
float maksimalSuhu = 30;
String keterangan;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(ledBlue, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledRed, OUTPUT);
Serial.println("Sensor Suhu Aktif");
delay(2000);
}
void loop() {
float kelembapan = dht.readHumidity();
float suhu = dht.readTemperature();
if (isnan(suhu) || isnan(kelembapan)) {
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
delay(600);
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
delay(600);
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, HIGH);
delay(600);
} else {
if (suhu < minimalSuhu) {
keterangan = "Terlalu Dingin";
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, LOW);
}
else if (suhu >= minimalSuhu && suhu <= maksimalSuhu) {
keterangan = "Suhu ideal";
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
}
else if (suhu > maksimalSuhu) {
keterangan = "Terlalu Panas";
digitalWrite(ledBlue, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(ledRed, HIGH);
}
delay(200);
}
}