Problème d'utilisation beaucoup des relais

Mon projet necessite que je met 16 relais en sortie, et d'après ce que je sais, les sorties l'arduino ne faut pas fournir en sortie en total plus que 200mA et la seule pin ne peut pas depasser 40mA d'ou ca m'oblige d'utiliser seulement 4 relais !
Est ce que mes information son correctes ? :confused:
Si non vos aides m aideront bien ... merci

si tu utilises des modules tout faits avec un transistor de commande, pas de problème

Le sujet indépendant ayant été créé je développe.

la seule pin ne peut pas depasser 40mA

Faux.
40 mA est une "absolute maximum rating" c'est à dire qu'Atmel dit que c'est la valeur max à ne jamais dépasser occasionnellement et pendant un temps très court. C'est à considérer comme un droit à l'erreur a utiliser 1 fois.

Les caractéristiques dépendent du modèle de microcontrôleur qui équipe la carte.
Comme tu n'a rien précisé je suppose que tu as une carte UNO (nano, mini-pro) avec un micro atmega328p.

La documention Atmel (c'est la seule qui compte concernant le microcontrôleur) donne des valeurs pour I =20 mA ce qui signifie que 20 mA est la valeur max en service permanent.

Attention les transistors de sortie ont une résistance non nulle et à 20 mA il se produit une perte de 0,5V.
Courant_max_atmega328p.png

l'arduino l'atmega328p ne faut pas fournir en sortie en total plus que 200mA

Oui et ce n'est pas que pour les sorties, c'est la consommation totale du micro et cela concerne les pins Vcc et Gnd.
C'est dû au petit diamètre des fils qui relient la puce au boîtier.
Bonding.jpg

Pour les sorties c'est plus compliqué. Il y a le courant max de 20 mA mais ce n'est pas tout.

  1. les sorties sont groupées par 8 dans des "ports".
    Il y a donc des limitations par port.
    Une sortie peut fournir du courant à une charge connectée à la masse ( on appelle ce mode "source").
    Une sortie peut absorber du courant d'une charge connectée à l'alimentation 5V (on appelle ce mode "sink").
    La limite pour un "port" est de 150mA en mode source et 100 mA en mode "sink".
    Si tu fais "sinker" simultanément les 8 sorties d'un port tu n'a plus droit qu'à 12,5 mA par sortie. On est loin des 40 mA.

Conclusion :
Il est horriblement compliqué de tenir compte de ces limitations en fonction du déroulement du programme.
Ce que je conseille :
Si le programme est très simple et qu'il est possible de maîtriser les consommations selon la phase du programme on peut aller titiller les limites de courant.
Si ce n'est pas le cas, a titre personnel, je limite à quelques mA le courant qui entre ou sort d'une sortie et j'utilise au maximum des interfaces de puissance en tampon.

et c'est le sens de la réponse de bricofoy

si tu utilises des modules tout faits avec un transistor de commande, pas de problème

Les modules relais incorporent le transistor interface de puissance et la diode de roue libre absolument indispensable pour que la bobine du relai ne tue pas le transistor.

Attention quand même à ne pas relier l'alim 5V de ces modules au 5 V de la carte arduino. Selon le mode d'alimentation, l'USB du PC ou le régulateur interne de la carte arduino ne le supporteront pas.
Le 5V des modules relais doit être relié directement à une alimentation 5V.
Ne pas oublier de relier entre eux tous les Gnd des alimentations.
Gnd = masse = référence pour les tensions.

Bonding.jpg

Courant_max_atmega328p.png