#define BLYNK_TEMPLATE_ID "TMPL6ZpxTq_dh"
#define BLYNK_TEMPLATE_NAME "LEDWokwi"
#define BLYNK_AUTH_TOKEN "6UH3JoFTdplyf1Dz29A0MKakU7z875cb"
#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHTesp.h> //Library untuk DHT

char auth[] = BLYNK_AUTH_TOKEN ; //Auth Token
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = ""; //password hotspot yang digunakan

const int DHT_PIN = 15;//data DHT pin masuk 


DHTesp dht;

BlynkTimer timer;
//function untuk pengiriman sensor
void sendSensor()
{
 TempAndHumidity  data = dht.getTempAndHumidity();

//menampilkan temperature pada Serial monitor
Serial.print(" Temperature: ");
Serial.print(data.temperature);
Serial.println("C ");
Serial.print(" Kelembaban: ");
Serial.print(data.humidity);
Serial.println("% ");

Blynk.virtualWrite(V3, data.temperature); //mengirimkan data temperatur ke Virtual pin VO di Blynk Cloud
Blynk.virtualWrite(V4, data.humidity); //mengirimkan data kelemaban ke Virtual pin V1 di Blynk Cloud
}


void setup()
{
// Debug console
Serial.begin(115200); //serial monitor menggunakan bautrate 9600
dht.setup(DHT_PIN, DHTesp::DHT22);
Blynk.begin(auth, ssid, pass); //memulai Blynk
timer.setInterval(1000, sendSensor); //Mengaktifkan timer untuk pengiriman data 500ms
}

void loop()
{

Blynk.run(); //menjalankan blynk
timer.run(); //menjalankan timer
}