#define BLYNK_TEMPLATE_ID "TMPL3h91gcgsP"
#define BLYNK_TEMPLATE_NAME "servo motor"
#define BLYNK_AUTH_TOKEN "MxWc1sfub5nA9E--2qLkXwFUs3ZybrdE"
#include <ESP32Servo.h>
#define TRIG_PIN 5
#define ECHO_PIN 18
#define SERVO_PIN 13
Servo myservo;
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
myservo.attach(SERVO_PIN);
}
long readUltrasonicDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
long distance = (duration * 0.034) / 2;
return distance;
}
void loop() {
for (int pos = 0; pos <= 180; pos += 10) {
myservo.write(pos);
delay(500); // Wait for the servo to reach the position
long distance = readUltrasonicDistance();
Serial.print("Position: ");
Serial.print(pos);
Serial.print(" degrees, Distance: ");
Serial.print(distance);
Serial.println(" cm");
}
for (int pos = 180; pos >= 0; pos -= 10) {
myservo.write(pos);
delay(500);
long distance = readUltrasonicDistance();
Serial.print("Position: ");
Serial.print(pos);
Serial.print(" degrees, Distance: ");
Serial.print(distance);
Serial.println(" cm");
}
}