Mudanças entre as edições de "MCO018703 2018 2 AULA08"
Linha 2: | Linha 2: | ||
Na aula anterior falamos que os Pinos Digitais são usados para detecção ou transmissão de controles digitais, normalmente associados aos sinais HIGH ou LOW (0 ou 1). Mas alguns pinos podem também gerar um sinal analógico com a função '''analogWrite()''' utilizando a técnica de modulação por largura de pulso (PWM). | Na aula anterior falamos que os Pinos Digitais são usados para detecção ou transmissão de controles digitais, normalmente associados aos sinais HIGH ou LOW (0 ou 1). Mas alguns pinos podem também gerar um sinal analógico com a função '''analogWrite()''' utilizando a técnica de modulação por largura de pulso (PWM). | ||
+ | |||
+ | ;Mas o que é PWM? | ||
+ | |||
+ | PWM, do inglês Pulse Width Modulation, é uma técnica utilizada por sistemas digitais para variação do valor médio de uma forma de onda periódica. A técnica consiste em manter a frequência de uma onda quadrada fixa e variar o tempo que o sinal fica em nível lógico alto. Esse tempo é chamado de ''duty cycle'', ou seja, o ciclo ativo da forma de onda. A figura abaixo mostra o gráfico e são exibidas algumas modulações PWM. | ||
+ | |||
+ | |||
Edição das 13h51min de 25 de setembro de 2018
PWM no Arduino
Na aula anterior falamos que os Pinos Digitais são usados para detecção ou transmissão de controles digitais, normalmente associados aos sinais HIGH ou LOW (0 ou 1). Mas alguns pinos podem também gerar um sinal analógico com a função analogWrite() utilizando a técnica de modulação por largura de pulso (PWM).
- Mas o que é PWM?
PWM, do inglês Pulse Width Modulation, é uma técnica utilizada por sistemas digitais para variação do valor médio de uma forma de onda periódica. A técnica consiste em manter a frequência de uma onda quadrada fixa e variar o tempo que o sinal fica em nível lógico alto. Esse tempo é chamado de duty cycle, ou seja, o ciclo ativo da forma de onda. A figura abaixo mostra o gráfico e são exibidas algumas modulações PWM.
/* Esse programa escrito em C do Arduino aumenta e diminui gradativamente o brilho de um LED
conectado no pino PWM 10 do Arduino. */
int i=0; // declaração da variável global inteira i iniciada com 0
void ledOn( ); // declaração da função criada ledOn do tipo void
void setup( )
{
pinMode(10,OUTPUT); // aqui 2 parâmetros são passados à função pinMode( )
}
void loop( )
{
for (i=0; i <= 255; i++) ledOn( ); // aumenta o brilho do led
for (i=255; i >= 0; i--) ledOn( ); // diminui o brilho do led
}
void ledOn( ) // função que acende o led
{
analogWrite (10, i); // o nº do pino e o valor de i são passados à função analogWrite( )
delay (10);
}
Referências
[1] https://www.embarcados.com.br/pwm-do-arduino/