Arduino Nano - Module MOSFET
Ce tutoriel vous explique comment utiliser l'Arduino Nano pour commuter et faire varier une charge 12V DC à travers un module MOSFET. Le petit Nano est placé sur une breadboard et ne fournit qu'un signal 5V, tandis que le module MOSFET gère le côté 12V, qui demande plus de courant. En détail, nous allons apprendre :
- Comment connecter l'Arduino Nano au module MOSFET (AOD4184, LR7843 ou FR120N)
- Comment connecter une bande LED 12V et un adaptateur secteur 12V au module
- Comment programmer l'Arduino Nano pour allumer/éteindre la charge et régler sa puissance avec le PWM
Nous vous suggérons :
- D'utiliser un Arduino Nano - Relais. si vous souhaitez commuter un appareil sur le secteur AC. Un module MOSFET fonctionne uniquement avec des charges DC.
- D'utiliser un Arduino Nano - Optocoupleur PC817 : Surveiller un Signal d'Entrée 12V/24V DC si vous souhaitez faire le travail inverse : lire un signal 12V ou 24V avec l'Arduino Nano.
Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Module MOSFET
Une broche de l'Arduino Nano ne peut fournir que quelques milliampères en 5V. C'est suffisant pour une petite LED, mais pas pour une bande LED 12V, un ventilateur ou une pompe. Le module MOSFET se place entre les deux mondes. Le Nano envoie un petit signal, et le MOSFET du module ouvre ou ferme le passage du fort courant 12V.
Ce tutoriel couvre trois modules : AOD4184 (aussi vendu sous le nom D4184), LR7843 et FR120N. Ils ont la même conception de carte, avec la même taille, les mêmes broches, le même câblage et le même code. Seule la puce MOSFET de la carte est différente.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| MOSFET | AOD4184A (canal N) | IRLR7843 (canal N) | IRFR120N (canal N) |
| Tension de charge max (valeur du MOSFET) | 40V DC | 30V DC | 100V DC |
| Courant max (valeur du MOSFET) | 50A | 161A | 9.4A |
| Résistance à l'état passant RDS(on) | environ 7 mΩ | environ 3.3 mΩ | environ 210 mΩ |
| Courant pratique sans dissipateur | environ 10–15A | environ 15A | environ 2A |
| Signal de commande | logique 3.3V / 5V, actif à l'état HAUT | logique 3.3V / 5V, actif à l'état HAUT | logique 3.3V / 5V, actif à l'état HAUT |
| Isolation | optocoupleur PC817 | optocoupleur PC817 | optocoupleur PC817 |
| PWM | oui, rester ≤ ~1 kHz | oui, rester ≤ ~1 kHz | oui, rester ≤ ~1 kHz |
| Type de charge | DC uniquement | DC uniquement | DC uniquement |
Pourquoi choisir un module MOSFET plutôt qu'un relais ? Il ne fait pas de bruit de clic, il n'a pas de pièces mobiles, il commute très vite et il dure longtemps. Surtout, il accepte le PWM, donc le Nano peut faire varier l'intensité d'une bande LED ou ralentir un ventilateur. Un relais ne sait faire que MARCHE et ARRÊT.
Brochage du Module MOSFET

Le module a deux groupes de broches. Le groupe de commande est un petit connecteur à 2 broches au pas de 2.54mm, qui s'insère directement dans une breadboard à côté du Nano :
- Broche PWM : doit être connectée à une broche PWM de l'Arduino Nano (D9 dans ce tutoriel). Cette broche reçoit le signal de commande
- Broche GND : doit être connectée à la broche GND de l'Arduino Nano (masse du signal)
Le groupe de puissance a trois borniers à vis, car il transporte le courant de la charge :
- Broche + : doit être connectée au positif (+) de l'alimentation de la charge, par exemple 12V, et au fil positif de la charge. Les deux fils partagent ce seul bornier
- Broche LOAD : doit être connectée au fil négatif de la charge. C'est le côté commuté, et il va au drain du MOSFET
- Broche − : doit être connectée au négatif (−) de l'alimentation de la charge
※ Note:
La disposition des broches d'un module peut différer d'un fabricant à l'autre. Les étiquettes peuvent aussi changer un peu d'un lot à l'autre. Il est essentiel de toujours se référer aux étiquettes imprimées sur le module lors de son utilisation. Regardez-les bien !
Fonctionnement du Module
Le signal du Nano ne va pas directement au MOSFET. Il suit ce chemin : broche D9 du Nano → broche PWM → petite résistance → LED à l'intérieur de l'optocoupleur PC817 → lumière → phototransistor à l'intérieur du PC817 → grille du MOSFET. Une résistance de rappel à la masse (pull-down) sur la grille la maintient à 0V tant que l'optocoupleur est éteint. Le MOSFET est placé entre la borne LOAD et la borne −, et la charge est placée entre + et LOAD.
Le module réagit de trois façons différentes, selon ce que le Nano met sur la broche PWM.
Cas 1 : La Broche PWM Est à l'État BAS (0V)
- Aucun courant ne circule dans l'optocoupleur, donc sa LED reste éteinte.
- Le phototransistor reste bloqué. La résistance pull-down maintient la grille du MOSFET à 0V.
- Le MOSFET est BLOQUÉ (OFF). Entre LOAD et −, il se comporte comme un interrupteur ouvert.
- Le fil − de la bande LED n'a aucun chemin vers le − de l'adaptateur, donc aucun courant ne circule. La bande reçoit 0V et reste éteinte.
- Dans le code : digitalWrite(MOSFET_PIN, LOW) ou analogWrite(MOSFET_PIN, 0).
Cas 2 : La Broche PWM Est à l'État HAUT (5V)
- La broche 5V envoie quelques mA dans la LED de l'optocoupleur. Elle s'allume à l'intérieur de la puce, où vous ne pouvez pas la voir.
- La lumière active le phototransistor. Maintenant, la grille du MOSFET reçoit environ la moitié de la tension d'alimentation de la charge, soit environ 6V avec un adaptateur 12V.
- Le MOSFET est complètement PASSANT (ON). Il se comporte comme un interrupteur fermé avec une très faible résistance : quelques mΩ pour l'AOD4184 et le LR7843, environ 0.2Ω pour le FR120N.
- Le courant circule en boucle : adaptateur + → borne + → bande LED → borne LOAD → MOSFET → borne − → adaptateur −.
- La bande reçoit presque les 12V complets et brille à pleine luminosité.
- Dans le code : digitalWrite(MOSFET_PIN, HIGH) ou analogWrite(MOSFET_PIN, 255).
Cas 3 : La Broche PWM Reçoit un Signal PWM
- La broche bascule entre 0V et 5V environ 490 fois par seconde (la fréquence par défaut de analogWrite() sur D9).
- Le MOSFET suit chaque impulsion : il est PASSANT pendant chaque partie HAUTE et BLOQUÉ pendant chaque partie BASSE.
- La charge reçoit des impulsions de 12V. Le rapport cyclique est la part de temps pendant laquelle la broche est à l'état HAUT, et la tension et la puissance moyennes sont égales au rapport cyclique multiplié par la valeur maximale.
- Dans le code : analogWrite(MOSFET_PIN, value), où value va de 0 à 255 et où le rapport cyclique est value / 255. Le code du tutoriel va de 10% à 100% par paliers.
| Rapport cyclique | Valeur analogWrite() | La charge est allumée | Tension moyenne (alimentation 12V) | Puissance |
|---|---|---|---|---|
| 0% | 0 | jamais | 0V | éteinte |
| 25% | 64 | 1/4 du temps | environ 3V | environ un quart |
| 50% | 128 | la moitié du temps | environ 6V | environ la moitié |
| 75% | 191 | 3/4 du temps | environ 9V | environ trois quarts |
| 100% | 255 | tout le temps | 12V | complète |
- Une bande LED paraît moins lumineuse. Elle clignote toujours, mais trop vite pour que l'œil le remarque.
- Un ventilateur, un moteur ou une pompe tourne plus lentement, car sa masse en rotation lisse les impulsions.
- Le PC817 est un composant lent, donc la fréquence PWM doit rester entre 500 Hz et 1 kHz environ. À une fréquence beaucoup plus haute, le MOSFET ne commute pas complètement, la charge ne reçoit pas des impulsions propres, et le MOSFET chauffe. Les 490 Hz de la broche D9 conviennent.
Quelques autres points sont importants pour votre projet :
- Masses isolées : La masse du signal et la masse de la charge NE sont PAS connectées sur le module. Le côté Nano et le côté 12V sont séparés électriquement par l'optocoupleur.
- Commutation côté bas : Le MOSFET est de type canal N. Il commute le fil négatif de la charge, pas le fil positif.
- Alimentation de la charge d'au moins 6V environ : Comme le montre le Cas 2, la tension de grille vient de l'alimentation de la charge à travers un diviseur de tension. À cause de cela, l'alimentation de la charge doit être d'au moins 6V environ. Utilisez 9V ou plus si la charge consomme plus de quelques ampères. Le module ne fonctionnera PAS bien avec une alimentation de charge de 5V, donc n'utilisez pas la broche 5V du Nano pour alimenter la charge.
- Faible courant de commande : La LED de l'optocoupleur n'a besoin que de quelques mA, donc une broche du Nano peut la piloter directement, sans transistor supplémentaire.
- Pas de diode de roue libre (flyback) sur la carte : Pour les moteurs, pompes, électrovannes et relais (charges inductives), ajoutez une diode de roue libre (flyback) externe (par exemple 1N5819 ou 1N4007) aux bornes de la charge. La cathode (le côté avec la bande) va au + de la charge, et l'anode va au − de la charge.
Schéma de Câblage
Le Nano et le module ne partagent que deux fils (signal et GND), et l'adaptateur 12V alimente le côté charge à travers la prise d'alimentation DC, comme indiqué ci-dessous.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voici le même câblage sans plaque d'essai :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| De | Vers |
|---|---|
| Broche D9 de l'Arduino Nano | Broche PWM du module MOSFET |
| GND de l'Arduino Nano | Broche GND du module MOSFET |
| Adaptateur 12V + (via la prise d'alimentation DC) | + du module MOSFET |
| Adaptateur 12V − (via la prise d'alimentation DC) | − du module MOSFET |
| Bande LED + | + du module MOSFET (même bornier que le + de l'adaptateur) |
| Bande LED − | LOAD du module MOSFET |
Vous voulez que le câblage reste bien en place ? Placez la carte Arduino Nano sur une Carte d'extension à bornier à vis pour Arduino Nano, puis serrez chaque fil sous une vis. Les broches ne changent pas. Branchez simplement chaque fil sur le bornier à vis correspondant :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
WARNING
Ne connectez jamais les fils 12V à une broche de l'Arduino Nano. Le 12V va uniquement aux borniers à vis du module MOSFET.
Câbler le Module MOSFET à d'Autres Appareils 12V
La bande LED n'est qu'une option. Les exemples ci-dessous montrent d'autres charges 12V courantes. Côté Nano, rien ne change : D9 va à PWM et GND va à GND. Seul le côté des borniers à vis est différent. Le tableau donne un aperçu rapide :
| Appareil | Diode de roue libre | Comment le contrôler |
|---|---|---|
| Bande LED 12V (une seule couleur) | Non nécessaire | PWM (luminosité) |
| Moteur DC 12V | Nécessaire | PWM (vitesse) |
| Ventilateur de refroidissement 12V | Nécessaire | PWM (vitesse) |
| Pompe à eau 12V | Nécessaire | PWM (débit) |
| Serrure à solénoïde 12V | Nécessaire | MARCHE/ARRÊT uniquement |
| Électrovanne 12V | Nécessaire | MARCHE/ARRÊT uniquement |
Pour chaque appareil, la tension de l'adaptateur doit correspondre à la tension de l'appareil (un appareil 12V a besoin d'un adaptateur 12V), et elle doit être d'au moins 6V. Vérifiez aussi le courant que consomme l'appareil. Le module FR120N convient uniquement aux petites charges d'environ 2A sans dissipateur. Pour les charges plus importantes, choisissez le module AOD4184 ou LR7843.
Le même code Arduino Nano fonctionne pour tous ces appareils. Pour la serrure à solénoïde et l'électrovanne, utilisez seulement HIGH et LOW (100% ou 0%) à la place de la variation progressive.
Exemple de Câblage d'une Bande LED 12V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous pouvez aussi monter ce circuit sans plaque d'essai. Voici le même câblage :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Le fil + de la bande (souvent marqué 12V) doit être connecté à +, et le fil − doit être connecté à LOAD.
- Une bande LED n'est pas une charge à bobine, donc elle n'a pas besoin de diode de roue libre.
- Le PWM règle la luminosité.
- Cet exemple concerne uniquement une bande d'une seule couleur. Les bandes RVB et adressables se câblent d'une autre façon. Une bande plus longue consomme plus de courant, donc vérifiez son courant avant de choisir le module.
Exemple de Câblage d'un Moteur DC 12V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Le schéma ci-dessous montre les mêmes connexions sans plaque d'essai :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| De | Vers |
|---|---|
| Moteur + | + du module MOSFET |
| Moteur − | LOAD du module MOSFET |
| Diode 1N5819 ou 1N4007, cathode (bande) | Moteur + |
| Diode 1N5819 ou 1N4007, anode | Moteur − |
Un moteur est une charge à bobine. La diode placée aux bornes du moteur protège le MOSFET de la surtension quand le moteur s'arrête (voir « Pas de diode de roue libre (flyback) sur la carte » plus haut). Le PWM règle la vitesse. Le module ne peut faire tourner le moteur que dans un seul sens. Pour changer le sens, utilisez un pilote de moteur tel que le L298N, comme dans le tutoriel Arduino Nano - Moteur à courant continu..
Exemple de Câblage d'un Ventilateur de Refroidissement 12V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voici le même câblage sans plaque d'essai :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Le fil rouge est le +, et il doit être connecté à +. Le fil noir est le −, et il doit être connecté à LOAD.
- Si le ventilateur a un troisième fil (jaune, le signal de vitesse), laissez-le non connecté.
- Ajoutez la diode de roue libre de la même façon que pour le moteur DC. Elle est bon marché et ne fait aucun mal.
- Le PWM règle la vitesse. Certains ventilateurs ne démarrent pas avec un rapport cyclique très bas, donc commencez au-dessus de 30% environ.
Exemple de Câblage d'une Pompe à Eau 12V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Si vous n'utilisez pas de plaque d'essai, câblez-le ainsi :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Le + de la pompe va à +, et le − de la pompe va à LOAD.
- Une pompe a un moteur à l'intérieur, donc la même diode de roue libre est nécessaire.
- Le PWM règle le débit. Ne laissez jamais la pompe tourner à sec.
Exemple de Câblage d'une Serrure à Solénoïde 12V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Pas de plaque d'essai ? Le même circuit peut être câblé sans, comme ci-dessous :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Pour un projet durable, les borniers à vis tiennent mieux les fils que les fils de connexion. Branchez simplement la carte Arduino Nano sur une Carte d'extension à bornier à vis pour Arduino Nano. Voici le même circuit câblé avec la carte à bornier à vis :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Le + de la serrure va à +, et le − de la serrure va à LOAD. La bobine à l'intérieur nécessite aussi la diode de roue libre.
- Pilotez-la uniquement à fond (ON) ou coupée (OFF). N'utilisez pas la variation PWM.
- La serrure chauffe si elle reste sur ON pendant longtemps. Mettez-la sur ON seulement un court instant pour déverrouiller, puis mettez-la sur OFF.
Exemple de Câblage d'une Électrovanne 12V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Pas de plaque d'essai ? Le même circuit peut être câblé sans, comme ci-dessous :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voir Comment alimenter un Arduino Nano..
- Le + de la vanne va à +, et le − de la vanne va à LOAD, avec la diode de roue libre aux bornes de la bobine.
- C'est une vanne normalement fermée : ON à fond ouvre la vanne, et OFF la ferme.
- Utilisez uniquement MARCHE/ARRÊT, pas le PWM.
Comment Programmer le Module MOSFET
Aucune bibliothèque n'est nécessaire. Le module est piloté avec les fonctions Arduino intégrées.
- La première étape est d'indiquer la broche de l'Arduino Nano connectée à la broche PWM du module. Ce doit être une broche PWM (marquée avec ~ sur le Nano, comme D9) :
- Configurez la broche en sortie dans setup() :
- Pour allumer la charge à fond ou l'éteindre complètement, une simple écriture numérique suffit :
- Pour régler un niveau de puissance, écrivez une valeur PWM de 0 à 255. Il est plus facile de raisonner en pourcentage, donc la valeur en pourcentage est convertie avec map() :
Code Arduino Nano pour le Module MOSFET
Le code ci-dessous fait ceci en boucle :
- Allume la charge à fond pendant 2 secondes, puis l'éteint complètement pendant 2 secondes
- Augmente la puissance de 10% à 100% par paliers de 10%, un palier toutes les 0.5 secondes
- Diminue la puissance de 90% à 0% de la même façon
- Attend 1 seconde, puis recommence
Étapes Rapides
- Si c'est la première fois que vous utilisez l'Arduino Nano, consultez Installation du logiciel Arduino Nano..
- Câblez les composants comme indiqué dans le schéma. Ne branchez pas encore l'adaptateur 12V.
- Connectez la carte Arduino Nano à votre ordinateur à l'aide d'un câble USB.
- Ouvrez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Nano et son port COM.
- Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload pour téléverser le code sur l'Arduino Nano.
- Branchez l'adaptateur secteur 12V.
- Ouvrez le Moniteur Série et réglez le débit en bauds sur 9600.
- Regardez la bande LED : elle est à pleine luminosité pendant 2 secondes, éteinte pendant 2 secondes, puis elle devient lentement plus lumineuse et lentement plus faible.
- Consultez le résultat sur le Moniteur Série :
Si vous utilisez un ventilateur 12V à la place de la bande LED, le ventilateur tourne à pleine vitesse, s'arrête, puis accélère et ralentit palier par palier.
Connaissances Supplémentaires
AOD4184 vs LR7843 vs FR120N : Lequel Choisir
Les trois modules se connectent à l'Arduino Nano de la même façon. Le choix dépend de la tension et du courant de votre charge.
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| Tension de charge max | 40V DC | 30V DC | 100V DC |
| Résistance à l'état passant | environ 7 mΩ | environ 3.3 mΩ | environ 210 mΩ |
| Courant pratique sans dissipateur | environ 10–15A | environ 15A | environ 2A |
| Convient pour | charges 12V/24V/36V | charges 12V/24V à fort courant | petites charges 24V/48V |
- LR7843 : Il a la résistance la plus faible, donc il chauffe le moins à fort courant. Il est idéal pour les bandes LED 12V/24V de forte puissance et les gros moteurs. La limite est de 30V.
- AOD4184 : C'est un bon module polyvalent. Il fonctionne jusqu'à 40V et supporte un fort courant.
- FR120N : Il supporte la tension la plus élevée (jusqu'à 100V), mais sa résistance est la plus élevée. Il convient seulement aux petits courants, environ 2A sans dissipateur.
Il est évident que le LR7843 est le meilleur choix pour les charges lourdes 12V/24V, tandis que le FR120N est le seul choix au-dessus de 40V.
※ Note:
Les grandes valeurs de courant (50A pour l'AOD4184, 161A pour le LR7843) sont les limites de la puce MOSFET. Ce n'est PAS ce que la petite carte du module peut supporter. La vraie limite est la chaleur. Après quelques minutes de fonctionnement, touchez le MOSFET avec précaution. S'il est trop chaud pour être tenu, réduisez la charge ou ajoutez un dissipateur.
Module MOSFET vs Relais
| Module MOSFET | Relais | |
|---|---|---|
| Type de charge | DC uniquement | DC ou AC |
| PWM (variation d'intensité, contrôle de vitesse) | Oui | Non |
| Bruit | Silencieux | Fait des clics |
| Pièces mobiles | Aucune | Oui |
| Vitesse de commutation | Très rapide | Lente |
Pour un projet Nano sur une breadboard qui contrôle une bande LED 12V, un ventilateur ou une pompe, le module MOSFET est le meilleur choix. Pour les appareils sur le secteur AC, utilisez un Arduino Nano - Relais..