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
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 LEDpinMode(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 actualdelay(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?
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)
Ciclo FOR:
Automatiza el cambio de valores sin intervención del usuario
Crea transiciones suaves de brillo
⚡ Personalización
Puedes modificar estos parámetros:
// 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
Publicar un comentario