...
J'ai bien testé ce que j'ai vu sur le site en utilisant la fonction writeMicroseconds(angle)
Si j'obtiens bien le temps souhaité (4s) pour le déplacement voulu (200), le servo se déplace par à coup: (de l'ordre de 10 pas de 20).
Bref, pour bouger une barrière de PN ce n'est pas l'idéal.
Est-ce une limitation du à ce type de servo (9g) ou bien y-a-t-il autre chose à faire?
Si votre servo se déplace par à coups, on peut suspecter deux choses :
- son alimentation en courant n'est pas suffisante, mais pour un servo 9g, cette alimentation peut être prise sur le 5V de la carte Arduino, tant qu'on ne dépasse pas deux servos
- la force du servo peut ne pas être suffisante, surtout avec un 9g qui est un petit servo (de plus, je ne connais pas le mécanisme de votre PN, il grippe peut-être)
Donc la première chose à faire est d'essayer votre programme avec des servos non reliés à la mécanique du PN. Ensuite, vous verrez si cela corrige ou non le problème. Si la réponse est non, c'est votre programme qui est en cause, par exemple faisant d'autres tâches pendant le mouvement ou utilisant trop la fonction delay().
Pour motoriser un PN avec des servos, vous pouvez lire l'article "
Passage à niveau géré par Arduino (3)". Il donne la méthode à utiliser.
Le seul intérêt de SlowMotionServo est d'ajouter un rebond sur la barrière, ce qui se conçoit sur un PN manoeuvré par une garde barrière jusque dans les années 60-70, mais pas pour un PN contemporain (SAL2 ou SAL4).