Índice:

Fade um LED dentro e fora: 3 etapas
Fade um LED dentro e fora: 3 etapas

Vídeo: Fade um LED dentro e fora: 3 etapas

Vídeo: Fade um LED dentro e fora: 3 etapas
Vídeo: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Julho
Anonim
Fade um LED dentro e fora
Fade um LED dentro e fora

As etapas a seguir são experimentos para ilustrar como os LEDs funcionam. Eles ilustram como diminuir a intensidade de um LED em uma taxa uniforme e como aumentar e diminuir a intensidade do brilho.

Você vai precisar de:

  • Arduino (usei um duo)
  • Tábua de pão
  • LED vermelho de 5 mm
  • 330 Ω Resistor (não crítico 330-560 Ω funcionará.)
  • Fio de conexão sólido calibre 22

As peças necessárias para esses experimentos estão incluídas em todos os kits de inicialização do Arduino.

Etapa 1: Explicada a modulação de pulso

Modulação de pulso explicada
Modulação de pulso explicada
Modulação de pulso explicada
Modulação de pulso explicada
Modulação de pulso explicada
Modulação de pulso explicada

Os LEDs sempre funcionam com a mesma voltagem, independentemente do brilho. O brilho é determinado por um oscilador de onda quadrada e a quantidade de tempo que a tensão fica alta determina o brilho. Isso é chamado de modulação por largura de pulso (PWM). Isso é controlado pela função analogWrite (pin, n) do Arduino, onde n tem um valor de 0 a 255. O analogWrite () produz PWM, não o analógico verdadeiro. Se n = 2, o LED será duas vezes mais brilhante do que n = 1. O brilho sempre dobra quando n dobra. Portanto, n = 255 será duas vezes mais brilhante do que n = 128.

O valor de n é geralmente expresso como uma porcentagem chamada de ciclo de trabalho. As imagens mostram os traçados do osciloscópio para ciclos de trabalho de 25, 50 e 75%.

Etapa 2: escurecimento uniforme

Escurecimento Un-Even
Escurecimento Un-Even
Escurecimento Un-Even
Escurecimento Un-Even

Construa o circuito como no diagrama. Isso é como o circuito para piscar um LED. Ele usa o pino 9 porque você precisa usar um pino habilitado para PWM.

Copie / cole o esboço abaixo no IDE do Arduino e execute-o.

Você notará que quanto mais brilhante o LED é, mais devagar ele escurece. À medida que fica mais escuro, ele vai ficando mais escuro muito rápido.

void setup ()

{pinMode (9, SAÍDA); } void loop () {int pin = 9; para (int i = 255; i> -1; i--) {analogWrite (pino, i); atraso (10); } para (int i = 0; i <256; i ++) {analogWrite (pin, i); atraso (10); }}

}

A próxima etapa mostra como diminuir o brilho do LED em uma taxa constante e em um para declaração.

Etapa 3: para cima e para baixo em um para ()

Para que o LED diminua a uma taxa constante, o atraso () deve aumentar a uma taxa exponencial porque metade do ciclo de trabalho sempre produzirá metade do brilho. Meu primeiro pensamento foi tentar usar a função map (), mas é linear.

A linha:

int d = (16-i / 16) ^ 2;

calcula o quadrado inverso do brilho para determinar a duração do atraso.

Copie / cole o esboço abaixo no IDE do Arduino e você verá que o LED acenderá e apagará a uma taxa constante.

void setup ()

{pinMode (9, SAÍDA); } void loop () {int x = 1; pino interno = 9; para (int i = 0; i> -1; i = i + x) {int d = (16-i / 16) ^ 2; analogWrite (pin, i); atraso (d); se (i == 255) x = -1; // mudar de direção no pico}}

Recomendado: