#define BLYNK_TEMPLATE_ID "TMPLZRbuoAFO"
#define BLYNK_DEVICE_NAME "KONTROL KIPAS DAN LAMPU"
#define BLYNK_AUTH_TOKEN "8hINpLi8TStpf3fxU4wKNVCcL6Z8ovsk"
#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dhtSensor;
int suhu;
int mode;
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void myTimerEvent()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
suhu=data.temperature;
Blynk.virtualWrite(V0, suhu);
if(mode==1){
if(suhu<=28){
digitalWrite(14, LOW);
Blynk.virtualWrite(V1, 0);
digitalWrite(12, LOW);
Blynk.virtualWrite(V2, 0);
}
if(suhu>=29 && suhu<=30){
digitalWrite(14, HIGH);
Blynk.virtualWrite(V1, 1);
digitalWrite(12, LOW);
Blynk.virtualWrite(V2, 0);
}
if(suhu>=31 && suhu<=32){
digitalWrite(14, HIGH);
Blynk.virtualWrite(V1, 1);
digitalWrite(12, HIGH);
Blynk.virtualWrite(V2, 1);
}
if(suhu>=33){
digitalWrite(14, HIGH);
Blynk.virtualWrite(V1, 1);
digitalWrite(12, HIGH);
Blynk.virtualWrite(V2, 1);
}
}
}
BLYNK_WRITE(V1)
{
if(param.asInt()==1){
digitalWrite(14, HIGH);
}
else{
digitalWrite(14, LOW);
}
}
BLYNK_WRITE(V2)
{
if(param.asInt()==1){
digitalWrite(12, HIGH);
}
else{
digitalWrite(12, LOW);
}
}
BLYNK_WRITE(V3)
{
if(param.asInt()==1){
digitalWrite(13,HIGH);
}
else{
digitalWrite(13, LOW);
}
}
BLYNK_WRITE(V4)
{
int pinValue = param.asInt();
mode=pinValue;
}
void setup()
{
Serial.begin(115200);
pinMode(14, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, myTimerEvent);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop()
{
Blynk.run();
timer.run();
}