#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_TEMPLATE_ID "TMPL6wxqaE8CL"
#define BLYNK_TEMPLATE_NAME "ESP32 IOT LIGHT"
#define BLYNK_AUTH_TOKEN "kjNVX2-BbDDSVLbd06-qm7eEyw07DWuP"
#define ECHO_PIN_1 18
#define TRIG_PIN_1 5
#define ECHO_PIN_2 25
#define TRIG_PIN_2 33
#define LED_1 2
#define LED_2 4
char auth[] = BLYNK_AUTH_TOKEN ; //Auth Token
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = ""; //password hotspot yang digunakan
void setup() {
Serial.begin(115200);
pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(TRIG_PIN_1, OUTPUT);
pinMode(ECHO_PIN_1, INPUT);
pinMode(TRIG_PIN_2, OUTPUT);
pinMode(ECHO_PIN_2, INPUT);
WiFi.begin(ssid, pass, 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
Blynk.begin(auth, ssid, pass);
}
float calculateDistance1() {
digitalWrite(TRIG_PIN_1, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN_1, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN_1, LOW);
int duration = pulseIn(ECHO_PIN_1, HIGH);
return duration * 0.034 / 2;
}
float calculateDistance2() {
digitalWrite(TRIG_PIN_2, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN_2, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN_2, LOW);
int duration = pulseIn(ECHO_PIN_2, HIGH);
return duration * 0.034 / 2;
}
void loop() {
float distance1 = calculateDistance1();
float distance2 = calculateDistance2();
bool nearby = distance1 < 200 || distance2 < 200;
digitalWrite(LED_1, nearby);
digitalWrite(LED_2, nearby);
Serial.print("Measured distance 1: ");
Serial.println(calculateDistance1());
Serial.print("Measured distance 2: ");
Serial.println(calculateDistance2());
if(nearby){
delay(1000);
}else{
delay(100);
}
Blynk.virtualWrite(A0, nearby ? 1 : 0);
Blynk.virtualWrite(V0, distance1);
Blynk.virtualWrite(V1, distance2);
}