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.

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.*

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.