O que é PWM?
PWM é a sigla para Pulse Width Modulation (Modulação por Largura de Pulso), uma técnica utilizada para simular uma saída analógica utilizando um sinal digital.
Em microcontroladores como o Arduino, os pinos digitais só conseguem trabalhar com dois estados: ligado (HIGH) ou desligado (LOW). O PWM resolve essa limitação alternando esses estados rapidamente, criando a sensação de um valor intermediário.
Na prática, isso permite controlar intensidade de brilho de LEDs, velocidade de motores e até potência em diversos dispositivos.
Como o PWM funciona na prática
O PWM funciona ligando e desligando o sinal várias vezes por segundo. O que muda é o tempo que ele permanece ligado dentro de cada ciclo.
Esse tempo é chamado de duty cycle (ciclo de trabalho).
- 0% → sempre desligado
- 50% → metade do tempo ligado
- 100% → sempre ligado
Quanto maior o tempo ligado, maior a energia média entregue ao dispositivo.
Por exemplo, em um LED:
- Duty cycle baixo → LED fraco
- Duty cycle alto → LED forte
Simulação interativa de PWM
Aqui você poderá visualizar na prática como o PWM funciona, alterando:
- Tensão (0 a 5V)
- Duty cycle (%)
- Frequência (Hz)
- Resolução (bits)
E observando o comportamento de um LED.
Tensão média: 2.50v
PWM Duty Cycle:
50.00 %
Frequência PWM:
x Hz
Resolução Duty Cycle:
PWM no Arduino
No Arduino, o PWM é feito através da função:
[crayon-69d7bbaeb0e38220228819/]
O valor vai de 0 a 255, representando o duty cycle:
- 0 → 0%
- 127 → aproximadamente 50%
- 255 → 100%
Isso acontece porque o Arduino trabalha com resolução de 8 bits por padrão (2⁸ = 256 níveis).
Nem todos os pinos suportam PWM. Normalmente eles são identificados com o símbolo ~ na placa.
Pinos PWM do Arduino UNO destacados pelo símbolo “~”.
Frequência do PWM
Além do duty cycle, outro fator importante é a frequência do PWM.
No Arduino Uno, a frequência padrão é aproximadamente:
- ~490 Hz na maioria dos pinos
- ~980 Hz em alguns pinos específicos
Essa frequência é alta o suficiente para que o olho humano não perceba o piscar do LED.
Exemplo prático: variando o brilho do LED automaticamente
O código abaixo faz o LED interno do Arduino variar suavemente de apagado até o brilho máximo e depois voltar, criando um efeito de “respiração”.
[crayon-69d7bbaeb0e3e078892334/]
Onde o PWM é utilizado?
O PWM é extremamente comum em projetos com microcontroladores. Algumas aplicações incluem:
- Controle de brilho de LEDs
- Controle de velocidade de motores DC
- Ajuste de intensidade em resistências de aquecimento
- Geração de sinais analógicos simulados
- Controle de servomotores
Conclusão
O PWM é uma técnica fundamental para quem trabalha com Arduino e eletrônica em geral. Mesmo sendo um sinal digital, ele permite simular comportamentos analógicos de forma simples e eficiente.
Compreender o duty cycle, a frequência e a resolução do PWM abre portas para uma grande variedade de projetos, desde os mais simples até aplicações mais avançadas.
E com a simulação interativa, fica muito mais fácil visualizar exatamente o que está acontecendo “por trás” do código.

