Go Down

Topic: Servomoteur (Read 3 times) previous topic - next topic

skywodd


skywodd je ne comprend pas bien se que tu veux dire? peux tu écrire le code stp?

Un truc dans ce genre:
Code: [Select]
for(pos = 0; pos < 180; pos += 10) {
    myservo.write(pos);
    delay(200);
}
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

dam3

skywodd je ne comprend pas bien se que tu veux dire? peux tu écrire le code stp?

skywodd


je joins le code.
Car en changent  (pos1 = 0; pos1 <90; pos1 +=1) par  (pos1 = 0; pos1 <90; pos1 +=10) et en changent le delay  cela ne change la vitesse mais la fluidité du servomoteur reste néanmoins la même.

J'avais oublié de préciser, si tu fait 10x plus de pas à chaque tour de boucle il faut un délai 10x plus grand pour avoir la même vitesse, sinon ça revient à faire la même chose :smiley-mr-green:
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

dam3

bonjour,

je joins le code.
Car en changent  (pos1 = 0; pos1 <90; pos1 +=1) par  (pos1 = 0; pos1 <90; pos1 +=10) et en changent le delay  cela ne change la vitesse mais la fluidité du servomoteur reste néanmoins la même.

Super_Cinci

Peux-tu nous mettre le code complet, car j'ai un sérieux doute. En effet, la lib Servo envoie une pulse dont la durée dépend de la valeur utilisée dans myservo.write(); . Tu ne devrais pas avoir besoin de gérer le délai entre les pulses, la lib utilise un timer pour ça. Il faut savoir que la méthode .write() génère une brève pause dans le délai entre les pulses, et c'est peut-être ça qui te gêne si tu l'utilises trop souvent...

Go Up