03 : Controlando o LED - efrainmpp1/URA-2.0-ESP GitHub Wiki

Retomando ...

Na atividade anterior conseguimos ligar um led e até deixar ele piscando. Nessa atividade iremos fazer com que o LED acenda a uma certa porcentagem. Estamos tentando fazer uma espécie de sinal analógico em um pino de sinal digital. Para isso vamos utilizar uma ferramenta da biblioteca Machine (usada na atividade passada). Utilizaremos o PWM(Pulse Width Modulation),essa ferramenta só é possivel de se fazer nos GPIOS 0, 2, 4, 5, 12, 13, 14 e 15.

Nessa imagem mostra esse funcionamento a tantos % da potencia total e a duração desse pulso

Montagem

A montagem é a mesma do exercicio passado ja que a GPIO 0 permite o PWM.

Código

import machine

led = machine.Pin(0) #Definindo o pino que ir谩 ser utilizado 
ledPWM = machine.PWM(led) #Define o pino 0 como PWM
ledPWM.freq(1)   # Aqui colocamos a frequencia entre 0 e 78.125 KHz
ledPWM.duty(510)  # Aqui botamos a quão da modulagem do sinal que queremos entre 0 a 1024
#no nosso programa temos uma de 512(50%)

Conclusões

Apesar te ter sido mais complexo que o codigo anterior de piscar o led para valores mais precisos e maiores começa a se tornar mais simples.Em breve usaremos o PWM para dar algumas ordens em uma frequencia maior.

Referencias