/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
/* Fill in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID "TMPL68aEcLg2E"
#define BLYNK_TEMPLATE_NAME "Virtual Pin"
#define BLYNK_AUTH_TOKEN "zCRyQAhEYD58oxjs8GHBCKunh3LgzMXf"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "BBPVP BEKASI ELECTRONIC";
char pass[] = "Bbpvp2024Elektro";
#include "DHT.h"
#define DHTPIN D5 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
#include <LCD_I2C.h>
LCD_I2C lcd(0x27, 16, 2);
int setpoint;
float temp;
float humid;
#define buzz D8
#define led1 D6
#define led2 D7
BLYNK_WRITE(V0) {
setpoint = param.asInt();
}
void setup() {
lcd.begin();
lcd.backlight();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(buzz, OUTPUT);
Serial.begin(9600);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
dht.begin();
timer.setInterval(1000L, data);
// Blynk.virtualWrite(V0,"Monitoring Suhu dengan Sensor DHT 11");
}
void loop() {
Blynk.run();
timer.run();
if (temp > setpoint) {
digitalWrite(led1, HIGH);
Blynk.virtualWrite(V1, 1);
// Blynk.virtualWrite(V0, "LED Menyala");
}
else if (temp > 40) {
digitalWrite(led2, HIGH);
digitalWrite(buzz, HIGH);
Blynk.virtualWrite(V2, 1);
// Blynk.virtualWrite(V0, "LED Mati");
}
else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(buzz, LOW);
Blynk.virtualWrite(V1, 0);
Blynk.virtualWrite(V2, 0);
}
}
void data() {
temp = dht.readTemperature();
humid = dht.readHumidity();
Blynk.virtualWrite(V1, temp); //gauge temperature
Blynk.virtualWrite(V2, setpoint); //gauge humidity
Serial.print("Suhu: ");
Serial.println(temp);
Serial.print("Kelembaban: ");
Serial.println(humid);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" ");
lcd.print(char(223));
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Humid: ");
lcd.print(humid);
lcd.print("%");
}