Main

Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]

La librairie Servo pour le contrôle des servomoteurs


1.  Description

Cette librairie permet à une carte Arduino de contrôler les servomoteurs de modélisme. Les servomoteurs intègrent un mécanisme et un axe qui peut-être contrôlé précisément. Les servomoteurs standards permettent de positionner l'axe à différents angles, habituellement entre 0 et 180 degrès (ces servomoteurs permettent de maintenir l'axe à une position précise). Les servomoteurs à rotation continue permettent des rotations de l'axe à différentes vitesses.

A partir d'Arduino 0017, la librairie Servo supporte jusqu'à 12 servomoteurs sur la plupart des cartes Arduino (la Duemilanove par exemple) et 48 sur l'Arduino Mega. Sur les cartes autres que la Mega, l'utilisation de la librairie Servo désactive l'instruction analogWrite() sur les broches 9 et 10, qu'il y ait ou non un servomoteur sur ces broches. Sur la Mega, jusqu'à 12 servomoteurs peuvent être utilisés sans interférer avec la fonction PWM (càd avec l'instruction analogWrite); utiliser de 12 à 23 servomoteurs désactivera les impulsions PWM sur les broches 11 et 12. (Note : PWM pour Pulse Width Modulation ou Modulation de Largeur d'Impulsion).

Avec Arduino 0016 et précédent, la librairie Servo utilise la fonction fournie par le matériel (càd l'ATmega de la carte), et fonctionne uniquement sur les broches 9 et 10 (et ne fonctionne pas sur l'Arduino Mega). Dans ce cas, si seulement un servomoteur est utilisé, l'autre broche ne peut pas être utilisée pour générer une sortie PWM normale avec l'instruction analogWrite(). Par exemple, avec Arduino 0016 et précédent, vous ne pouvez avoir un servomoteur sur la broche 9 et une sortie PWM sur la broche 10.

2.  Circuit à réaliser

Les servomoteurs ont 3 fils de connexion :

  • le +
  • le - (ou la masse)
  • la commande du servomoteur : une impulsion modulée en largeur (PWM) qui définit la position de l'axe du servomoteur.

Dans cas de l'utilisation d'un à 2 servomoteur(s) standard(s) :

  • Le fil du +, est typiquement rouge, et doit être connecté à la broche 5V de la carte Arduino.
  • Le fil de la masse est typiquement noir ou marron et doit être connecté au 0V (= à la masse) de la carte Arduino.
  • Le fil de l'impulsion de commande est typiquement jaune, orange ou blanc et doit être connecté à une broche numérique de la carte Arduino.

Dans le cas de l'utilisation de plusieurs servomoteurs ou de servomoteurs nécessitant une tension supérieure à 5V et/ou une intensité importante :

  • Noter que les servomoteurs nécessitent parfois une tension supérieure à 5V et/ou une intensité importante. Donc si vous devez utiliser plus d'un ou deux servomoteur(s), vous aurez alors besoin d'utiliser une alimentation différente du 5V de la carte Arduino.
  • Dans le cas de l'utilisation d'une alimentation séparée de la carte Arduino, bien connecter ensemble les masses (le 0V) de la carte et de l'alimentation externe.

3.  Le constructeur

4.  Fonctions de la librairie Servo

5.  Principe d'utilisation

Pour inclure la librairie Servo dans un programme, on ajoutera au début du programme la ligne suivante :

#include <Servo.h>

Pour ce faire, le plus simple est d'utiliser le menu du logiciel Arduino Programme > Importer Librairie > Nom_librairie

Voir également l'instruction #include

6.  Exemples d'utilisation :

6.1  Sur le site www.mon-club-elec.fr

6.2  Sur le site officiel Arduino

7.  Commentaires utilisateurs

Aucun commentaire


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr

Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.

La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.