#define BLYNK_TEMPLATE_ID "TMPL66uMLq6Yy"
#define BLYNK_TEMPLATE_NAME "ESP32 Yonoo"
#define BLYNK_AUTH_TOKEN "FPRWf-FFgNZfnr57iTqRzbh9N3Y0YiZ3"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32Servo.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
Servo servo;
#include <DHTesp.h>
const int DHT_PIN = 15;
byte led = 5;
DHTesp dhtSensor;
float suhu, kelembaman;
void setup()
{
Serial.begin(115200);
servo.attach(18, 500, 2400);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
timer.setInterval(1000L, myTimerEvent);
pinMode(led, OUTPUT);
}
void myTimerEvent()
{
TempAndHumidity data = dhtSensor.getTempAndHumidity();
suhu = data.temperature;
kelembaman = data.humidity;
Serial.println("Suhu: " + String(suhu, 1) + "C");
Serial.println("Kelembaman: " + String(kelembaman, 1) + "%");
if (suhu > 40)
{
Serial.println("TEMPERATURE UP");
servo.write(180);
// delay(1000);
// servo.write(0);
// delay(1000);
}
if (suhu > 10 < 40)
{
Serial.println("TEMPERATURE NORMAL");
servo.write(90);
}
if (suhu < 10)
{
Serial.println("TEMPERATURE DOWN");
servo.write(0);
}
// delay(1000);
Blynk.virtualWrite(V0, suhu);
Blynk.virtualWrite(V1, kelembaman);
}
BLYNK_WRITE(V2)
{
int pinValue = param.asInt();
Serial.print("V2 Switch value is: ");
Serial.println(pinValue);
digitalWrite(led, pinValue);
}
void loop()
{
Blynk.run();
timer.run();
}