#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <WiFi.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTPIN 18
#define DHTTYPE DHT22
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6fDDX7Fsv"
#define BLYNK_TEMPLATE_NAME "systemSuhu"
#define BLYNK_AUTH_TOKEN "jSGgRplZ9qUE88wTxkf4KVssWO4hymGh"
#include <BlynkSimpleEsp32.h>
const int relay1 = 17;
const int relay2 = 16;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
WiFi.begin("Wokwi-GUEST", "", 6);
Blynk.begin(BLYNK_AUTH_TOKEN, "Wokwi-GUEST", "");
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
Serial.println();
delay(1000);
float h = dht.readHumidity();
float t = dht.readTemperature();
lcd.setCursor(0, 0);
lcd.print("Humidity: " + String(h) + "%");
lcd.setCursor(0, 1);
lcd.print("Temp: " + String(t) + " C");
Blynk.virtualWrite(V0, h);
Blynk.virtualWrite(V1, t);
//relay1 pemanas
if (t <= 36) {
digitalWrite(relay1, HIGH);
} else {
digitalWrite(relay1, LOW);
}
//relay1 kipas
if (t >= 37) {
digitalWrite(relay2, HIGH);
} else {
digitalWrite(relay2, LOW);
}
Blynk.run();
}