9#define BLYNK_TEMPLATE_ID "TMPL6E5lZTIFq"
#define BLYNK_TEMPLATE_NAME "Monitoring Room Data Center"
#define BLYNK_AUTH_TOKEN "3dOzV9LI4A3guPvzuml2pCkfhdC9chLH"
#include <WiFi.h>
#include<WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHTesp.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
char auth[]=BLYNK_AUTH_TOKEN;
char ssid[]="Wokwi-GUEST";
char pass[]="";
BlynkTimer timer;
int Relay = 2;
int PIR =12;
int Relay2= 14;
int DHT =15;
int LedHijau =17;
int LedMerah =18;
int Buzzer =19;
//int SW_relay=0;
int value0;
DHTesp dht;
int nilai_digital;
BLYNK_WRITE(V0)
{
value0=param.asInt();
if(value0==1)
{
digitalWrite(Relay, HIGH);
Serial.println("KIPAS NYALA");
Blynk.virtualWrite(V0, value0);
}
else
{
digitalWrite(Relay, LOW);
Serial.println("KIPAS MATI");
Blynk.virtualWrite(V0, value0);
}
}
void setup()
{
//dht.begin();
dht.setup(DHT,DHTesp::DHT22);
Serial.begin(115200);
lcd.init();
lcd.setBacklight(255);
lcd.clear();
lcd.setCursor (0,0);
lcd.print("***MONITORING***");
lcd.setCursor(0,1);
lcd.print("***RUANG SERVER***");
delay(1000);
lcd.clear();
pinMode(Relay, OUTPUT);
pinMode(Relay2, OUTPUT);
pinMode(PIR, INPUT);
pinMode(LedMerah, OUTPUT);
pinMode(LedHijau, OUTPUT);
pinMode(Buzzer, OUTPUT);
Blynk.begin(auth,ssid,pass);
WiFi.disconnect();
WiFi.begin(ssid, pass);
while ((!(WiFi.status() == WL_CONNECTED)))
{
delay(500);
Serial.print(".");
}
}
void loop()
{
Blynk.run();
timer.run();
TempAndHumidity data=dht.getTempAndHumidity();
Serial.print("Humidity: ");
Serial.print (data.humidity);
Serial.print("% Temperatur: ");
Serial.print(data.temperature);
Serial.println(" C");
if (data.temperature > 25 || data.temperature < 20)
{
lcd.setCursor (0,0);
lcd.print(" SUHU RUANGAN ");
lcd.setCursor (0,1);
lcd.print(" BERBAHAYA ");
//tone(Buzzer, 50);
digitalWrite(Buzzer, HIGH);
digitalWrite(LedMerah, HIGH);
digitalWrite(LedHijau, LOW);
Serial.println("SUHU RUANGAN BERBAHAYA");
Blynk.virtualWrite(V1,data.humidity);
Blynk.virtualWrite(V2, data.temperature);
delay(2000);
lcd.clear();
}
else
{
lcd.setCursor (0,0);
lcd.print(" SUHU RUANGAN ");
lcd.setCursor (0,1);
lcd.print(" AMAN ");
digitalWrite(Buzzer, LOW);
digitalWrite(LedMerah, LOW);
digitalWrite(LedHijau, HIGH);
//noTone(Buzzer);
Serial.println("SUHU RUANGAN AMAN");
delay(2000);
Blynk.virtualWrite(V1,data.humidity);
Blynk.virtualWrite(V2, data.temperature);
lcd.clear();
}
// Blynk.virtualWrite(V1,data.humidity);
// Blynk.virtualWrite(V2, data.temperature);
// Blynk.virtualWrite(V4, data.temperature);
//pernyataan pir
nilai_digital = digitalRead(PIR);
if(nilai_digital == HIGH)
{
Serial.println(" LAMPU RUANGAN NYALA");
digitalWrite(Relay2,HIGH);
Blynk.virtualWrite(V3,"LAMPU RUANGAN MENYALA");
}
else
{
Serial.println(" LAMPU RUANGAN MATI");
digitalWrite(Relay2, LOW);
Blynk.virtualWrite(V3,"LAMPU RUANGAN MATI");
}
delay(2000);
}