top of page

Controle de brilho do LED

No projeto anterior vimos como ligar e desligar os LED's do robô MSR-I. Agora iremos demonstrar como fazer o controle de brilho de alguns desses LED's. Em diversos momentos queremos variar a intensidade, e não apenas ligar ou desligar os dispositivos eletrônicos. Podemos, por exemplo, variar a velocidade de um motor ou alterar temperatura de aquecimento de uma resistencia. Para isso usaremos uma função diferente do Arduino, a sua saída analógica ou saída PWM.


O que são portas PWM?


Os pinos físicos do Arduino são chamados de portas e são por elas que o Arduino torna-se capaz de controlar os dispositivos que são conectados elétricamente à ele. As portas digitais que correspondem aos pinos (D0 até D12) do Arduino podem ser configuradas como entradas ou saídas. Uma porta de saída controla um dispositivo e porta de entrada entrada lê um sinal de um dispositivo externo. No exemplo anterior, usamos uma porta de saída para ligar um LED. Nos projetos futuros, veremos como utilizar uma porta de entrada para receber informações dos botões push-button. Assim, o Arduino pode ser ligado em conjunto com dispositivos externos para controlá-los ou para ler suas informações. As portas do Arduino podem ser digitais ou analógicas.

Quando estávamos fazendo o LED piscar, estávamos utilizando uma saída digital do Arduino. Uma saída digital é composta por apenas dois estados, ligado ou desligado. Por outro lado, uma saída analógica é composta por vários estados, podendo ser alto, quase alto, médio, quase baixo, baixo. Por exemplo, um aparelho de som pode ter o volume muito alto, alto, médio, pouco baixo ou baixo. Usando as portas analógicas podemos também variar a luminosidade de um LED. Na programação do Arduino, fazemos isso através da função analogWrite(), que manda um valor entre (0 e 255) para uma saída analógica. Assim, em vez de termos apenas dois estados, ligado/desligado, podemos ter vários estados intermediários, variando assim o brilho do LED.

PWM (Pulse Width Modulation – Modulação por Largura de Pulso) é uma técnica desenvolvida para obter resultados analógicos por meios digitais. Essa técnica consiste na geração de uma onda quadrada em uma frequência muita alta em que pode ser controlado o tempo de ciclo ativo da onda, ou o tempo em que a porta se mantem em nível lógico alto.

Esse tempo é chamado de Duty Cycle e sua alteração provoca mudança no valor médio da onda, indo desde 0V (0% de Duty Cycle) a 5V (100% de Duty Cycle) no caso do Arduino.

Os pinos do Arduino que tem a função PWM implementada em Hardware são D3, D5, D6, D9, D10 e D11.


Programa 2 Controle de Brilho


Abaixo você encontra o programa completo que pode ser copiado e colado direto na IDE Arduino para que possamos executar nosso teste:

// Programa:Controle de Brilho LED
// Autor:Dagon_Robots

void setup() {
  pinMode(6, OUTPUT);      //Configura o pino digital 6 como saída
}
void loop() {
  for(byte valor = 0; valor < 255; valor++) {
    analogWrite(6, valor);  //Controla o brilho do LED PG_03
    delay(10);      //Aguarda intervalo de tempo em milissegundos                                 
  }    
  for(byte valor = 0; valor > 0; valor--) {
    analogWrite(6, valor);  //Controla o brilho do LED PG_03
    delay(10);      //Aguarda intervalo de tempo em milissegundos                                 
  }           
}

Possíveis erros

Caso o projeto não funcione, verifique alguns dos possíveis erros:

  • Na hora da checagem, apareceu alguma mensagem em vermelho? Verifique o código e caso não encontre o problema, copie e cole novamente o código na IDE Arduino e tente mais uma vez;

  • Verifique se o robô esta ligado;

  • Verifique se o cabo USB esta bem conectado;

  • Verifique se o código carregou na placa através da IDE Arduino.


Desafios

Veja abaixo alguns desafios que você pode tentar resolver e melhorar seus conhecimentos!

  • Utilize maneiras diferentes de incrementar ou decrementar a variável de controle do PWM.

  • O pino D5 também tem um LED que pode ser controlador via PWM, que tal controlar ambos com potencias de brilho diferentes?




24 visualizações0 comentário

Posts recentes

Ver tudo
bottom of page