#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 4
#define LED1 2
#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, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(pirdata, INPUT);
dht.begin();
Blynk.begin(auth, ssid, pass);
}
void loop() {
value = digitalRead(pirdata);
if (value == HIGH)
{
digitalWrite(LED1, HIGH);
if (pirstate == LOW)
{
// put your main code here, to run repeatedly:
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);
//Menampilkan data di serial monitor
Serial.print("Suhu = ");
Serial.print(t);
Serial.print("---");
Serial.print("Kelembaban = ");
Serial.print(h);
Serial.print("---");
if (t <= 25)
{
digitalWrite(LED, LOW);
Serial.println("LED NMATI");
Blynk.virtualWrite(V3, 0);
}
else
{
digitalWrite(LED, HIGH);
Serial.println("LED NYAYA");
Blynk.virtualWrite(V3, 1);
}
Serial.println("GERAKAN TERDETEKSI!");
pirstate = HIGH;
}
}
else
{
digitalWrite(LED1, LOW);
if (pirstate == HIGH)
{
Serial.println("TIDAK ADA GERAKAN!");
pirstate = LOW;
}
}
Blynk.run();
timer.run();
}