PWM (modulación de ancho de pulso)

 
PWM se puede habilitar en todos los pines, excepto el Pin (16). 
Hay una frecuencia única para todos los canales, con un rango entre 1 y 1000 (medido en Hz). 
El ciclo de trabajo es entre 0 y 1023 inclusive.

Usamos la clase machine.PWM


from machine import Pin, PWM

pwm0 = PWM(Pin(0))      # creamos el PWM en el pin 0
pwm0.freq()             # obtenemos la frecuencia actual
pwm0.freq(1000)         # ponemos una frecuencia
pwm0.duty()             # obtener el ciclo de trabajo actual
pwm0.duty(200)          # ponemos un ciclo
pwm0.deinit()           

pwm2 = PWM(Pin(2), freq=500, duty=512) # configuramos el pwm
 
 
haremos un ejemplo para que podamos visualizar el pwm con un led de la siguiente manera:
 
 
 
 conexion de esp8266 a un led

haremos el siguiente codigo:
 
 
from machine import Pin, PWM
from time import sleep

frequency = 5000
led = PWM(Pin(5), frequency)

while True:
  for duty_cycle in range(0, 1024):
    led.duty(duty_cycle)
    sleep(0.005)
 
nos quedara algo como esto:
ESP32/ESP8266 PWM with MicroPython circuit to fade Dim LED  
  
espero les sea de su agrado y uedan apoyarme para seguir haciendo contenido.
 
les dejare por aqui codigos en micropython:
http://thacorag.com/2KyR 

Comentarios

Entradas populares