Curso Arduino- Saída PWM

A saída PWM no Arduino pode ser feita através da função analogWrite(), que pode ser utilizada para controle diversos, como por exemplo a intensidade do brilho de um led conectado ao ARDUINO.

A técnica de PWM( do inglês Pulse width modulation) consiste em emular um sinal analógico através de pulsos digitais.

PWM consiste na variação proporcional dos pulsos, mantendo a frequência constante. Saídas de baixo nível de sinal analógico são conseguidas  com pulso curtos de nível lógico alto, já saídas com maior nível de sinal analógico são conseguidos através de períodos maiores de pulso em nível alto.

A figura a seguir exibe a modulação PWM para variar a intensidade de um led:

pwm1

O Arduino possui pinos específicos com essa função. Na placa ARDUINO UNO, pode se utilizar os pinos 3,5,6,9,10 e 11 para esta função.

A função analogWrite deve ser utilizada da seguinte forma:

Sintaxe:

analogWrite(pino, valor);

Onde o parâmetro pino corresponde ao pino que será gerado o sinal PWM e valor corresponde ao duty cycle, ou seja, o valor que permanecerá em nível alto o sinal.

O valor deve ser de 0 a 255 onde 0 a saída permanece sempre em nível zero e 225 a saída permanece sempre em nível alto.

O sketch a seguir exibe como controlar a intensidade de um led através da leitura de um sinal analógico em um potenciômetro.


/*

PWM

controla a luminosidade de um led conforme o valor presente

em um potenciometro

*/

int ledPin = 13; // pino do led

int analogPin = 3; // pino para leitura do potenciômetro

int val = 0; //variável para armazenar o valor lido

void setup()

{

pinMode(ledPin, OUTPUT); // configura pino como saída

}

void loop()

{

val = analogRead(analogPin); // le o valor analógico

analogWrite(ledPin, val / 4); // aciona led com o valor analógico lido divido por 4

}

Desafio:

Desenvolver um sketch para controlar o brilho do led através de duas teclas onde uma aumenta o brilho do led e outra diminui o brilho do led.

Anúncios
Marcado com: , ,
Publicado em ARDUINO, CURSO ARDUINO
3 comentários em “Curso Arduino- Saída PWM
  1. Anônimo disse:

    Boa noite!

    Caros estou precisando fazer exatamente o que pede no desafio deixado onde eu possa controlar o brilho de um led com duas teclas de um controle remoto onde uma aumenta e a outra diminui a intensidade do led. Aguem poderia me ajudar com este problema?

    Muito obrigado

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

%d blogueiros gostam disto: