Tutorial: Controlar brillo de un LED con PWM y ciclo FOR en Arduino/Tinkercad

 https://www.youtube.com/watch?v=JhbUjfV3-n4

¡Hola amigos! Bienvenidos. En este tutorial les explicaré cómo controlar el brillo de un LED de forma automática utilizando PWM con ciclos FOR en Arduino.

🔌 Circuito en Tinkercad

Componentes necesarios:

  • Arduino Uno

  • LED

  • Resistencia de 220Ω

  • Cables de conexión

Conexiones:

  • Ánodo del LED → Pin 9 de Arduino

  • Cátodo del LED → Resistencia 220Ω → GND

💻 Código Arduino

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

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

void loop() {
  // Ciclo FOR para aumentar el brillo (encender gradualmente)
  for (int i = 0; i <= 255; i += 5) {
    analogWrite(led, i);  // Escribir valor PWM
    delay(30);  // Retardo para ver el efecto
  }
  
  // Ciclo FOR para disminuir el brillo (apagar gradualmente)
  for (int i = 255; i >= 0; i -= 5) {
    analogWrite(led, i);  // Escribir valor PWM
    delay(30);  // Retardo para ver el efecto
  }
}

🎯 Explicación del código

Variables y configuración:

  • int led = 9; → Asigna el pin PWM 9 para controlar el LED

  • pinMode(led, OUTPUT); → Configura el pin como salida

Primer ciclo FOR (encendido gradual):

  • for (int i = 0; i <= 255; i += 5)

  • Comienza en 0 (apagado) y aumenta de 5 en 5 hasta 255 (máximo brillo)

  • analogWrite(led, i) → Aplica el valor PWM actual

  • delay(30) → Pausa para observar el cambio

Segundo ciclo FOR (apagado gradual):

  • for (int i = 255; i >= 0; i -= 5)

  • Comienza en 255 y disminuye de 5 en 5 hasta 0

  • Crea el efecto de fade out

🔄 ¿Cómo funciona?

  1. PWM (Pulse Width Modulation):

    • Técnica que simula valores analógicos mediante pulsos digitales

    • Valores de 0 a 255 (0 = siempre apagado, 255 = siempre encendido)

  2. Ciclo FOR:

    • Automatiza el cambio de valores sin intervención del usuario

    • Crea transiciones suaves de brillo

⚡ Personalización

Puedes modificar estos parámetros:

arduino
// Para cambios más rápidos
for (int i = 0; i <= 255; i += 15) {
  analogWrite(led, i);
  delay(100);  // Menos tiempo = más rápido
}

// Para cambios más lentos
for (int i = 0; i <= 255; i += 2) {
  analogWrite(led, i);
  delay(100);  // Más tiempo = más lento
}

🎥 Simulación en Tinkercad

Al ejecutar la simulación verás:

  • El LED se enciende gradualmente desde apagado hasta brillo máximo

  • Luego se apaga gradualmente hasta quedar completamente apagado

  • Este ciclo se repite infinitamente

💡 Aplicaciones

Este principio puedes aplicarlo para:

  • Controlar velocidad de motores DC

  • Regular intensidad de luz en proyectos

  • Crear efectos visuales atractivos

  • Simular comportamientos naturales (amanecer/atardecer)

¡Practica modificando los valores y observa cómo cambia el comportamiento! Cualquier duda, déjala en los comentarios.

Video de referencia: https://www.youtube.com/watch?v=ZT3T97LmQvQ

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