Skip to main content

Programmation d'un servomoteur 180°

Programmation des Servomoteurs avec mBlock et Arduino IDE

Objectif :

Comprendre le fonctionnement des servomoteurs et apprendre à les programmer avec mBlock et Arduino IDE.

1. Introduction aux Servomoteurs

Qu’est-ce qu’un servomoteur ?

Un servomoteur est un moteur à rotation limitée, généralement 180°, qui est contrôlé par un signal PWM (Pulse Width Modulation). Il est utilisé dans de nombreux projets tels que les bras robotisés, les portes automatiques et les robots éducatifs.

Branchement d'un servomoteur à un Arduino Nano

Un servomoteur possède trois câbles :

  • Noir ou Marron → GND (Masse)

  • Rouge → 5V (Alimentation)

  • Jaune ou Orange → Signal (Entre les broches 2 et 13 du Nano)

  • Capture d’écran 2025-03-21 142828.png

➡️ Pour en savoir plus sur les servomoteurs, cliquez ici.

2. Configuration et Programmation avec mBlock :

Présentation des blocs spécifiques à la gestion des servomoteursimage.png

Dans mBlock, la gestion des servomoteurs se fait à l’aide d’un bloc dédié permettant de définir un angle précis entre 0° et 180°.

Exercice 1 : Programmer un servomoteur en boucle

Consigne : Programmer un servomoteur 180° pour qu'il effectue en boucle un mouvement de 0° à 180° puis de 180° à 0°, avec une pause de 2 secondes entre chaque mouvement.

Correction :

image.png


Exercice  2 :

Programmation d’un Mouvement Automatisé avec mBlock

Créer un programme permettant :
✅ De faire bouger le servomoteur progressivement de 0° à 180° et inversement.
✅ De répéter le mouvement avec une boucle continue.

Correction :

image.png

3. Configuration et Programmation avec Arduino IDE :

Exercice 1 : Programmer un servomoteur pour un mouvement en boucle

Consigne : Faire osciller un servomoteur de 0° à 180° et inversement, avec une pause de 2 secondes entre chaque mouvement.

Etape 1 mouvement du servomoteur

Ecrire un programme qui fait en sorte de modifier l'angle de rotation de 0° a 180°

Etape 2 mouvement en boucle 

Modifier le programme afin de crée une boucle tout en laissant une attente de 2 seconde pendant chaque rotation.

Correction : Code Arduino IDE :
#include <Servo.h>

Servo monServo; // Création de l'objet Servo

void setup() {
  monServo.attach(9); // Connexion du servomoteur sur la broche D9
}

void loop() {
  monServo.write(0);   // Position à 0°
  delay(2000);         // Pause de 2 secondes
  monServo.write(180); // Position à 180°
  delay(2000);         // Pause de 2 secondes
}

Exercice 2 : 

Programmation d’un Mouvement Automatisé avec Arduino IDE

Créer un programme permettant :
✅ De faire bouger progressivement le servomoteur de 0° à 180° et inversement.
✅ D’utiliser une boucle pour répéter ce mouvement en continu.*

Etape 1 mouvement du servomoteur

Faire un programme permettant au servomoteur de faire une rotation de 0° a 180° et inversement.

Etape 2 mouvement en boucle 

Modifier le programme pour crée une boucle regroupant la rotation du servomoteur de 0° à 180° et inversement pour que le servomoteur effectue les rotations de manière répétitive.

Correction :
#include <Servo.h>

Servo monServo;

void setup() {
  monServo.attach(9);
}

void loop() {
  for (int pos = 0; pos <= 180; pos++) { // De 0° à 180°
    monServo.write(pos);
    delay(15); // Ajuste la vitesse du mouvement
  }
  
  for (int pos = 180; pos >= 0; pos--) { // De 180° à 0°
    monServo.write(pos);
    delay(15);
  }
}


4. Discussion et Applications

Applications pratiques
  • 🤖 Bras robotisé

  • 🗑️ Poubelle connectée

  • 🤖 Little Bot

Questions et suggestions d’amélioration

✅ Ajouter un potentiomètre pour contrôler l’angle du servomoteur.
✅ Utiliser un bouton poussoir pour déclencher le mouvement.
✅ Remplacer le servomoteur 180° par un servomoteur à rotation continue.