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
- MicroPython with ESP32 and ESP8266: Interacting with GPIOs,https://randomnerdtutorials.com/micropython-gpios-esp32-esp8266/
- MicroPython tutorial for ESP8266 » 7. Pulse Width Modulation,https://docs.micropython.org/en/latest/esp8266/tutorial/pwm.html
- Entradas e Saídas digitais no MicroPython com ESP8266,https://www.embarcados.com.br/entradas-e-saidas-digitais-micropython-esp8266/