#include <Servo.h>
Servo myservo; // Crea un objeto servo para controlar el servo motor
int pos = 0; // Variable para almacenar la posición actual del servo
int velocidad = 10; // Variable para almacenar la velocidad inicial del servo
int max_velocidad = 50; // Velocidad máxima del servo
int punto_max_velocidad = 90; // Punto donde se alcanza la máxima velocidad
int paso = 1; // Paso de incremento o decremento de la velocidad
void setup() {
myservo.attach(5); // Adjunta el servo al pin 5
}
void loop() {
// Incrementa la velocidad hasta alcanzar la máxima en el punto medio
if (pos <= punto_max_velocidad) {
velocidad += paso;
if (velocidad > max_velocidad) {
velocidad = max_velocidad;
}
}
// Disminuye la velocidad al alcanzar el punto final
else {
velocidad -= paso;
if (velocidad < 10) {
velocidad = 10;
}
}
// Mueve el servo a la posición actual y espera un poco para el siguiente paso
myservo.write(pos);
delay(velocidad);
// Incrementa o decrementa la posición del servo
pos += 1;
// Si llega al límite, reinicia la posición
if (pos > 180) {
pos = 0;
}
}