Etape 68 : Calibrer les servo-moteurs
Tout d’abord vous devez calibrer les servos.
Si vous n’avez pas encore travaillé avec Arduino, installer les pilotes depuis le site d’Arduino. [http://arduino.cc/en/Guide/ArduinoLeonardoMicro?from=Guide.ArduinoLeonardo]
Collez le code suivant dans une esquisse de l’Arduino :
téléphonez à la bibliothèque de Servo
#include
Dans ce premier bloc de code vous donnent chaque servo un nom.
Il est recommandé de se référer à leur position, comme la partie supérieure (T), back(B), //bottom(B) ou antérieure (F). Le front – haut moteur est alors appelé servoFT.
Servo servoFB ;
Servo servoFT ;
Servo servoBB ;
Servo servoBT ;
Ici, nous créons les variables (nombres entiers) et leur attribuer un numéro,
tous les numéros qui suit vont changer pour chaque machine et servo.
Deux variables par servo, cela signifie que deux positions : dedans et dehors.
« en » signifie servo de la dépendance se met en position de travail et
« out » signifie le bras n’est pas en position de travail.
le numéro fait référence à la position de l’angle du bras.
int servoFB_in = 119 ;
int servoFB_out = 92 ;
int servoFT_in = 54 ;
int servoFT_out = 160 ;
int servoBB_in = 67 ;
int servoBB_out = 100 ;
int servoBT_in = 88 ;
int servoBT_out = 150 ;
void setup()
{
ici, nous indiquer dans quelle goupille est connecté chaque servo.
servoFB.attach(7) ; Cela signifie que servoFB est connecté à la broche 7
servoFT.attach(8) ;
servoBB.attach(9) ;
servoBT.attach(10) ;
}
void loop()
{
Nous utilisons les variables créées avant, alors il ne faut pas utiliser numéros ici
de cette façon nous travaillons seulement sur la partie ci-dessus du code rend plus facile.
servoFB.write(servoFB_in) ;
servoFT.write(servoFT_in) ;
servoBB.write(servoBB_in) ;
servoBT.write(servoBT_in) ;
nous permet de voir ce qui en fait le moteur, une temporisation de 3 secondes
le retard nous permettent de voir en quoi consiste le moteur avant qu’il commence à se déplacer à nouveau
retarder (3000) ;
servoFB.write(servoFB_out) ;
servoFT.write(servoFT_out) ;
servoBB.write(servoBB_out) ;
servoBT.write(servoBT_out) ;
un délai de 1 seconde nous permet de savoir si nous sommes en position de travail ou pas
retarder (1000) ;
}