O que acontece com o Arduino se você não usa um resistor com um LED?

23

Fazer uma luz piscante parece ser um dos projetos mais comuns para iniciantes no Arduino. Uma abordagem típica é conectar um resistor LED + (em série) a um pino de E / S e conectar a outra extremidade ao terra. No código, você transforma o pino em uma saída e a traz HIGHe, LOWrepetidamente, para piscar o LED.

O que acontece se você deixar esse resistor de fora? Obviamente você vai destruir o LED, mas isso também danificará o Arduino de alguma forma?

Peter Bloomfield
fonte

Respostas:

18

Na página 411 da folha de dados do ATmega328P , temos um gráfico da corrente de saída versus tensão.

Gráfico atual de saída

Podemos ver que, na faixa de 20mA de correntes de saída, caímos ~ 0,5V, fornecendo uma resistência interna aproximada de 25Ω.

Um LED típico tem uma voltagem direta de aproximadamente 2V. Portanto, acabamos na situação em que cairemos 3V acima da resistência interna de 25Ω do ATmega328P, fornecendo uma corrente de saída de 120mA.

I = (5-2) V / 25Ω = 120mA

Isso é uma simplificação, mas esses 120mA são muito maiores que a corrente máxima recomendada por pino de 40mA do microcontrolador e muito além do que um LED normal deve suportar.

Dito isto, a maioria dos LEDs e o ATmega328P parecem sobreviver a esse tipo de abuso, especialmente por curtos períodos. Em geral, se o pino continuar a funcionar depois que isso for feito, tudo ficará bem.

Cybergibbons
fonte
12

Deixar de fora os resistores em série definitivamente reduz significativamente (exponencialmente) a vida útil do controlador e do LED. As classificações máximas absolutas para a maioria dos AVRs são (ao):

  • máx. 40mA por pino GPIO
  • máx. 200mA por pacote.

Um novo Arduino custa US $ 20 ou mais, um punho completo de resistores de 220 ohm custa US $ 1. Quando tratado dentro das especificações, um Arduino (e LEDs) pode sobreviver por toda a vida.

jippie
fonte
0

Eu já fiz isso uma vez (sendo um iniciante em eletrônica). O LED morreu, felizmente o Arduino sobreviveu (sem problemas de pinos).

Não recomendaria isso, pois não é bom para o Arduino.

Michel Keijzers
fonte