Voy a robar mi respuesta de cuando respondí esta pregunta en el último intento de arduino SE.
Esto es un poco complejo. Básicamente, hay una serie de factores limitantes:
Las líneas IO del microcontrolador (es decir, los pines analógicos y digitales) tienen un límite de corriente agregado (por ejemplo, total) y un límite por pin:
De la hoja de datos ATmega328P .
Sin embargo, dependiendo de cómo defina los "Pins" de Arduino, esta no es toda la historia.
El pin de 5V del arduino no está conectado a través del microcontrolador . Como tal, puede generar significativamente más energía. Cuando alimenta su arduino desde USB, la interfaz USB limita su consumo de energía total a 500 mA. Esto se comparte con los dispositivos en la placa arduino, por lo que la potencia disponible será algo menor.
Cuando utiliza una fuente de alimentación externa, a través del conector de alimentación del barril, está limitado por el regulador local de 5V, que tiene una capacidad máxima de 1 amperio . Sin embargo, esto también está limitado térmicamente , lo que significa que a medida que consume energía, el regulador se calentará. Cuando se sobrecalienta, se cerrará temporalmente.
La salida regulada de 3.3V es capaz de suministrar 150 mA máx., Que es el límite del regulador de 3.3V.
En resumen
- El máximo absoluto para cualquier pin IO es 40 mA ( este es el máximo . En realidad, nunca debe extraer 40 mA completos de un pin. Básicamente, es el umbral en el que Atmel ya no puede garantizar que el chip no se dañe. Siempre debe asegurarse de estar a salvo por debajo de este límite actual ) .
- La corriente total de todos los pines IO juntos es de 200 mA máx.
- El pin de salida de 5V es bueno para ~ 400 mA en USB, ~ 900 mA cuando se usa un adaptador de alimentación externo
- El 900 mA es para un adaptador que proporciona ~ 7V. A medida que aumenta el voltaje del adaptador, también aumenta la cantidad de calor que el regulador tiene que manejar, por lo que la corriente máxima disminuirá a medida que aumente el voltaje. Esto se llama limitación térmica.
- La salida de 3.3V es capaz de suministrar 150 mA .
- Nota: Cualquier energía extraída del riel de 3.3V debe pasar por el riel de 5V . Por lo tanto, si usted tiene un dispositivo 100 mA en la salida de 3.3V, es necesario también contar en contra de la corriente total de 5V.
Nota: Esto no se aplica al Arduino Due, y es probable que existan algunas diferencias para el Arduino Mega. Es probable que sea cierto en general para cualquier Arduino basado en el microcontrolador ATmega328.