Wiki ADA

Projetos em Engenharia de Computação

Ferramentas do usuário

Ferramentas do site


programacao-arduino:pwm

PWM

PWM, do inglês Pulse Width Modulation, é um método para simular sinais analógicos utilizando sinais digitais. Essa técnica consiste na emissão de uma onda com frequência constante mas com períodos de nível lógico alto variado. Esse período é chamado de duty cycle. Abaixo se uma ilustração da “onda” gerada:

dutycycle.jpg


Essa função funciona em algumas portas do Arduino, podem variar de acordo com a versão do Arduino e são sinalizadas, na maioria, com o símbolo “~” . No caso do Uno, as únicas portam quem comportam essa função são: 3, 5, 6, 9, 10 e 11.


Para gerar esse tipo de onda, utilizamos a função analogWrite(pino, valor), onde pino é o pino configurado como saída e valor é o duty cycle, podendo variar entre 0 (0 % duty cycle) e 255 (100% duty cycle).

/*
  Código que gera na porta 3 uma saída que varia de 0 à 5 volts
*/
void setup() {
  // inicializa o pino como saída
    pinMode(3, OUTPUT);
 
}
 
void loop() {
 // Varia o duty cycle de 0 à 255 na porta 3 gerando tensões variadas
  for(int duty =0; duty<256; duty++)
    analogWrite(3,duty);
 
}
programacao-arduino/pwm.txt · Última modificação: 2020/11/26 09:08 por bandeira