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:

  1. Arduino Uno

  2. LED (de un solo color)

  3. 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:

cpp
// 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:

  1. Agregamos un osciloscopio en Tinkercad

  2. Conectamos la punta de prueba al pin 2

  3. 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"

cpp
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:

  1. Control de intensidad de LEDs

  2. Control de velocidad de motores DC

  3. Generación de tonos en buzzer

  4. 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

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