Skip to main content

Programmation d'un servomoteur RC 360°

Objectif :

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


1. Introduction aux Servomoteurs RC 360°

Qu’est-ce qu’un servomoteur RC 360° ?

Un servomoteur RC 360° (ou « continu ») est un petit moteur qui peut tourner en continu dans les deux sens (comme une roue), contrairement aux servos classiques qui ne tournent que sur un angle limité (en général 180° maximum).

⚙️ À quoi ça sert dans un robot comme le LittleBot ?

Dans le LittleBot, ces servos sont utilisés pour faire tourner les roues du robot. En envoyant des signaux différents, on peut :

  • Faire avancer le robot (les deux roues tournent en avant),

  • Faire reculer le robot (les deux roues tournent en arrière),

  • Faire tourner (une roue avance, l’autre recule ou reste fixe).

2. Configuration et Programmation avec mBlock

Présentation des blocs spécifiques à la gestion des servomoteurs

Pour un servomoteur RC 360° on va utiliser le bloc ci-dessous que l'on peut trouver dans l'extensions "Servo360" ou ici "servo.mext" à télécharger et faire un glisser-déposer sur Mblock.

image.png

        Numéro de broche                         vitesse du servomoteur (dans un sens entre [-100 et 0[ et dans l'autre entre ]0 et 100]). A 0 on est donc à l'arrêt

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

Exercice sur Mblock

Consigne : Programmer un servomoteur RC 360° pour qu'il effectue en boucle un changement de sens de rotation à vitesse maximale et cela toute les 2 secondes.

Correction :

image.png

3. Configuration et Programmation avec Arduino IDE

Exercice sur Arduino IDE

Consigne : Programmer un servomoteur 360 pour qu'il effectue en boucle un changement de sens de rotation à vitesse maximale et cela toute les 2 secondes.

Correction :

#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.writeMicroseconds(2000);   // Vitesse maximale dans un sens 
  delay(2000);         // Tourne pendant 2 secondes 
  monServo.writeMicroseconds(1000);   // Vitesse maximale dans l'autre sens 
  delay(2000);         // Tourne pendant 2 secondes
}

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.