Description du projet

Dans ce tutoriel nous allons aborder les servomoteurs. Un servomoteur c’est un « moteur intelligent » : un moteur qui peut calculer de combien de degré il tourne. C’est très utile notamment dans la robotique : on demande à un bras équipé de servomoteurs de prendre un objet sur une surface tactile, la carte Arduino calcule de combien de degrés les servomoteurs doivent tourner pour saisir l’objet sur la surface tactile (on connaît donc sa position) et hop le tour est joué ! Impossible de faire cela avec des moteurs classiques, enfin presque car on peut jouer sur le temps d’activation mais on perd beaucoup en précision. Savoir se servir d’un servomoteur est donc un point essentiel et c’est pourquoi je vous propose de l’aborder.

 

Le matériel

Pour réaliser ce tutoriel, vous aurez juste besoin de :

La librairie Servo

C’est la librairie qui va nous permettre d’utiliser les servomoteurs. Vous pouvez consulter la page de cette librairie sur le site officel.

Nous allons donc voir les fonctions de cette librairie et apprendre à les utiliser.

 

–    Attach() : permet d’affecter notre servomoteur à une sortie de l’Arduino. Il faut indiquer la sortie entre les parenthèses.

–    Write() : vous permet de faire tourner votre servomoteur pour attendre le degré précisé entre les parenthèses (on par toujours de 0 au début du programme).

–    writeMicroseconds() :cette fonction est similaire à Write() sauf qu’on demande au servomoteur de tourner pendant X millisecondes        qu’on précise entre les parenthèses.

–    read() : permet de connaître la position en degré du servomoteur par rapport au début du programme.

–    Attached() : permet simplement de vérifier si la sortie précisé entre parenthèse est affectée à un servomoteur. Cette fonction est peu utile mais je préfère vous la donner.

–    Detach() : donne l’effet inverse de la fonction Attach() et déconnecte donc votre servomoteur. Il faut préciser entre parenthèse la sortie à vérifier.

–    Servo : pour déclarer une variable de type Servo.

Vous êtes toujours là ? Bon c’était tout pour les fonctions je vous rassure et on enchaîne à la pratique.

Utiliser son servo moteur

Voici la sortie d’un servomoteur. Comme on peut le voir il y a 3 câbles contrairement à un simple moteur qui s’en contente de 2.

  • Les fils Rouge et blanc sont respectivement les bornes + et – rien de spécial jusque là
  • Le fil marron c’est celui qui est propre aux servomoteurs, par lequel on envoie les informations comme « tourner de 5° » , qu’on branche sur une sortie PWM

 

Voilà un petit programme de démonstration que j’ai fait, testez votre servomoteur avec !

#include <Servo.h> // inclusion de la librairie Servo
 
Servo monservo; // déclaration d'une variable de type Servo
int position = 0; //positionne le serveur a la valeur donnée (0= centré) changez cette valeur pour tester
 
void setup()
{
  monservo.attach(9); // attache la variable Servo à la broche 9
}
 
void loop() {
monservo.write(position);
}