Tutorial de PWM con Arduino en Tinkercad
https://www.youtube.com/watch?v=PwLNGGuVXYI
PWM con Arduino en Tinkercad
¡Hola qué tal! Bienvenidos a la clase número 6 de este curso de robótica. Hoy vamos a implementar el PWM (Pulse Width Modulation) con Arduino, pero no lo vamos a hacer con un pin digital normal - vamos a trabajar con un LED para observar cómo podemos controlar su intensidad.
Materiales necesarios:
Arduino Uno
LED
Resistencia de 330Ω
Cables de conexión
Paso a paso:
1. Configuración del circuito
Vamos a la plataforma de Tinkercad y arrastramos nuestros componentes:
Arduino Uno
LED (de un solo color)
Resistencia (330Ω a 440Ω)
Conexiones:
Conectamos el GND de Arduino a la línea negativa (tierra)
Conectamos el ánodo del LED (patilla larga) al pin 2 de Arduino
Colocamos la resistencia entre el cátodo del LED (patilla corta) y tierra
2. Programación en PWM
Vamos a la sección de código y seleccionamos "Texto" para programar directamente:
// Declaramos el pin del LED
int ledPin = 2;
void setup() {
// Configuramos el pin como salida
pinMode(ledPin, OUTPUT);
}
void loop() {
// Encendemos el LED al 20% de intensidad (50/255)
analogWrite(ledPin, 50);
delay(1000);
// Encendemos el LED al 100% de intensidad (255/255)
analogWrite(ledPin, 255);
delay(1000);
// Apagamos el LED (0/255)
analogWrite(ledPin, 0);
delay(1000);
}3. Explicación del código
analogWrite(pin, valor): Esta función nos permite generar una señal PWM
Valores posibles: 0 (completamente apagado) a 255 (completamente encendido)
Pin 2: Es uno de los pines PWM-capable en Arduino Uno
4. Visualización con osciloscopio (opcional)
Para ver la forma de onda PWM:
Agregamos un osciloscopio en Tinkercad
Conectamos la punta de prueba al pin 2
Conectamos la tierra del osciloscopio a GND
Podremos observar cómo el ancho de pulso varía según el valor que enviamos con analogWrite().
5. Ejemplo con efecto "respiración"
int ledPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// Efecto de respiración: aumenta intensidad gradualmente
for(int i = 0; i <= 255; i++) {
analogWrite(ledPin, i);
delay(10);
}
// Disminuye intensidad gradualmente
for(int i = 255; i >= 0; i--) {
analogWrite(ledPin, i);
delay(10);
}
}Conceptos clave del PWM:
Modulación por Ancho de Pulso: Técnica para simular valores analógicos con señales digitales
Ciclo de trabajo: Porcentaje de tiempo que la señal está en HIGH vs LOW
Frecuencia: En Arduino Uno, la frecuencia PWM es de aproximadamente 490Hz
Aplicaciones prácticas:
Control de intensidad de LEDs
Control de velocidad de motores DC
Generación de tonos en buzzer
Control de servomotores
¡Y así es como funciona el PWM con Arduino! En la próxima clase aplicaremos estos conceptos para controlar motores.
Recuerda: Los pines PWM en Arduino Uno son: 3, 5, 6, 9, 10, 11 (identificados con el símbolo ~)
#ARDUINO #TINKERCAD #PWM
Comentarios
Publicar un comentario