was successfully added to your cart.

Les servomoteurs et l’Arduino

By 17 février 2015 Débutant Arduino
Illustration tutoriel servomoteurs Arduino

Aujourd’hui, nous allons apprendre ensemble à contrôler un servomoteur de modélisme  à l’aide d’un arduino.

Le matériel nécessaire :

  • Un arduino
  • Un servomoteur
  • Des fils de connexions

 

Câblage du servomoteur à l’arduino.

Les servomoteurs ont 3 fils de connexions :

  • Le + (Généralement rouge)
  • Le – (La masse, généralement noire ou marron)
  • Le fil de l’impulsion de commande (Généralement blanc ou jaune)

Pour relier le servomoteur à l’arduino, vous devez brancher :

  • Le fil + sur le + de votre alimentation externe
  • Le fil noir (la masse), sur le 0V (ou GND « ground » en anglais)
  • Le fil de l’impulsion de commande sur une entrée numérique « digital » PWM

Voici un schéma de branchement :

Montage d'un ServoMoteur

Montage d’un ServoMoteur

Utilisation de la librairie

L’arduino est livré avec toute sorte de librairies (permettant d’invoquer des fonctions).
Pour inclure une librairie dans un programme arduino, rien de plus simple. Il suffit d’entrer la ligne suivante au début du programme :

1
#include <Servo.h>

Cette librairie concentre plusieurs fonctions, au nombre de 6 :

1
attach()
1
write()
1
writeMicroseconds()
1
int read()
1
boolean attached()
1
detach()

Nous allons voir ensemble a quoi correspondent les differentes fonctions ci-dessus.

La fonction « attach() » permet de rattacher le pin dans lequel nous avons branché le fil jaune.

1
2
3
4
5
6
7
8
9
10
11
#include <Servo.h>    // Permet d'inclure la librairie
 
Servo servo;       // Creation d'une variable appelee "servo"
 
void setup() {
 
  servo.attach(0)  // J'attache "servo" au pin A0 de l'arduino
 
}
 
void loop() {}

 

La fonction « write() » permet de donner une consigne au servomoteur.
On utilise généralement la syntaxe suivante : var.write(angle)

Avec « var » le nom de la variable du servo et « angle » la valeur que l’on veut donner au servo.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <Servo.h>   // Permet d'inclure la librairie
 
Servo servo;       // Creation d'une variable appelee "servo"
 
void setup() {
 
  servo.attach(2)  // J'attache "servo" au pin 2 de l'arduino
 
  servo.write(90)  // Positionne le servomoteur à 90°
 
}
 
void loop() {}

 

La fonction « read() » permet de lire la valeur envoyée par la fonction « write() ». La valeur renvoyée est un entier (« integer » en anglais, souvent notée « int » dans les livres ou sur internet).

Laisser un commentaire