🛠 Piloter un servo avec le PWM (LEDC)

Arduino Nano ESP32 · intermediaire · Schéma : IMG-nano-esp32-intermediaire-3-nanoesp32-pwm-servo.svg — Servo SG90 alimenté par une source 5 V externe, signal sur D9, masse commune avec la carte.

Objetivos

Controlar un micro-servo con la biblioteca Servo (basada en el controlador PWM LEDC del ESP32-S3) y hacer que barre desde 0 hasta 180°. Comprender la alimentación: la placa no tiene ningún pin de 5 V, mientras que un servo estándar funciona a 4,8-6 V.

Material

Código completo

#include <Servo.h>

Servo balai;
const uint8_t PIN_SERVO = 9;   // D9, PWM via LEDC dans le core Arduino

void setup {
  Serial.begin(115200);
  balai.attach(PIN_SERVO);     // PWM 50 Hz, standard servo
}

void loop {
  for (int a = 0; a <= 180; a += 15) { balai.write(a); delay(300); }
  for (int a = 180; a >= 0; a -= 15) { balai.write(a); delay(300); }
}

Verificación esperada

El brazo del servo barre 0 → 180 → 0° en un bucle fluido. Alimentado desde una fuente externa de 5 V con masa común, el movimiento es completo sin reinicios de la placa ni parpadeos del LED USB.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales