Tutorial de PWM: Control del Brillo de un LED con Arduino en Tinkercad

 Hola amigos! Bienvenidos a este tutorial donde les explicaré cómo usar la técnica PWM (Modulación por Ancho de Pulso) para controlar el brillo de un LED con Arduino.

¿Qué es PWM?

PWM significa "Pulse Width Modulation" o Modulación por Ancho de Pulso. Es una técnica que nos permite controlar la cantidad de energía que recibe un dispositivo (como un LED) encendiéndolo y apagándolo rápidamente.

En Arduino, solo algunos pines tienen capacidad PWM - estos son los pines 3, 5, 6, 9, 10 y 11, identificados con el símbolo "~" o las letras "PWM".

Materiales necesarios

  • Placa Arduino Uno

  • LED

  • Resistencia de 220Ω

  • Cables de conexión

Circuito en Tinkercad

  1. Conecta el ánodo del LED (patilla larga) al pin 9 de Arduino

  2. Conecta el cátodo del LED (patilla corta) a una resistencia de 220Ω

  3. Conecta el otro extremo de la resistencia a GND

Código para control de brillo

cpp
int led = 9;  // Pin PWM para el LED

void setup() {
  pinMode(led, OUTPUT);  // Configurar pin como salida
}

void loop() {
  // Aumentar brillo gradualmente
  for (int i = 0; i <= 255; i += 5) {
    analogWrite(led, i);  // Escribir valor PWM (0-255)
    delay(70);            // Pequeña pausa
  }
  
  // Disminuir brillo gradualmente
  for (int i = 255; i >= 0; i -= 5) {
    analogWrite(led, i);  // Escribir valor PWM (0-255)
    delay(70);            // Pequeña pausa
  }
}

Explicación del código

  1. Variable led: Asignamos el pin 9 para controlar el LED

  2. setup(): Configuramos el pin como salida

  3. Primer ciclo for:

    • Aumenta el valor de 0 a 255 en pasos de 5

    • analogWrite() envía la señal PWM

    • delay(70) crea el efecto gradual

  4. Segundo ciclo for:

    • Disminuye el valor de 255 a 0 en pasos de 5

    • Crea el efecto de apagado gradual

¿Cómo funciona PWM?

PWM simula una señal analógica usando una señal digital que alterna rápidamente entre encendido (5V) y apagado (0V). El "ciclo de trabajo" determina el porcentaje de tiempo que la señal está en alto:

  • 0% ciclo de trabajo: Siempre apagado (LED apagado)

  • 50% ciclo de trabajo: Mitad del tiempo encendido, mitad apagado (brillo medio)

  • 100% ciclo de trabajo: Siempre encendido (LED a máximo brillo)

Aplicación con motor DC

También podemos usar PWM para controlar la velocidad de un motor DC. El circuito sería:

  1. Transistor NPN (como 2N2222) para controlar el motor

  2. Resistencia de base (1kΩ)

  3. Diodo de protección (1N4007) en paralelo con el motor

  4. Fuente de alimentación externa para el motor si es necesario

El código sería exactamente el mismo, solo cambiaríamos la conexión del LED por la conexión al transistor que controla el motor.

Consejos importantes

  • Solo los pines 3, 5, 6, 9, 10 y 11 de Arduino tienen capacidad PWM

  • Siempre usa una resistencia en serie con LEDs (220Ω-330Ω)

  • Para motores más grandes, usa un driver de motor en lugar de conectar directamente a Arduino

¡Espero que este tutorial les haya sido útil! Cualquier duda, déjenla en los comentarios y nos vemos en el próximo video. ¡Gracias!

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