0% ont trouvé ce document utile (0 vote)
29 vues4 pages

Arduino (Partie 6)

cours

Transféré par

Sä Nâă
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues4 pages

Arduino (Partie 6)

cours

Transféré par

Sä Nâă
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 4

Atelier 6 : SERVO-MOTEUR

Le but de la manipulation

C’est de découvrir un nouveau périphérique (Servo-moteur) connecté avec la carte


ARDUINO, qui permet de transformer une donnée numérique vers une action mécanique.

Servo-Moteur

Le « servo » est un mot latin "servus" qui signifiait esclave. Un servo moteur est donc un
moteur esclave.

Un servo-moteur contient (dans le cas de ceux que vous utiliserez avec votre Arduino) un
moteur à courant continu. C'est un mécanisme qui tourne lorsqu'il est parcouru par
l'électricité.

servo-moteur

Contraintes de rotation d'un servo-moteur :


• Un servo-moteur est souvent limité dans sa rotation. En effet, il ne peut tourner que
d'un demi-tour, soit 180°. Il peut donc prendre 180 positions et les tenir.
• Si vous lui demandez de se mettre à 30°, puis 170°, il ira d'une position à l'autre le
plus rapidement possible pour ses capacités. On ne peut donc pas gérer facilement la
vitesse de rotation d'un servo-moteur.

Connexion d’un servomoteur avec carte arduino


Le servo-moteur comprend trois fils qui se connectent comme suivants :

• Le fil rouge se connecte à l'alimentation 5V.


• Le fil noir (parfois marron) qui se connecte au Gnd.
• Le fil jaune (parfois orange ou blanc) qui va servir de commande. Il se connecte à
n'importe quelle sortie numérique de l'Arduino (de 0 à 13).

Connexion du servo-moteur avec arduino

Bibliothèque servo
La bibliothèque servo est un fichier en langage C++ dans lequel il existe des fonctions qui
permettent de gérer le fonctionnement du servo-moteur.

La bibliothèque Servo, doit être appelée dans le programme, afin qu'elle soit ajoutée au
programme. On inclue une bibliothèque avec un mot-clé spécial comme suivant :

#include <Servo.h>

Les bibliothèques utilisent des classes que l'on peut simplifier en les imaginant comme des
objets programmables, c’est-à-dire des objets qui ont plusieurs fonctions spécifiques.

Souvent pour utiliser une bibliothèque, il faut créer un objet lié à cette bibliothèque. C'est le
cas pour la bibliothèque Servo. Nous allons créer un objet de type Servo et lui donner un nom
:

Servo monServo;

Pour que cet objet soit accessible partout on le créé généralement avant le setup().

Ensuite il faut relier cet objet au pin de commande que l'on a choisi (par exemple le pin 8). On
va utiliser une autre fonction.
monServo.attach(8);

Enfin pour mettre le servo à l'angle désiré, on appelle une fonction de l'objet monServo.

monServo.write(angle);

ATELIERS : Va et vient du servo-moteur


Notre objectif est de placer un servo en position 0° puis 180° pendant une seconde.

Description :

• Le bras du servo se positionne à l’angle 0° au début du programme.


• Le changement de la position du bras à l’angle 180° prendra une seconde.
• Le retour du bras vers sa position initiale prendra aussi une seconde.

Montage de test :

Programme :

#include <Servo.h> //on importe la bibliothèque Servo int

pinServo=8; // variable pour stocker le pin pour la commande Servo

leServo; // on définit un objet Servo nommé leServo

void setup() {
leServo.attach(pinServo); // on relie l'objet au pin de commande

} void loop() { leServo.write(0); // on dit à l'objet de mettre le servo à 0°

delay(1000); // ce délai est nécessaire pour que le servo atteigne sa position

leServo.write(179); // position à 179, 180 est à éviter car cela forcerait le servo à dépasser

ses limites delay(1000); // attente à nouveau

Vous aimerez peut-être aussi