#include <DHT.h>
#define DHT_SENSOR_PIN 15
#define DHT_SENSOR_TYPE DHT22
DHT dht(DHT_SENSOR_PIN, DHT_SENSOR_TYPE);//Pin, jenis DHT
int LED_HIJAU = 14;
int LED_KUNING = 12;
int LED_MERAH = 13;
int buzzer = 13;
//Blynk
#define BLYNK_TEMPLATE_ID "TMPL69z_2Ca5S"
#define BLYNK_TEMPLATE_NAME "ESP32 DHT22"
#define BLYNK_AUTH_TOKEN "WG2KLgEm6E8TpPKFW0E87G4Wv_nncjfM"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN; //Auth Token
char ssid[] = "Wokwi-GUEST"; //nama Hospot yang digunakan
char pass[] = ""; //password Hospot
BlynkTimer timer;
void setup() {
Serial.begin(115200);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(14, OUTPUT);
pinMode(buzzer, OUTPUT);
Blynk.begin(auth,ssid,pass);
dht.begin();
}
void loop() {
float kel = dht.readHumidity();
float suh = dht.readTemperature();
if(suh<20){
digitalWrite(14, HIGH);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
Serial.println("DINGIN - LED HIJAU MENYALA");
Serial.print("Temperature: ");
Serial.print(suh);
Serial.println("C ~");
Serial.print("Humidity ");
Serial.print(kel);
Serial.println("% ~");
delay(500);
Blynk.virtualWrite(V0, suh);
Blynk.virtualWrite(V1, kel);
Blynk.virtualWrite(V14, 1);
Blynk.virtualWrite(V12, 0);
Blynk.virtualWrite(V15, 0);
}
if(suh>=20 && suh<=30){
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(14, LOW);
Serial.println("HANGAT - LED KUNING MENYALA");
Serial.print("Temperature: ");
Serial.print(suh);
Serial.println("C ~");
Serial.print("Humidity ");
Serial.print(kel);
Serial.println("% ~");
delay(500);
Blynk.virtualWrite(V0, suh);
Blynk.virtualWrite(V1, kel);
Blynk.virtualWrite(V13, 0);
Blynk.virtualWrite(V12, 1);
Blynk.virtualWrite(V15, 0);
}
if(suh>30){
digitalWrite(14, LOW);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
digitalWrite(13, HIGH);
Serial.println("PANAS - LED MERAH MENYALA");
Serial.print("Temperature: ");
Serial.print(suh);
Serial.println("C ~");
Serial.print("Humidity ");
Serial.print(kel);
Serial.println("% ~");
Blynk.virtualWrite(V0, suh);
Blynk.virtualWrite(V14, 0);
Blynk.virtualWrite(V12, 0);
Blynk.virtualWrite(V15, 1);
tone(buzzer, 1000);
delay(1000);
// Blynk.virtualWrite(V13, 0);
noTone(1000);
}
float udara = kel + suh;
if (suh<=40 && kel>=50){
Serial.println("KUALITAS UDARA BAIK");
Serial.println(udara);
Blynk.virtualWrite(V0, suh);
Blynk.virtualWrite(V1, kel);
Blynk.virtualWrite(V13, udara);
}
if (suh>=40 && kel<=50) {
Serial.println("KUALITAS UDARA TIDAK BAIK");
Serial.println(udara);
Blynk.virtualWrite(V0, suh);
Blynk.virtualWrite(V1, kel);
Blynk.virtualWrite(V13, udara);
}
Blynk.run();
timer.run();
}