Si j'ai un conseil à te donner : ne joue pas à te rapprocher des limites.
C'est bien connu, à force de tirer sur la corde, elle casse.
Le courant maximal donné par le concepteur du microcontrôleur est fixé dans des cas particuliers.
Il faut déjà faire l'effort de rechercher à quel port appartiennent les E/S avec la dénomination arduino qui n'a strictement rien à voir avec la dénomination du concepteur du micro.
Je prends un exemple particulier : le port C
Je ne le choisis absolument pas par hasard.
Les E/S raccordées à ce port sont selon la dénomination arduino A0, A1, A2, A3, A4, A5.
Premiere information : ce ne sont pas que des entrées analogiques.
Ce sont des E/S numériques, comme les autres, mais elles ont de particulier :
A0 à A5 : ont des sous fonctions mesure analogique
A4 et A5 : ont en plus une autre sous fonction numérique : bus I2C.
Si tu fais digitalWrite(A0, HIGH) l'E/S reste en mode numérique.
Si tu fais analogRead(A0) l'E/S "dite A0" commute dans sa sous fonction mesure analogique.
J'en revient au sujet :
Port C (8 bits)
bit 0 => A0
.......
Bit 5 => A5
Il reste 3 bits de disponible dans le port.
Un est pris par le Reset
Deux sont pris pour le résonateur (~ faux quartz à 16 MHz)
Un peu plus de courant est par conséquent disponible.
Attention ce travail est à faire pour tous les ports C mais aussi B et D (pour la UNO).
Une carte Mega n'aura pas les mêmes ports tout comme une Leonardo.
C'est donc à prendre très précautionneusement.
Autre point : dans un programme toutes les sorties ne sont pas actionnées simultanément, certaines sont en mode sink, d'autres en mode source.
On pourrait penser que cela laisse plus de liberté.
Tirer sur la corde en utilisant ces propriétés est casse-figure => c'est absolument certain qu'un jour tu crameras une carte.
Tu ne pourra pas déterminer quand elle cramera, mais ce dont tu peux être sûre, c'est que ce sera au pire moment.=> Loi dite de "la tartine beurrée" qui tombe toujours le beurre contre le sol.
Autre point :
Un jour, tu passeras à des microcontrôleurs plus modernes, avec des fréquences d'horloge bien plus élevées.
On n'y peut rien, mais pour monter en fréquence, il faut des transistors plus petits.
Qui dit transistor plus petit dit courant max dans le transistor plus faible.
Certains constructeurs de micro permettent de régler la taille du transistor de sortie (Stm32, Rp2040) d'autres prévoient quelques sorties plus puissantes.
Dans tous les cas il faut lire la datasheet et la "Référence utilisateur" et ce n'est vraiment pas simple.
.
Autant prendre les bonnes habitudes de suite, ne pas jouer avec le feu en considérant qu'une sortie est faite pour fournir du courant.
Pour fournir du courant, on utilise un transistor externe en interface de puissance.
Ceci dit, chaque cas est un cas particulier.
Il faut analyser, il est impossible de donner une règle générale.