#define BLYNK_PRINT Serial
/* Fill in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID "TMPLfAiAKWQC"
#define BLYNK_TEMPLATE_NAME "Latihan IoT"
#define BLYNK_AUTH_TOKEN "H1I1XmArD3DmpXrEZ8ybZGrZY4hvYatK"
//untuk ESP32
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
//untuk ESP8266
//#include <ESP8266WiFi.h>
//#include <BlynkSimpleEsp8266.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
#define RELAY1_PIN 2
#define RELAY2_PIN 4
#define TOGGLE1_PIN 5
#define TOGGLE2_PIN 18
#define TOGGLE3_PIN 19
int relay1_value, relay2_value = 0;
int toggle1_state, toggle2_state, toggle3_state;
BLYNK_CONNECTED() {
Blynk.syncAll();
}
BLYNK_WRITE(V0) {
relay1_value = param.asInt();
digitalWrite(RELAY1_PIN, relay1_value);
}
BLYNK_WRITE(V1) {
relay2_value = param.asInt();
digitalWrite(RELAY2_PIN, relay2_value);
}
void send_kondisi_pintu() {
toggle1_state = digitalRead(TOGGLE1_PIN);
toggle2_state = digitalRead(TOGGLE2_PIN);
toggle3_state = digitalRead(TOGGLE3_PIN);
if (toggle1_state == 1) {
Blynk.virtualWrite(V2, "Pintu Utama Terbuka");
} else {
Blynk.virtualWrite(V2, "Pintu Utama Tertutup");
}
if (toggle2_state == 1) {
Blynk.virtualWrite(V3, "Pintu Belakang Terbuka");
} else {
Blynk.virtualWrite(V3, "Pintu Belakang Tertutup");
}
if (toggle3_state == 1) {
Blynk.virtualWrite(V4, "Jendela Samping Terbuka");
} else {
Blynk.virtualWrite(V4, "Jendela Samping Tertutup");
}
}
void setup() {
Serial.begin(9600);
pinMode(RELAY1_PIN, OUTPUT);
pinMode(RELAY2_PIN, OUTPUT);
pinMode(TOGGLE1_PIN, INPUT);
pinMode(TOGGLE2_PIN, INPUT);
pinMode(TOGGLE3_PIN, INPUT);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(100L, send_kondisi_pintu);
}
void loop() {
Blynk.run();
timer.run();
}