// Kode token untuk koneksi ke Blynk
//#define BLYNK_TEMPLATE_ID "TMPL60Gy2nyWa"
//#define BLYNK_DEVICE_NAME "lampupertama"
//#define BLYNK_AUTH_TOKEN "9WzpiLZCaS1VuZ9OZIrVPK5iKXlhutpb"
// Comment this out to disable prints and save space
//#define BLYNK_PRINT Serial
// Library yang digunakan
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
//#include <WiFi.h>
//#include <WiFiClient.h>
//#include <BlynkSimpleEsp32.h>
#define LED1 25
#define LED2 32
//#define BLYNK_PRINT Serial
const int DHT_PIN = 13;
DHT dhtSensor(DHT_PIN, DHT22);
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
// Menyambungkan ke WiFi
//char ssid[] = "Wokwi-GUEST";
//char pass[] = "";
//BlynkTimer timer;
float temperature, humidity;
void setup () {
Serial.begin(115200);
// SUHU DAN BLYNK
//Blynk.begin(auth, ssid, pass);
dhtSensor.begin();
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
// MONITOR
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
// Set the update interval for sending sensor data to Blynk
//timer.setInterval(2000L, sendSensor);
}
void loop () {
//Blynk.run();
//timer.run();
// LCD Display
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("T:");
LCD.print(temperature);
LCD.print("°C");
LCD.setCursor(8, 0);
LCD.print("H:");
LCD.print(humidity);
LCD.print("%");
delay (1000);
sendSensor();
if (temperature >=35)
{
LCD.setCursor(0, 1);
LCD.print("Suhu Panas ");
delay (2000);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
}
else
{
LCD.setCursor(0, 1);
LCD.print("Suhu Adem ");
delay (2000);
digitalWrite(LED2, HIGH);
digitalWrite(LED1, LOW);
}
}
void sendSensor() {
temperature = dhtSensor.readTemperature(); // Baca suhu
humidity = dhtSensor.readHumidity(); // Baca kelembaban
Serial.print("Temp: ");
Serial.print(temperature, 1);
Serial.println("C");
Serial.print("Humidity: ");
Serial.print(humidity, 1);
Serial.println("%");
Serial.println("---");
//Blynk.virtualWrite(V3, temperature); // Mengirim data suhu ke Virtual Pin V0 di Blynk Cloud
//Blynk.virtualWrite(V0, humidity);
//digitalWrite(LED, HIGH);
}