#define BLYNK_TEMPLATE_ID "YourTemplateID"
#define BLYNK_DEVICE_NAME "YourDeviceName"
#define BLYNK_AUTH_TOKEN "YourAuthToken"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "YourAuthToken"; // Replace with your Blynk Auth Token
char ssid[] = "YourSSID"; // Replace with your WiFi SSID
char pass[] = "YourPassword"; // Replace with your WiFi password
const int trigPin = 5;
const int echoPin = 18;
long duration;
int distance;
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Optional: Set up LED pins
pinMode(19, OUTPUT);
pinMode(21, OUTPUT);
}
void loop() {
Blynk.run();
measureDistance();
}
void measureDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
Blynk.virtualWrite(V0, distance); // Send distance to Blynk app
// Optional: LED indicators
if (distance < 10) {
digitalWrite(19, HIGH); // Bin full
digitalWrite(21, LOW);
} else {
digitalWrite(19, LOW);
digitalWrite(21, HIGH); // Bin empty
}
delay(2000);
}