Ciao
Stavo giocando con un semplice servo motore usando lo sketch
#include <Servo.h>
Servo myservo;
int angle = 0;
void setup()
{
myservo.attach(9,550,6330);
}
void loop()
{
for(angle = 0; angle < 180; angle +=1)
{
myservo.write(angle);
delay(20);
}
for(angle = 180; angle >= 1; angle -=1)
{
myservo.write(angle);
delay(20);
}
}
e fin qui tutto ok. Poi mi sono chiesto se era possibile far ruotare con velocità diversa l'elica a seconda se si va da 0 a 180 o viceversa.
Allora mi sono cimentato nell'usare il comado
myservo.writeMicroseconds(us)
e ovviamente qui sono sorti i primi problemi. Sì che ruotavano con velocità differenti ma avevano un comportamento anomalo. Arrivata a "fine corsa" l'elica invece di tornare subito dietro stava ferma diversi secondi.
e variando us ( argomento dentro write.Microseconds ) il servo andava a piccoli scatti vibrando notevolmente.
Perchè tale comportamento anomalo? Come risolvo?
Grazie