Componentes · 4 min de leitura

O que é LED? Como funciona e como ligar no Arduino

O que é LED, como ele funciona e como diferenciar o ânodo do cátodo? Cálculo do resistor para LED, tensões dos LEDs por cor, LEDs RGB e ligação no Arduino.

Um LED (Light Emitting Diode, diodo emissor de luz) é um semicondutor que emite luz quando a corrente passa por ele. Os LEDs estão em toda parte, das telas de celular e semáforos aos faróis dos carros e às lâmpadas da sua casa. Na eletrônica, quase todo mundo começa acendendo um LED, porque esse projeto ensina saídas digitais, limitação de corrente e temporização de uma só vez.

LED de 5 mm
LEDs de 5 mm de cores diferentes. A perna longa é o positivo (ânodo) e a perna curta é o negativo (cátodo).

Como um LED funciona?

Um LED é um diodo: ele deixa a corrente passar em um único sentido. Quando ligado do jeito certo, os elétrons dentro do semicondutor perdem energia e emitem luz (fótons). A cor da luz depende do material do semicondutor, e é por isso que LEDs vermelhos, verdes e azuis funcionam com tensões diferentes.

Como diferenciar os terminais positivo e negativo de um LED?

  • A perna longa é o ânodo (+) e a perna curta é o cátodo (−).
  • O lado com a borda reta na base do LED é o cátodo.
  • Se você olhar dentro do LED, a parte grande em forma de bandeira normalmente está ligada ao cátodo.
  • Um LED colocado ao contrário não acende, mas também não estraga; inverta e tente de novo.

Por que não se deve ligar um LED sem resistor?

O LED não limita a própria corrente. Pouco acima da sua tensão direta, a corrente sobe muito rápido e o LED pode queimar em segundos; o pino do Arduino também pode ser danificado. Por isso o LED sempre leva um resistor em série. O valor do resistor é encontrado com esta fórmula:

R = (Tensão de alimentação − Tensão do LED) / Corrente do LED

Por exemplo, com um Arduino de 5 V, um LED vermelho (cerca de 2 V) e 15 mA: R = (5 − 2) / 0,015 = 200 Ω. Usa-se o valor padrão mais próximo, 220 Ω. Para ver esse cálculo e a corrente real na hora, use a calculadora de resistor para LED.

Tensões dos LEDs por cor

Cor do LEDTensão direta típica (Vf)Resistor recomendado em 5 V (15 mA)
Vermelho1,8–2,0 V220 Ω
Laranja / Amarelo1,9–2,1 V220 Ω
Verde (clássico)2,0–2,2 V200–220 Ω
Verde (puro)3,0–3,2 V120–150 Ω
Azul / Branco3,0–3,3 V120–150 Ω
Infravermelho (IR)1,2–1,5 V240–270 Ω

Você encontra os valores típicos e máximos de cada cor na tabela de tensões de LED.

Ligando um LED no Arduino

  1. Ligue um pino digital do Arduino (por exemplo, o 9) a um resistor de 220 Ω.
  2. Ligue a outra ponta do resistor à perna longa (ânodo) do LED.
  3. Ligue a perna curta (cátodo) do LED ao pino GND do Arduino.
  4. No código, defina o pino como saída com pinMode(9, OUTPUT) e ligue e desligue com digitalWrite.
C++ (Arduino IDE)
1const int LED = 9;
2
3void setup() {
4  pinMode(LED, OUTPUT);
5}
6
7void loop() {
8  // Yavaşça parlat / fade in (PWM, 0-255)
9  for (int i = 0; i <= 255; i++) { analogWrite(LED, i); delay(4); }
10  // Yavaşça söndür / fade out
11  for (int i = 255; i >= 0; i--) { analogWrite(LED, i); delay(4); }
12}
Para ajustar o brilho do LED, use os pinos PWM (marcados com ~ no Uno: 3, 5, 6, 9, 10, 11) e analogWrite. O código acima dá ao LED um efeito de “respiração”.

O que é LED RGB?

Um LED RGB tem três LEDs, vermelho, verde e azul, em um único encapsulamento. Ajustando o brilho de cada cor separadamente com PWM, você consegue milhares de cores: vermelho + verde = amarelo, verde + azul = ciano, as três juntas = branco. Os LEDs RGB podem ser de cátodo comum (terminal comum no GND) ou de ânodo comum (terminal comum no 5 V); no ânodo comum, a lógica do código é invertida.

LED RGB

LEDs endereçáveis (WS2812B, NeoPixel)

LEDs inteligentes como o WS2812B têm cada um um minúsculo chip controlador. Isso permite controlar centenas de LEDs com um único pino de dados e acender cada um em uma cor diferente. Nas fitas de LED, cada LED consome cerca de 60 mA no branco máximo, então fitas longas precisam de uma fonte de 5 V separada.

WS2812B
WS2812B
Anel WS2812B
Anel WS2812B
Matriz NeoPixel 8x8
Matriz NeoPixel 8x8

Erros comuns

  • Ligar vários LEDs em paralelo com um só resistor: a corrente não se divide igualmente; dê a cada LED o seu próprio resistor.
  • Puxar corrente demais de um pino do Arduino: não passe de 20 mA por pino nem de 200 mA na placa inteira.
  • Tentar PWM em um pino sem PWM: o brilho não muda; o LED só liga ou desliga.
  • Usar um resistor grande com LEDs azuis e brancos em placas de 3,3 V (ESP32, Pico): o LED fica muito fraco.
Não fique olhando por muito tempo para LEDs de alta potência (1 W ou mais) e não os alimente diretamente por um pino do Arduino; use um driver de corrente constante.

Perguntas frequentes

Com qual tensão um LED funciona?

Depende da cor: o vermelho precisa de cerca de 2 V, o azul e o branco de cerca de 3,2 V. Mas você não aplica essa tensão diretamente; você aplica a tensão de alimentação junto com um resistor, que limita a corrente.

Devo usar 220 Ω ou 330 Ω em um LED?

Com 5 V, os dois são seguros para LEDs vermelhos, amarelos e verdes. O de 220 Ω dá um resultado mais brilhante (cerca de 13 mA) e o de 330 Ω um pouco mais fraco, que consome menos corrente (cerca de 9 mA).

Dá para ligar LEDs em série?

Sim, desde que a tensão total dos LEDs fique abaixo da tensão de alimentação. Por exemplo, três LEDs brancos (3 × 3,2 V = 9,6 V) podem funcionar em 12 V com um resistor adequado.

Por que meu LED está tão fraco?

Pode estar faltando a linha pinMode(pin, OUTPUT), o resistor pode ser grande demais ou você pode estar usando um LED azul/branco em uma placa de 3,3 V. Use um resistor menor e confira seu código.

Como saber se um LED está queimado?

Encoste as pontas do multímetro no modo diodo nos terminais do LED; um LED bom acende levemente no sentido certo e o display mostra a tensão direta. No sentido inverso, não aparece nenhuma leitura.

Ver todos os projetos
LED piscante
#1Iniciante

LED piscante

O primeiro contato com a eletrônica: acender e apagar um único LED. O Arduino acende e apaga o LED em intervalos curtos, fazendo a luz piscar rapidamente. Você vê da forma mais simples como a placa co

4.6(188)
1127
Semáforo
#3Iniciante

Semáforo

Uma pequena versão do semáforo que você vê na rua todos os dias. O vermelho fica aceso por dois segundos, o amarelo acende por um instante, o verde fica aceso por dois segundos e depois volta ao verme

4.8(131)
397
Efeito Knight Rider com LEDs
#6Intermediário

Efeito Knight Rider com LEDs

O clássico efeito Knight Rider: um ponto de luz percorre seis LEDs de uma ponta à outra e depois volta. O Arduino acende cada LED por um décimo de segundo antes de passar para o próximo, muda de direç

4.8(106)
202
Uso de LED RGB
#39Iniciante
Premium

Uso de LED RGB

Três cores se escondem em um único LED: o LED RGB acende primeiro em vermelho, depois em verde e, por fim, em azul. Cada cor fica acesa por meio segundo e apagada por meio segundo antes de o ciclo rec

4.9(73)
98
Transição suave de cores com LED RGB
#40Iniciante
Premium

Transição suave de cores com LED RGB

Um único LED RGB muda lentamente do vermelho para o verde, do verde para o azul e de volta para o vermelho, repetindo esse ciclo de arco-íris sem parar. Cada transição leva cerca de dois segundos e me

4.8(58)
76
Uso da fita LED WS2812B
#69Intermediário
Premium

Uso da fita LED WS2812B

Conheça uma fita LED inteligente em que você pode definir a cor de cada luz individualmente. O Arduino primeiro acende os cinco primeiros LEDs em vermelho, um segundo depois acende os outros cinco em

4.8(54)
70
Variação gradual do brilho do LED com PWM no ESP32
#110Iniciante

Variação gradual do brilho do LED com PWM no ESP32

Varie suavemente o brilho do LED de 0 ao máximo e do máximo a 0. Controlamos o PWM com analogWrite(), como no Arduino. A mesma sintaxe funciona sem problemas com ESP32 Arduino Core 3.0+. Basta definir o pino e usar pinMode e analogWrite.

4.8(36)
54
Raspberry Pi Pico: variação de brilho do LED com PWM (efeito de respiração)
#160Iniciante

Raspberry Pi Pico: variação de brilho do LED com PWM (efeito de respiração)

O LED não só pisca — ele respira! Com o PWM (modulação por largura de pulso) do Raspberry Pi Pico, o brilho do LED aumenta e diminui lentamente, como a luz de um MacBook em repouso. Aprenda a usar a classe machine.PWM, duty_u16() (brilho de 16 bits, de 0–65535), frequência PWM (freq(1000) — 1.000 ciclos de ligar/desligar por segundo, sem cintilação visível), laços com passos usando range() (crescentes e decrescentes) e saída semelhante à analógica em um pino digital.

0.0(0)
4