Problema con librería VarSpeedServo

Hola, un saludo a todos :slight_smile: .

Si no os importa voy directo al grano :wink: .

--- Uso Arduino UNO en Windows7 con Arduino 1.6.10.

--- Quiero aprender a mover un servo regulando su velocidad de giro pero manteniendo su par.

--- He descubierto la librería VarSpeedServo.

--- La librería VarSpeedServo ha sido instalada desde .zip con Arduino 1.6.10 en C:/Usuarios/Mi nombre/Mis Documentos/Arduino/libraries. Los skecthes se están guardando en C:/Usuarios/Mi nombre/Mis Documentos/Arduino/

--- He modificado VarSpeedServo.cpp cambiando 'Wprogram.h' por 'Arduino.h'.

--- He leído todo lo que he encontrado en este foro, en el estadounidense y en el de Adafruit referente a la librería VarSpeedServo.

--- He localizado este ejemplo de código ( Sample Code - one servo moving, wait for first movement to finish, then execute another movement ) que he encontrado aquí: ( GitHub - netlabtoolkit/VarSpeedServo: Arduino library for servos that extends the standard servo.h library with the ability to set speed, and wait for position to complete ).

--- Este ejemplo de código es el mismo que surbyte cita en este hilo: [SOLUCIONADO] regular velocidad de movimiento en servo - Hardware - Arduino Forum

--- Por mi parte, en las funciones myservo.write(), he cambiado los atributos metidos a capón (0, 180, etc.) por variables tipo 'int': pos1, pos2, vel1 y vel2 como constantes, declarándolas previamente.

--- Y estoy intentando compilarlo, pero me da error. Entonces para encontrar dónde falla, lo estoy compilando por partes.

--- Y hasta ahora sólo consigo compilar correctamente hasta aquí:

#include <VarSpeedServo.h>;


VarSpeedServo myservo;    

const int servoPin = 9; 
const int pos1 = 0;
const int pos2 = 180;
const int vel1 = 100;
const int vel2 = 30;


void setup() {
  myservo.attach(servoPin);  
  //myservo.write(pos1,vel1,true);
} 

void loop() {
  //myservo.write(pos2,vel1,true); 
  //myservo.write(pos1,vel2,true);

delay(1000);
}

--- Pero en cuanto quito las barras 'textualizadoras' // a las líneas de código que usan la función myservo.write():

en void setup():
myservo.write(pos1,vel1,true);
en void loop():
myservo.write(pos2,vel1,true);
myservo.write(pos1,vel2,true);

e intento compilar me da un error que, básicamente, gira en torno a:

'exit status 1 no matching function for call to 'VarSpeedServo::write(int, int, bool)'.

Estoy a un año luz de ser un usuario medio de arduino, pero me parece un código claro y sencillito para que de semejante error por fallo en el código. Y los argumentos en myservo.write(int, int, bool) me parecen correctos :o , ¿no?. Pues está claro que no.

Si me podéis dar aunque sea una pistilla de qué - innegablemente - estoy haciendo mal, me ayudaréis a dormir mejor, a pesar del calor en Madrid. :slight_smile:

Muchas gracias y feliz veraneo a los afortunados.

Engadin.

sketch_aug14d.ino (374 Bytes)