#define BLYNK_TEMPLATE_ID "TMPL37zKTQnZA"
#define BLYNK_TEMPLATE_NAME "Research Project"
#define BLYNK_AUTH_TOKEN "Y7mtXzcJiy4dG-fRq06oG8636YTEpnuU"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
// Wi-Fi credentials for STA mode (to connect to your router)
const char* wifiSSID = "Wokwi-GUEST";
const char* wifiPassword = "";
// Blynk credentials
// Define pin connections
const int potPin = 34; // Potentiometer connected to GPIO34
const int trigPin = 26; // Ultrasonic sensor TRIG connected to GPIO26
const int echoPin = 27; // Ultrasonic sensor ECHO connected to GPIO27
// Function to read potentiometer value
int getPotValue() {
int potValue = analogRead(potPin);
int potPercent = map(potValue, 0, 4095, 0, 100); // Convert to percentage (0–100%)
return potPercent;
}
// Function to read ultrasonic sensor value
float getUltrasonicValue() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2; // Convert to centimeters
return constrain(distance, 0, 100); // Clamp to 0–100 cm
}
void setup() {
// Initialize serial communication
Serial.begin(115200);
// Initialize Wi-Fi
WiFi.begin(wifiSSID, wifiPassword);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Initialize Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, wifiSSID, wifiPassword);
// Set ultrasonic sensor pins
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Run Blynk
Blynk.run();
// Read sensor values
int potValue = getPotValue();
float ultrasonicValue = getUltrasonicValue();
// Send data to Blynk
Blynk.virtualWrite(V0, potValue); // Potentiometer value to Virtual Pin V0
Blynk.virtualWrite(V1, ultrasonicValue); // Ultrasonic value to Virtual Pin V1
// Print values to serial for debugging
Serial.print("Potentiometer: ");
Serial.print(potValue);
Serial.print("%, Ultrasonic: ");
Serial.print(ultrasonicValue);
Serial.println(" cm");
}