#define BLYNK_TEMPLATE_ID "TMPL6he9wLRPY"
#define BLYNK_TEMPLATE_NAME "KONTROL SUHU DAN KEMBAPAN DHT22"
#define BLYNK_AUTH_TOKEN "RZdshWZ1Yr89TgpziX0TSdAQI-mVuA8I"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = ""; //password hotspot yang digunakan
#define DHTPIN 5 //KONEKSI PIN DHT22 KE ESP32
#define DHTTYPE DHT22 //TYPE SENSOR DHT YANG DI PAKAI
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
void setup(){
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
dht.begin();
timer.setInterval(2500L, sendSensor);
pinMode(16, OUTPUT);
pinMode(4, OUTPUT);
pinMode(12, OUTPUT);
pinMode(14, OUTPUT);
}
void loop(){
Blynk.run();
timer.run();
}
void sendSensor(){
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V1, h);
Blynk.virtualWrite(V0, t);
Serial.print("Temperature : ");
Serial.print(t);
Serial.print(" Humidity : ");
Serial.println(h);
//ini logika untuk menyalakan LED berdasarkan SUHU
if(t < 30)
{
digitalWrite(16, HIGH);
Blynk.virtualWrite(V2, "LEMBAB/SEJUK");
}
else
{
digitalWrite(16, LOW);
Blynk.virtualWrite(V2, "PANAS");
}
if(t > 50)
{
digitalWrite(4, HIGH);
}
else
{
digitalWrite(4, LOW);
}
//LOGIKA UNTUK MENYALAKAN LED BERDASARAKAN KELEMBAPAN
if(h < 30)
{
digitalWrite(12, HIGH);
}
else
{
digitalWrite(12, LOW);
}
if(h > 50)
{
digitalWrite(14, HIGH);
}
else
{
digitalWrite(14, LOW);
}
}
BLYNK_WRITE(V6)
{
int pinValue = param.asInt(); // assigning incoming value from pin V0 to a variable
if (pinValue == 1)
{
digitalWrite(4, HIGH);
}
else {
digitalWrite(4, LOW);
}
// process received value
}