Cuántos LEDs puedo conectar a Arduino?

Hola.

Estoy haciendo un proyecto en el cual conecto el Arduino NANO a la PC para controlar unos 10 LED's de diferentes colores: 3 Rojo, 4 Verde, 1 Azul, 2 Amarillo.
Utilizo un videojuego (Euro Truck Simulator 2) para que, mediante la telemetría, al activar las luces en el juego, se activen en Arduino.

Mi pregunta en concreto es la siguiente: ¿Puedo alimentar 10 LED's con Arduino? La placa de Arduino estaría conectada al puerto USB de la PC, y cada LED tiene una resistencia de 220 Ohms.

Muchas gracias.

Si, es posible. Cada LED consumirá unos 10mA, por lo que el consumo total estará dentro del corriente maximal del usb = 500mA (USB2)

Los pines I/O solo pueden entregar sumados 200mA, lo dice la hoja de datos del ATmega328.
10 Leds entonces podrian llegar a usar una corriente x led y por pin de 20mA.

Si usas 10mA como sugiere bien @b707 entonces llegas a 100mA y estas mas que tranquilo para alguna otra cosas que quieras conectar luego.

Alimentar 10 LED desde los pines es extremadamente arriesgado (me refiero a Arduino) y para tratar de permanecer en el campo de seguridad tendrías que bajar mucho la corriente, lo que significa que cada LED sería mucho menos brillante de lo esperado.

Esto se debe a que debemos considerar que cada pin puede entregar un máximo de unos 20 mA, y hay un máximo que pueden suministrar TODOS los pines Arduino (que no corresponde a los 500 mA máximos del puerto USB estándar, pero en el total de 200 mA!).

Incluso con una resistencia de 220 ohm para cada pin y LED, la corriente será de 22 mA, por lo que para 10 LED ya se supera el límite, con el riesgo de quemar los pines de Arduino. Aumentar el valor de las resistencias también puede funcionar, pero a expensas del brillo.
Por último, también hay que tener en cuenta el color de los LED, es decir, la caída de potencial Vf: si los LED rojos tienen una Vf de 1,8 V, este valor aumenta a medida que aumenta la frecuencia del LED hasta los 3,5 V de los LED azules, lo que por lo tanto requieren una corriente mayor!

Básicamente, el consejo es usar una fuente de alimentación externa (incluso la misma que alimenta el Arduino) y transistores para controlar los LED.

Tu cálculo no es del todo correcto. Parte del voltaje caerá en la resistencia y parte en el diodo mismo, por lo que la corriente a través de la resistencia y el diodo conectados en serie será menor.

Como dijiste correctamente, la caída de voltaje en el diodo depende del color y se encuentra en el rango de 1.8 a 3.5V
En consecuencia, la corriente a través del diodo y la resistencia será de

I = (5v - 1.8v) / 220 Ohm = 14.5 mA (for rojo led)
antes de
I = (5v - 3.5v) / 220 Ohm = 6.8 mA (for azul led)

Y en promedio será de unos 10 mA por LED, como escribí anteriormente.

Sí, tienes razón, el cálculo es aproximado y solo en la parte final he incluido la caída de potencial de los distintos LED en función del color.
En cuanto a la corriente es posible quedarse por debajo de los 200 mA (máximo, mejor quedarse al menos un 20% por debajo...) pero, como decía, a costa de la luminosidad. No creo que el LED azul sea lo suficientemente brillante cuando se alimenta con 10 mA...

Muchas gracias a todos por responder a mi duda.

Quiero actualizar mi pregunta brindando unos datos. Realicé unas mediciones con el multímetro para chequear el voltaje y los mA que consumen los LED.
Los primeros datos corresponden a tests con LED's conectados, individualmente, a los pines digitales de Arduino (4.75V - ¿?mA ) y éste conectado al USB de la PC .
Los segundos datos corresponden a tests con LED's conectados, individualmente, a una Protoboard y ésta alimentada con un cargador de telefono móvil (5V - 650mA) y los resultados fueron los siguientes:

Test con Arduino con resistencias a los LED's de 330 Ohms:

LED ROJO ALTO BRILLO: 1.75 V - 7.80 mA
LED AZUL ALTO BRILLO: 2.69 V - 5.68 mA
LED ROJO COMÚN: 2.04 V - 7.42 mA
LED VERDE COMÚN: 1.98 V - 7.64 mA
LED AMARILLO COMÚN: 1.97 V - 7.62 mA

Test con Protoboard alimentada con cargador de móvil (5V - 650 mA) y resistencia de 330 Ohms:

LED ROJO ALTO BRILLO: 1.95 V - 8.62 mA
LED AZUL ALTO BRILLO: 2.71 V - 6.36 mA
LED ROJO COMÚN: 2.05 V - 8.35 mA
LED VERDE COMÚN: 1.99 V - 8.54 mA
LED AMARILLO COMÚN: 1.98 V - 8.58 mA

Nótese que el voltaje varió muy apenas entre la conexión a Arduino y a la Protoboard con el cargador del móvil. Pero lo que sí varió, aunque tampoco algo tan significativo, fue el consumo de corriente, el cuál fue aproximadamente 1mA más en la protoboard que en Arduino. Quizás esto ocurre porque (corregirme si me equivoco) la tensión que entrega Arduino es de 4.75 y la tensión que entrega el cargador del móvil debe ser de 5V o, al menos, aproximarse bastante (no medí la tensión, me olvidé).

Curiosidades que noté y si alguien me lo puede explicar:

1- tengo varios LED's azules de alto brillo, y hay diferencias entre ambos en cuanto a su tensión de funcionamiento, ya que en uno medí 2.77V, en otro 2.71 y en otro 2.81 siendo los 3 iguales.

2- el LED azul de alto brillo consume mas tensión (2.71V) que el LED rojo de alto brillo (1.95V), pero el primero consume menos corriente (6.36 mA) mientras que el segundo consume más corriente (8.62 mA).

3- aparentemente los LED's de alto brillo trabajan aproximadamente con la misma tensión que los LED's comunes y ambos tipos de LED's (alto brillo y comunes) consumen masomenos la misma corriente en iguales condiciones (misma resistencia y misma tensión que entrega la fuente principal).

Resúmen: tomando como referencia el LED ROJO DE ALTO BRILLO, siendo éste el que consume más corriente (7.80 mA) en un pin de Arduino, y conectado con una resistencia de 330 ohms, si exagero un poco los números y digamos que consume 9 mA o 10 mA, entonces sí tendría que conectar 10 LED's al Arduino, y teniendo en cuenta que no todos son rojos ni todos se van a encender a la vez, (ya que estarían simulando las luces testigo de un tablero de camión) entonces tendría un consumo total de 78 mA ó 90 mA ó, en el peor de los casos, de 100 mA. Entonces, y tal como dijo @b707, no tendría problemas. Y si como dijo @Surbyte, Arduino sólo puede entregar 200 mA en todos sus pines digitales a la vez, entonces tampoco tendría problemas de exceso de corriente porque me sobrarían 100 mA. Creo, si mal no recuerdo, que por cada pin digital de Arduino se entrega 20 mA de corriente como máximo.

Por favor, corregirme si me equivoqué en algo y, desde ya, muchas gracias por su tiempo.

En cuanto a las corrientes que puede manejar arduino estás en lo correcto y tus apreciaciones también lo son.

Un detalle, los LED alto brillo te dan mediciones de corriente similares a los comunes porque mantienes constantes las resistencias.
A caída de tensión similar, corriente similar.
Pero los de alto brillo por lo general consumen el doble que los comunes para obtener el máximo brillo.

Gracias por responder gatul.
No entendí una parte de tu respuesta, en la que aclaras que los LED's de alto brillo consumen el doble que los comunes.
¿Consumen el doble de corriente? ¿O trabajan con el doble de tensión?
Según las mediciones que realicé con mi multímetro, (a no ser que arroje lecturas erróneas) los consumos de corriente entre ambos tipos de LED's (alto brillo y comunes) son casi similares.
El único caso que noté un cambio significativo, es en el valor de tensión que trabaja el LED AZUL DE ALTO BRILLO, el cuál es de 2.71 V a pesar de tener una resistencia de 330 ohms.

Cuando hablamos de consumo nos referimos a corriente.
Por ej. una lámpara hogareña "bajo consumo" consume menos corriente que una de filamento pero trabajan ambas a la misma tensión (220V o 110V según donde vivas).

Sobre los LEDs alto brillo: está bien lo que te marca el multimetro, la corriente es similar porque la tensión de trabajo es similar pero le estás limitando la corriente con la resistencia.

Atento: no confundas un LED de alto brillo con un LED de cápsula translúcida, no son lo mismo aunque ambos tengan cápsulas translúcidas.
Un LED de alto brillo consume entre 20 y 40 mA, incluso más (siempre hablando de LEDs de 3.5 mm o 5 mm)

Cómo puedo darme cuenta de que si tengo un LED de alto brillo o un LED de cápsula translúcida?
Ahora me quedó la duda de qué tipo de LED poseo. Evidentemente los LED's transparentes de 5mm que tengo (el rojo y el azul) brillan mucho más que los otros LED's comunes de 5mm con capsulas de colores que tengo.
¿Se puede deducir que tipo de LED poseo según el consumo y el voltaje de trabajo? No sabía que había 2 variantes con los LED de cápsula translúcida, si es que te referís a transparente cuando hablas de translúcida.

Si, quise decir transparente (eso pasa por no ponerse lo lentes y dejar el control al texto predictivo :laughing:)

El tema LEDs es "todo un tema", avanza rápidamente, a lo mejor estoy desactualizado.
Por ejemplo, los LED SMD que tienen mis placas Nano tienen LEDs rojos, verdes y azules, todos tienen resistencias de 1K, o sea que trabajan con 5 mA o menos, y todos brillan una barbaridad, incluso los azules.

La verdad que lo único que conozco para determinar si son de alto brillo (más allá del consumo) es comparar las hojas de datos de los fabricantes. Googleando se encuentran.

Gracias por responder gatul. El único problema que veo en los LED's SMD es cómo soldarlos, creo que con un soldador convencional no podría.
Entonces, y volviendo a mi pregunta original de que si Arduino podría alimentar 10 Leds que consumen en promedio 10 mA ¿Es posible?
Gracias

Absolutamente .

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.