#define BLYNK_TEMPLATE_ID "TMPL6zfUogOIW"
#define BLYNK_TEMPLATE_NAME "ESP32 DHT22"
#define BLYNK_AUTH_TOKEN"JV_vPab9XqU50h6b-AsG32sr6Ammjxil"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Liquid Crystal_I2C.h>
#include <DHT.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST"; //Kedai Yurimix
char pass[] = "";//Devanley515
#define DHTPIN 13// Mention the digital pin where you connected
#define DHTTYPE DHT22// DHT 11
LiquidCrystal_I2C lcd (0x27, 16, 2);
DHT dht (DHTPIN, DHTTYPE);
BlynkTimer timer;
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
//Blynk.begin(auth, ssid, pass, IPAddress (192,168,1,100), 8080);
dht.begin();
timer.setInterval(2500L, sendSensor);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print (F(" Monitor Suhu"));
lcd.setCursor(0, 1);
lcd.print(F(" & Kelembapan"));
delay(2000);
lcd.clear();
delay(1000);
}
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!");
lcd.setCursor(0, 0); lcd.print (F(" Tidak terbaca"));
return;
}
Blynk.virtualWrite(V1, h);
Blynk.virtualWrite(ve, t);
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" Humidity : ");
Serial.println(h);
//if (t > 30) {
// Blynk.email("[email protected]", "Alert", "Temperature over 28C!");
// Blynk.logEvent("temp_alert", "Temp above 30 degrees");
//}
//Display data ke LCD => tampung di data string
String print_suhu = "Suhu : " + String (t) + "C";
String print_humd = "Lembap: " + String (h) + "%";
lcd.setCursor(0, 0); lcd.print (print_suhu);
lcd.setCursor(0, 1); lcd.print (print_humd);
}