Arduino - LED de desbotamento

Este exemplo demonstra o uso da função analogWrite () para diminuir o apagamento de um LED. AnalogWrite usa modulação por largura de pulso (PWM), ligando e desligando um pino digital muito rapidamente com diferentes relações entre ligado e desligado, para criar um efeito de desvanecimento.

Componentes necessários

Você precisará dos seguintes componentes -

  • 1 × breadboard
  • 1 × Arduino Uno R3
  • 1 × LED
  • 1 × 330Ω Resistor
  • 2 × Jumper

Procedimento

Siga o diagrama do circuito e conecte os componentes na placa de ensaio, conforme mostrado na imagem abaixo.

Note- Para descobrir a polaridade de um LED, observe-o de perto. A mais curta das duas pernas, em direção à borda plana da lâmpada indica o terminal negativo.

Componentes como resistores precisam ter seus terminais dobrados em ângulos de 90 ° para se encaixar nos soquetes da placa de ensaio corretamente. Você também pode cortar os terminais mais curtos.

Esboço

Abra o software Arduino IDE em seu computador. A codificação na linguagem Arduino controlará seu circuito. Abra o novo arquivo de esboço clicando em Novo.

Código Arduino

/*
   Fade
   This example shows how to fade an LED on pin 9 using the analogWrite() function.

   The analogWrite() function uses PWM, so if you want to change the pin you're using, be
   sure to use another PWM capable pin. On most Arduino, the PWM pins are identified with
   a "~" sign, like ~3, ~5, ~6, ~9, ~10 and ~11.
*/

int led = 9; // the PWM pin the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
// the setup routine runs once when you press reset:

void setup() {
   // declare pin 9 to be an output:
   pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:

void loop() {
   // set the brightness of pin 9:
   analogWrite(led, brightness);
   // change the brightness for next time through the loop:
   brightness = brightness + fadeAmount;
   // reverse the direction of the fading at the ends of the fade:
   if (brightness == 0 || brightness == 255) {
      fadeAmount = -fadeAmount ;
   }
   // wait for 30 milliseconds to see the dimming effect
   delay(300);
}

Código a ser anotado

Depois de declarar o pino 9 como o pino do LED, não há nada a fazer na função setup () do seu código. A função analogWrite () que você usará no loop principal de seu código requer dois argumentos: um, informando a função em qual pino escrever e o outro indicando qual valor PWM escrever.

Para apagar e acender o LED gradualmente, aumente gradualmente os valores de PWM de 0 (totalmente apagado) a 255 (totalmente aceso) e, em seguida, de volta a 0, para concluir o ciclo. No esboço fornecido acima, o valor PWM é definido usando uma variável chamada brilho. Cada vez que passa pelo loop, aumenta o valor da variávelfadeAmount.

Se o brilho estiver em qualquer um dos extremos de seu valor (0 ou 255), então fadeAmount é alterado para seu negativo. Em outras palavras, se fadeAmount for 5, ele será definido como -5. Se for -5, será definido como 5. Na próxima vez no loop, essa alteração fará com que o brilho também mude de direção.

analogWrite()pode alterar o valor de PWM muito rápido, de modo que o atraso no final do esboço controla a velocidade do fade. Tente alterar o valor do atraso e veja como ele altera o efeito de esmaecimento.

Resultado

Você deve ver o brilho do LED mudar gradualmente.