#define BLYNK_TEMPLATE_ID "TMPL6DWpw2F0t"
#define BLYNK_TEMPLATE_NAME "TEMPERATUR"
#define BLYNK_AUTH_TOKEN "wntCmdIG_KQpUv3ziLG0tQ3q6tAXoP5x"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define pirdata 15
#include <DHT.h>
#define DHTPIN 18
#define LED_S 4
#define LED_G 2
#define LED_R 5
#define DHTTYPE DHT22
DHT dht (DHTPIN, DHTTYPE);
int pirstate =LOW ; // assuming no motion
int value =0; // to read pin status
char auth[] = "wntCmdIG_KQpUv3ziLG0tQ3q6tAXoP5x";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Sistem Monitoring Suhu");
pinMode(LED_S, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(pirdata, INPUT);
dht.begin();
Blynk.begin(auth, ssid, pass);
}
void loop()
{
float t = dht.readTemperature(); //menghitung suhu
float h = dht.readHumidity(); //menghitung kelembaban
delay(100);
Blynk.virtualWrite(V0, t); //mengirim data ke blynk
Blynk.virtualWrite(V1, h);
Serial.print("Suhu = ");
Serial.print(t);
Serial.print("---");
Serial.print("Kelembaban = ");
Serial.print(h);
Serial.print("---");
if (t <= 25)
{
digitalWrite(LED_S, LOW);
Serial.println("LED SUHU NMATI");
Blynk.virtualWrite(V2, 0);
}
else
{
digitalWrite(LED_S, HIGH);
Serial.println("LED SUHU NYALA");
Blynk.virtualWrite(V2, 1);
value = digitalRead(pirdata);
if (value == HIGH)
{
if (pirstate == LOW)
{
Serial.println("GERAKAN TERDETEKSI!");
digitalWrite(LED_G, HIGH);
Blynk.virtualWrite(V3, 1);
digitalWrite(LED_R, HIGH);
Blynk.virtualWrite(V4, 1);
pirstate = HIGH;
}
}
else
{
if (pirstate == HIGH)
{
Serial.println("TIDAK ADA GERAKAN!");
digitalWrite(LED_G, LOW);
Blynk.virtualWrite(V3, 0);
digitalWrite(LED_R, LOW);
Blynk.virtualWrite(V4, 0);
pirstate = LOW;
}
}
Blynk.run();
timer.run();
}
}