Skip to main content

Programmation d'un servomoteur

Programmation des Servomoteurs avec mBlock et Arduino IDE

Objectif :

Objectif : Comprendre le fonctionnement des servomoteurs et apprendre à les programmer avec mBlock.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.

      ➡️

    • Pour en savoir plus sur leles servomoteurservomoteurs, cliquez ici
    • ici.


2. Configuration deet Programmation avec mBlock

pour Contrôler un Servo
  • Présentation des blocs spécifiques à la gestion des servomoteursimage.pngimage.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°.

  • Choix du bon port PWM sur l’Arduino Nano

  • Branchement d'un servomoteur à un Arduino NanoCapture d’écran 2025-03-21 142828.png

  • Un servomoteur possède 3troisbles,bles le:

    câble
      noir
    • se

      Noir brancheou surMarron la ligne GGND (Ground),Masse)

      le rouge sur la ligne V (Volt), et le jaune sur la ligne S ( Signal) et entre les colonnes de 2 à 13 inclus
    • Rouge → 5V (Alimentation)

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

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

    Exercice 1 : Programmer un servomoteur en boucle

    Consigne : Programmer un servomoteur 180180° pour qu'il fasseeffectue en boucle un mouvement de 0 à 180 degrés180° puis de 180180° à , 0avec enune attendantpause de 2 secsecondes entre leschaque mouvementsmouvement.

  • Correction : 

    image.png

  •  

3. Programmation d’un Mouvement Automatisé avec mBlock

Objectif

  • Créationer d’un programme pourpermettant :


      De
    • Fairefaire bouger le servoservomoteur progressivement de 0° à 180° progressivement et inversement

      inversement.
    • De
    • péter le mouvement avec une boucle continue.

  • Correction :

    image.png

    4. 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
    }
    

    5. Programmation d’un Mouvement Automatisé avec Arduino IDE

    Objectif

    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);
      }
    }
    

    6. Discussion et Applications

    Applications pratiques

    • 🤖 Bras robotisé

    • 🗑️ Poubelle connectée

    • 🤖 Little Bot

    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.