Menu mobile
La Modulación por Ancho de Pulso, o en inglés Pulse Width Modulation (PWM), te permite dar comportamientos analógicos a los dispositivos digitales, tales como LEDs. Esto significa que en lugar de que un LED esté simplemente encendido o apagado, puedes controlar su intensidad o brillo.
Para esta actividad, puedes utilizar el circuito del último paso.
1. Abre un nuevo archivo en Thonny y agrega el siguiente código.
from machine import Pin, PWM
from time import sleep
pwm = PWM(Pin(15))
pwm.freq(1000)
while True:
for duty in range(65025):
pwm.duty_u16(duty)
sleep(0.0001)
for duty in range(65025, 0, -1):
2. Guarda y ejecuta el archivo. Deberías ver el pulso del LED cambiando de brillante a tenue, en un ciclo continuo.
La frecuencia ( pwm.freq) le dice a Raspberry Pi Pico con qué frecuencia se debe encender y apagar el LED.
El ciclo de trabajo (duty cycle) le dice al LED cuánto tiempo debe estar encendido cada vez.
El duty indica la relación entre el estado alto y estado bajo en cada ciclo. Para saber más sobre PWM puedes consultar nuestro blog: ¿Qué es PWM y cómo usarlo?
Para Raspberry Pi Pico en MicroPython, el duty puede variar de 0 a 65025. 65025 sería el 100% del tiempo, por lo que el LED permanecería brillante. Un valor de alrededor 32512 indicaría que debería estar encendido la mitad del tiempo.
3. Juega con los valores pwm.freq() y los valores pwm.duty_u16, así como el período de tiempo para el sleep, con el cual controlas el tiempo de espera entre una instrucción y otra (dormido), para tener una idea de cómo puede ajustar el brillo y el ritmo del LED parpadeante.
4. Guarda el proyecto una vez acabes.
<--VOLVER A CLASE PREVIA
SIGUIENTE CLASE -->