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
lelesservomoteurservomoteurs, cliqueziciici.
➡️
- Pour en savoir plus sur
2. Configuration deet Programmation avec mBlock
pour Contrôler un Servo
Présentation des blocs spécifiques à la gestion des servomoteurs
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 NanoBranchement d'un servomoteur à un Arduino Nano
Un servomoteur possède
3trois câbles,blesle:câble-
seNoir
brancheousurMarronla→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)
noirExercice 1 : Programmer un servomoteur en boucle
Consigne : Programmer un servomoteur
180180° pour qu'ilfasseeffectue en boucle un mouvement de00° à180 degrés180° puis de180180° à 0°,0avecenuneattendantpause de 2secsecondes entreleschaquemouvementsmouvement.-
Correction :
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
Rérépéter le mouvement avec une boucle continue.
Correction :
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
Créationer d’un programme pourpermettant :
✅
- De
inversement.Fairefaire bouger leservoservomoteur progressivement de 0° à 180°progressivementetinversement
✅ De Rérépéter le mouvement avec une boucle continue.
Correction :
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 BotQuestions 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.