Salida PWM en Arduino desde CERO - Explicación Pulse Width Modulation

https://www.youtube.com/watch?v=iLQn0YxXDrU

 ¡Hola chicas y chicos! ¿Cómo están? Mi nombre es Joanne Pérez y bienvenidos al mejor y más actualizado curso de Arduino en español.

Hoy vamos a tener una clase en la que vamos a entender qué significa ese PWM o ese "pulsito" que tiene nuestra tarjeta Arduino.

¿Qué es PWM?

Como vimos en la clase pasada, nuestra tarjeta también es capaz de enviar señales análogas, aunque realmente lo hace con una pequeña "trampa". No es capaz de enviar una señal análoga pura como tal, sino que lo hace mediante un sistema llamado PWM (Pulse Width Modulation) o en español Modulación por Ancho de Pulso.

Herramienta: Osciloscopio Virtual

Para poder entender mejor me gustaría que utilizáramos una herramienta que se utiliza en electrónica que se llama un osciloscopio. La verdad es que es bastante costosa y no tengo uno a la mano, pero no se preocupen que lo vamos a poder emular en una página que tiene un excelentísimo emulador de Arduino.

Si aún no tienen el dinero para comprar el mejor y más completo kit de Arduino (que les voy a dejar el enlace abajo en la descripción), pueden hacer los ejercicios más básicos emulándolos por medio de este software que se llama Tinkercad, de la empresa Autocad.

Circuito de Prueba

Vamos a tener aquí una tarjeta de Arduino con su protoboard y exactamente el mismo circuito que hicimos en la clase pasada:

cpp
void setup() {
  pinMode(9, OUTPUT);
}

void loop() {
  analogWrite(9, 0);    // Apagado completo
  delay(2000);
  analogWrite(9, 125);  // Valor intermedio
  delay(2000);
  analogWrite(9, 255);  // Máximo brillo
  delay(2000);
}

Configurando Nuestro Osciloscopio Virtual

  1. Conectamos el terminal negativo (negro) del osciloscopio a tierra (GND)

  2. Conectamos el terminal positivo (rojo) al pin de salida PWM (pin 9)

Entendiendo la Gráfica del Osciloscopio

  • Eje X: Tiempo (10 milisegundos en nuestra configuración)

  • Eje Y: Voltaje (de 0V a 5V)

Experimentemos con Diferentes Valores PWM

Caso 1: Valor 0 (0% de ciclo de trabajo)

cpp
analogWrite(9, 0);

Resultado: La línea permanece en 0V durante todo el tiempo

Caso 2: Valor 255 (100% de ciclo de trabajo)

cpp
analogWrite(9, 255);

Resultado: La línea permanece en 5V durante todo el tiempo

Caso 3: Valor 128 (50% de ciclo de trabajo)

cpp
analogWrite(9, 128);

Resultado: Aquí vemos la "trampita" del Arduino. No genera 2.5V constantes, sino que:

  • Pasa el 50% del tiempo en 5V

  • Pasa el 50% del tiempo en 0V

  • El promedio es de 2.5V

Caso 4: Valor 25 (10% de ciclo de trabajo)

cpp
analogWrite(9, 25);

Resultado:

  • 10% del tiempo en 5V

  • 90% del tiempo en 0V

  • Promedio: 0.5V

Caso 5: Valor 230 (90% de ciclo de trabajo)

cpp
analogWrite(9, 230);

Resultado:

  • 90% del tiempo en 5V

  • 10% del tiempo en 0V

  • Promedio: 4.5V

¿Cómo Funciona Realmente el PWM?

El Arduino no puede generar voltajes intermedios directamente. En su lugar, usa una técnica donde:

  • Rápidamente enciende y apaga el pin digital

  • Controla el porcentaje de tiempo que está encendido vs apagado

  • Nuestros ojos y circuitos ven el promedio como un voltaje intermedio

Pines PWM en Arduino

No todos los pines pueden hacer PWM. En Arduino UNO, los pines con esta capacidad son:

  • Digital 3, 5, 6, 9, 10, 11

  • Identificados con el símbolo "~" al lado del número

Aplicaciones del PWM

  1. Control de brillo de LEDs

  2. Control de velocidad de motores DC

  3. Generación de tonos de audio

  4. Control de servomotores

Resumen

  • PWM = Modulación por Ancho de Pulso

  • No es voltaje variable real, sino pulsos rápidos

  • Controlamos el ciclo de trabajo (duty cycle)

  • El promedio es lo que nuestros circuitos "ven"

¡Y así terminamos nuestra clase sobre modulación de ancho de pulso!

¿Te gustó la clase? Déjame saber en los comentarios:

  • ¿Se entendió?

  • ¿Creen que lo podría explicar de mejor manera?

  • ¿Qué dudas les quedaron?

No olvides:

  • ✅ Suscribirte para no perderte las próximas clases

  • 👍 Dejar un pulgar arriba si aprendiste algo

  • 🔗 Revisar los enlaces en la descripción

¡Nos vemos en la próxima clase! ¡Chao!


Comentarios

Entradas más populares de este blog

12. Demostracion de como usar Tinkercad para simular Arduino con circuitos

11. Ejemplos Básicos de Leds y Pulsadores

Lectura de Potenciómetro con Arduino Uno en Tinkercad