// Servo Sweep example for the ESP32
// https://wokwi.com/arduino/projects/323706614646309460
#include <ESP32Servo.h>
Servo myservo; // creates servo object (Max 12 per board, generally.)
int pos = 0; // creates & Initiallizes position object for servo
int center = 90; // Angle at center of arc
int amp = 15; // Angle of flux away from center
int period = 2000; // Time for Each cycle (ms)
int steps = 0;
int del = 0;
void setup(){
myservo.attach(9); // links pin to servo object
calcDel();
pos = center - amp;
Serial.print(pos);
myservo.write(pos);
delay(1000);
}
void calcDel(){
steps = 2*amp;
del = period / steps;
}
void loop(){
Serial.print(pos);
for(pos = center - amp; pos <= center + amp; pos += 1){
myservo.write(pos); // signals servo to move to next position
delay(del); // waits xx ms
}
for(pos = center + amp; pos >= center - amp; pos -= 1){
myservo.write(pos); // signals servo to move to next position
delay(del); // waits xx ms
}
}