J'ai une idée du sens de la question:
Si j'ai bien compris, quand GD ONE mets un programme vide sur l'arduino, les servos se mettent dans une position par défaut, qu'il appelle "relaché".
Quand il charge ensuite le programme ci-dessus, qui a priori ne fait rien avec les servos sauf de les "attacher", les servos changent de position.
Je pense que GD ONE soupsonne le "cerveau" des servos de lui jouer ce tour.
En regardant le code source de la librairie Servo, j'ai l'impression que quand on crée un objet de type Servo, le constructeur lui donne une consigne de position par défaut, qui correspond à une impulsion de DEFAULT_PULSE_WIDTH=1500µs, ce qui correspond à la position "milieu" sur la plupart des servos.
Servo::Servo()
{
if( ServoCount < MAX_SERVOS) {
this->servoIndex = ServoCount++; // assign a servo index to this instance
servos[this->servoIndex].ticks = usToTicks(DEFAULT_PULSE_WIDTH); // store default values - 12 Aug 2009
}
else
this->servoIndex = INVALID_SERVO ; // too many servos
}
En revanche, quand on charge un code vide, les pins sont en mode "entrée".
Si on suppose qu'on interne le servo a une pull up ou une pull down, alors il interprétera probablement l'absence de signal comme une longueur d'impulsion de 0 ou infinie, ce qui est hors de la gamme attendue (1000 à 2000µs). Sauf erreur de ma part, le servo l'interprétera donc comme si c'était la valeur min ou max qu'il supporte, et se mettra donc en butée/bout de course d'un coté ou de l'autre.
Si mon hypothèse est correcte, alors quand tu mets le programme vide, les servos sont en bout de course, et quand tu charges le programme ci-dessus, ils sont à mi-parcourt (environ 90° si tu as des servos 180°, ou 135° si tu asdes servos 270°).
Est-ce que ça te semble cohérent avec tes observations?
Si oui, alors il suffit que quand tu fais servo.attach, juste après tu fasses un servo.write(0) pour aller à la position en butée d'un coté, ou servo.write(255) pour aller en butée de l'autre coté. NB : je crois que ça marche aussi si tu mets ce code avant servo.attach, dans quel cas ça éviterait un petit début de déplacement, mais à tester