Vamos descobrir o que está por trás do acrônimo PWM, como funciona, para que serve e como podemos usá-lo para trabalhar com o Arduino.
Necessário
- - Arduino;
- - Diodo emissor de luz;
- - um resistor com resistência de 200 Ohm;
- - computador.
Instruções
Passo 1
Os pinos digitais do Arduino podem fornecer apenas dois valores: lógico 0 (LOW) e lógico 1 (HIGH). É por isso que são digitais. Mas o Arduino tem conclusões "especiais", que são designadas PWM. Eles às vezes são indicados com uma linha ondulada "~" ou circulados ou de alguma forma diferenciados de outros. PWM significa "Modulação por largura de pulso" ou Modulação por largura de pulso, PWM.
Um sinal modulado por largura de pulso é um sinal de pulso de frequência constante, mas um ciclo de trabalho variável (a razão entre a duração do pulso e o período de repetição). Devido ao fato de que a maioria dos processos físicos na natureza tem alguma inércia, quedas bruscas de tensão de 1 para 0 serão suavizadas, tomando algum valor médio. Ao definir o ciclo de trabalho, você pode alterar a tensão média na saída PWM.
Se o ciclo de trabalho for 100%, então o tempo todo na saída digital do Arduino haverá uma tensão lógica de "1" ou 5 volts. Se você definir o ciclo de trabalho para 50%, metade do tempo na saída será lógico "1" e metade lógico "0", e a tensão média será 2,5 volts. E assim por diante.
No programa, o ciclo de trabalho é definido não como uma porcentagem, mas como um número de 0 a 255. Por exemplo, o comando "analogWrite (10, 64)" dirá ao microcontrolador para enviar um sinal com um ciclo de trabalho de 25 % para a saída digital PWM # 10.
Os pinos do Arduino com função de modulação por largura de pulso operam a uma frequência de cerca de 500 Hz. Isso significa que o período de repetição do pulso é de cerca de 2 milissegundos, que é medido pelos traços verticais verdes na figura.
Acontece que podemos simular um sinal analógico na saída digital! Interessante né ?!
Como podemos usar isso? Existem muitos aplicativos! Por exemplo, estes são o controle de brilho do LED, controle de velocidade do motor, controle de corrente do transistor, extração de som de um emissor piezoelétrico …
Passo 2
Vamos dar uma olhada no exemplo mais básico - controlar o brilho de um LED usando PWM. Vamos montar um esquema clássico.
etapa 3
Vamos abrir o esboço "Fade" dos exemplos: Arquivo -> Amostras -> 01. Basics -> Fade.
Passo 4
Vamos mudar um pouco e carregá-lo na memória do Arduino.
Etapa 5
Ligamos a energia. O brilho do LED aumenta gradualmente e, em seguida, diminui gradualmente. Simulamos um sinal analógico na saída digital usando modulação por largura de pulso.