Référence : Fonctions Pyduino
La librairie Servo pour le contrôle des servomoteurs

Sur cette page... (Masquer)
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
- attach()
- write()
- writeMicroseconds()
- int read()
- boolean attached()
- detach()
5. Principe d'utilisation
Pour inclure la librairie Servo dans un programme, on ajoutera au début du programme la ligne suivante :
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
- Contrôler la position d'un servomoteur depuis la fenêtre Terminal du logiciel Arduino
- Contrôler la position d'un servomoteur à l'aide d'une résistance variable
- Contrôler la position d'un servomoteur à l'aide du clavier du PC (interface Processing)
6.2 Sur le site officiel Arduino
7. Commentaires utilisateurs
Aucun commentaire
Page d'accueil de la référence Pyduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées à l'adresse suivante : support_at_mon-club-elec_point_fr
Cette page a été réalisée par Xavier HINAULT (2013) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.