Un servo moteur ressemble à un moteur à courant continue mais en moins puissant, et souvent bridé à un certain angle de rotation (souvent 180°). Concrètement l'intérieur ressemble à cela :
Pour le connecter à l'Arduino, il faut se référer aux couleurs des fils :
Pour utiliser un servo moteur avec Arduino il faut la librairie Servo, souvent déjà pré-installé.
Début du code :
#include <Servo.h> // déclarer l'utilisation de la librairie Servo Servo monServo; // Création d'un objet Servo void setup() { monServo.attach(2); // Le numéro entre parenthèse correspond à la pin d'entrée sur laquelle mon fil jaune est branché. }
Si on utilise plusieurs servo, il faut donc créer plusieurs objets Servo au début du programme et ensuite indiquer la pin d'entrée dans le setup().
Ensuite il suffit d'entrer l'angle auquel on veux que le servo tourne :
myservo.write(90); //Le cerveau moteur se place à 90°
On peu utiliser un boucle for pour faire tourner le servo. Voici le code pour un servo d'un angle de 180° :
#include <Servo.h> Servo myservo; // Création d'un objet Servo int pos = 0; //Création d'une variable pour la position void setup() { myservo.attach(9); // Mon Servo est branché sur la pin 9 } void loop() { //Ma variable pos est égale à 0, pour chaque valeur de pos strictement inférieur à 180, cette même valeur deviens l'angle auquel doit être le servo moteur, on attends 15milisecondes, et on ajoute 1 à cette valeur. for (pos = 0; pos <= 180; pos += 1) { // in steps of 1 degree myservo.write(pos); delay(15); } //Ma variable pos est égale à 180, pour chaque valeur de pos strictement supérieur à 0, cette même valeur deviens l'angle auquel doit être le servo moteur, on attends 15milisecondes, et on soustrait 1 à cette valeur. for (pos = 180; pos >= 0; pos -= 1) { myservo.write(pos); delay(15); } }