Necesito programar un servo para que haga un movimiento en 90°, de ida y vuelta constantemente, y que vaya acelerando la velocidad del movimiento. Llegado a un punto máximo, quiero que se detenga. Es decir, de A a B -ida y vuelta - acelerando hasta un máximo para detenerse en seco.
Estuve probando con éste código pero no logro obtener el resultado que necesito.
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
int pos = 0; // variable to store the servo position
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
slowspeed();
delay(15);
medspeed();
delay(100);
fastspeed();
delay(1000);
}
void slowspeed(){
for(pos = 0; pos < 180; pos += 2) // goes from 0 degrees to 180 degrees
{ // in steps of 2 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
}
delay(15);
}
void medspeed(){
for(pos = 0; pos < 180; pos += 5) // goes from 0 degrees to 180 degrees
{ // in steps of 5 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
}
delay(50);
}
void fastspeed(){
for(pos = 0; pos < 180; pos += 9) // goes from 0 degrees to 180 degrees
{ // in steps of 9 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
}
delay(150);
}
Alguna idea?