PROJETO 04

Utilizando a porta PWM

Desenvolver um projeto utilizando a porta PWM para controlar a luminosidade de um LED.

Componentes

Qtd Descrição
01 Arduino Mega 2560
01 Protoboard
01 Led Vermelho
01 Resistor 220Ω para o Led
- Jumpers

Instruções

  • LED na porta digital 10 (PWM)
  • Permite o controle progressivo do brilho do LED, simulando uma variação de 0 V a 5 V utilizando modulação por largura de pulso (PWM).

Conhecimentos Requeridos

Observações Técnicas

Os resistores serão utilizados como limitadores de corrente.

Diagrama de Blocos

Diagrama de Blocos

Protótipo do Circuito

Protótipo do Circuito

Código do Projeto

Baixar .INO

// Projeto Led_luminosidade
int led = 10;
int valor;
void setup() {
  // put your setup code here, to run once:
  pinMode(led,OUTPUT);   
}
 
void loop() {
  // put your main code here, to run repeatedly:
  valor = 0;
  while (valor <= 255) {
    analogWrite(led, valor);
    valor = valor + 1;
    delay(20);   
  } 
}
                    

Comentários sobre o Código

Entenda o funcionamento da função analogWrite no controle de saídas PWM:

analogWrite(pin, valor)

Escreve um valor analógico (onda PWM) em um pino. Pode ser usado para acender um LED variando o brilho ou girar um motor a uma velocidade variável.

Nesta linha, informamos para o Arduino que os valores estão na faixa de 0 até 255. Isso é possível porque estamos utilizando uma porta PWM (Pulse Width Modulation).

Sintaxe: analogWrite(pin, valor);
  • pin: O pino no qual se deseja escrever e que gerará o sinal PWM.
  • valor: O rendimento do ciclo (duty cycle) que varia entre 0 (sempre desligado) e 255 (sempre ligado).
Exemplo:
analogWrite(ledPin, val / 4);