#include "DHTesp.h"
#define BLYNK_TEMPLATE_ID "TMPL66y7J_YVz"
#define BLYNK_TEMPLATE_NAME "eSP32 DHT22 Monitoring Blynk IOT"
#define BLYNK_AUTH_TOKEN "K0TYIrmAzgIZAcmtUuC3V5DoWLRWYRej"
#define BLYNK_PRINT Serial
const int DHT_PIN = 15;
DHTesp dhtSensor;
int Suhu;
int Kelembapan;
#define ledm 12
#define ledh 14
#define ledb 13
#define ledu 18
#define ledk 22
#define ledo 23
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void myTimerEvent() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Kelembapan = data.humidity;
Suhu = data.temperature;
Blynk.virtualWrite(V0, Kelembapan);
Blynk.virtualWrite(V1, Suhu);
Serial.println(("Temp: " + String(data.temperature, 2) + "°C")); //2 berarti 2 angka belakang koma
Serial.println(("Humidity: " + String(data.humidity, 1) + "%"));
Serial.println("---");
pinMode(ledm, OUTPUT);
pinMode(ledh, OUTPUT);
pinMode(ledb, OUTPUT);
pinMode(ledu, OUTPUT);
pinMode(ledk, OUTPUT);
pinMode(ledo, OUTPUT);
}
void setup() {
Serial.begin(115200); // kecepatan bit per sec
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(1000L, myTimerEvent);
}
void loop(){
Blynk.run();
timer.run();
if (Suhu > 35.00) {
digitalWrite(ledm, HIGH);
digitalWrite(ledh, LOW);
digitalWrite(ledb, LOW);
digitalWrite(ledu, LOW);
digitalWrite(ledk, LOW);
digitalWrite(ledo, LOW);
}
else {
digitalWrite(ledm, LOW);
}
if (Suhu < 35.00 ) {
digitalWrite(ledh, HIGH);
digitalWrite(ledm, LOW);
digitalWrite(ledb, LOW);
digitalWrite(ledu, LOW);
digitalWrite(ledk, LOW);
digitalWrite(ledo, LOW);
}
else {
digitalWrite(ledh, LOW);
}
if (Suhu < 18.00) {
digitalWrite(ledb, HIGH);
digitalWrite(ledh, LOW);
digitalWrite(ledm, LOW);
digitalWrite(ledu, LOW);
digitalWrite(ledk, LOW);
digitalWrite(ledo, LOW);
}
else {
digitalWrite(ledb, LOW);
}
if (Kelembapan > 50) {
digitalWrite(ledu, HIGH);
digitalWrite(ledb, LOW);
digitalWrite(ledh, LOW);
digitalWrite(ledm, LOW);
digitalWrite(ledk, LOW);
digitalWrite(ledo, LOW);
}
else {
digitalWrite(ledu, LOW);
}
if (Suhu > 35.00 < 50.00) {
digitalWrite(ledk, HIGH);
digitalWrite(ledu, LOW);
digitalWrite(ledb, LOW);
digitalWrite(ledh, LOW);
digitalWrite(ledm, LOW);
digitalWrite(ledo, LOW);
}
else {
digitalWrite(ledk, LOW);
}
}