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
Conecta el ánodo del LED (patilla larga) al pin 9 de Arduino
Conecta el cátodo del LED (patilla corta) a una resistencia de 220Ω
Conecta el otro extremo de la resistencia a GND
Código para control de brillo
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
Variable
led: Asignamos el pin 9 para controlar el LEDsetup(): Configuramos el pin como salidaPrimer ciclo
for:Aumenta el valor de 0 a 255 en pasos de 5
analogWrite()envía la señal PWMdelay(70)crea el efecto gradual
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:
Transistor NPN (como 2N2222) para controlar el motor
Resistencia de base (1kΩ)
Diodo de protección (1N4007) en paralelo con el motor
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
Publicar un comentario