🛠 Piloter un micro-servo avec la PWM du GIGA R1
Objectifs
Maîtriser la sortie PWM (modulation de largeur d'impulsion) pour commander un micro-servo d'angle. Vous apprendrez à utiliser la bibliothèque Servo du cœur Arduino, à alimenter correctement une charge extérieure et à respecter la logique 3,3 V du GIGA R1 (76 broches GPIO disponibles sur la carte).
Matériel
- 1 carte Arduino GIGA R1 WiFi
- 1 micro-servo type SG90
- 1 alimentation externe 5 V dédiée (piles ou régulateur) — ne pas alimenter le servo depuis la carte
- Filles de connexion, câble USB-C
Code complet
// GIGA R1 WiFi — balayage de micro-servo avec la bibliotheque Servo
#include <Arduino.h>
#include <Servo.h>
const int BROCHE_SERVO = D9; // broche PWM de la sérigraphie
Servo monServo;
int angle = 0;
int sens = 1;
void setup {
Serial.begin(115200);
monServo.attach(BROCHE_SERVO); // attache la broche au signal servo
monServo.write(0);
}
void loop {
angle += sens * 5; // balle 0 -> 180 -> 0
if (angle >= 180) sens = -1;
if (angle <= 0) sens = 1;
monServo.write(angle);
Serial.printf("angle = %d\n", angle);
delay(30);
}
Câblage : fil orange (signal) vers D9, fil rouge vers +5 V externe, fil marron vers GND externe, et GND externe reliée à un GND de la carte (masse commune obligatoire).
Vérification attendue
Le servo balaie en aller-retour régulier de 0° à 180°. Le Moniteur série (115200 bauds) affiche l'angle courant. Le mouvement est fluide, sans tremblement ni sifflement de saturation.
Erreurs fréquentes
- Alimentation du servo depuis la broche 5 V de la carte : chutes de tension, redémarrages, voire dégâts sur le régulateur ; le GIGA accepte 6–24 V sur VIN mais le servo doit avoir sa propre source.
- Oubli de la masse commune entre alimentation externe et carte : le servo vibre ou ne réagit pas.
- Broche non compatible PWM : toutes les broches ne génèrent pas de PWM ; le nombre exact de broches PWM côté Arduino n'est pas publié dans les pages récupérées.
- Confusion 3,3 V / 5 V : le signal de commande est accepté par le servo, mais ne remontez jamais 5 V vers la broche.
Autres tutoriels pour cette carte
- Faire clignoter la LED de l'Arduino GIGA R1
- Bouton poussoir et console série sur le GIGA R1
- Potentiomètre et sortie DAC sur la prise audio du GIGA R1
- Connecter un capteur I2C sur le GIGA R1
- Publier des données en MQTT/HTTP via le Wi-Fi du GIGA R1
- Programmer les deux cœurs M7 et M4 du GIGA R1 et les faire communiquer
Exemples de code pour cette carte
clignotante.inoArduinobouton.inoArduinorespiration.inoArduinoanalogique.inoArduinodac-onde.inoArduinooled-i2c.inoArduino