ESP32 S3 - Contrôle d'un ventilateur

Apprenez à contrôler un ventilateur de refroidissement DC avec votre ESP32 S3 en utilisant un module relais. Ce projet pour débutants vous guide à travers le câblage, le codage et le test d'un ventilateur qui s'allume et s'éteint automatiquement avec un code Arduino simple.

Il y a deux façons de piloter le ventilateur : un relais ou un module MOSFET. Un relais ne donne que deux états : ventilateur allumé ou ventilateur éteint. Un module MOSFET fait cela aussi, et il peut en plus régler la vitesse du ventilateur, sans aucun clic. Cette page vous montre les deux façons.

Ce que vous allez construire :

  1. Un circuit de ventilateur contrôlé par relais piloté par l'ESP32 S3
  2. Un code Arduino qui fait basculer le ventilateur entre allumé et éteint toutes les 10 secondes
  3. Une sortie du Serial Monitor montrant l'état du ventilateur en temps réel
  4. Une base pour construire des systèmes de refroidissement déclenchés par la température
  5. Un deuxième circuit avec un module MOSFET qui accélère et ralentit le ventilateur avec le PWM
ESP32 S3 - Controls Fan

À propos du ventilateur DC

Un ventilateur DC est un dispositif de refroidissement électrique qui fonctionne sur courant continu et déplace l'air pour la ventilation ou la régulation de la température. Ces ventilateurs sont largement utilisés dans les projets électroniques car ils fonctionnent sur des tensions standards et sont faciles à intégrer avec des microcontrôleurs comme l'ESP32 S3.

Caractéristiques principales

Les ventilateurs DC fonctionnent couramment en 5V, 12V ou 24V DC et se connectent via deux fils : un fil positif (rouge) et un fil négatif (noir). Lorsqu'ils sont alimentés par une tension constante, ils tournent à vitesse constante, et lorsqu'ils sont pilotés par un signal PWM, la vitesse devient variable. Ils consomment relativement peu de courant, fonctionnent silencieusement, et sont disponibles à faible coût, ce qui en fait un choix idéal pour les projets de refroidissement et de ventilation pour débutants.

Brochage

Un ventilateur DC a deux fils de connexion pour l'alimentation :

Fan Pinout
image source: diyables.io
  • Broche négative (-) (fil noir) : Connectez-la au négatif/masse de votre alimentation DC
  • Broche positive (+) (fil rouge) : Connectez-la au positif de votre alimentation DC

Comment contrôler le ventilateur

Il existe plusieurs façons de contrôler un ventilateur DC depuis un microcontrôleur. Faire fonctionner le ventilateur à pleine vitesse nécessite simplement de le connecter directement à sa tension nominale. Le contrôle de vitesse s'obtient avec un signal PWM qui fait varier la puissance moyenne délivrée au moteur. Le contrôle marche/arrêt — la méthode couverte dans ce tutoriel — utilise un relais pour allumer et éteindre l'alimentation du ventilateur, ce qui maintient le circuit haute tension du ventilateur complètement isolé des broches GPIO de l'ESP32 S3. Apprenez-en plus sur les relais dans notre ESP32 S3 - Relais. Pour la partie contrôle de la vitesse, cette page utilise un module MOSFET ; le tutoriel ESP32 S3 - Module MOSFET explique ses broches et son fonctionnement interne.

Relais ou module MOSFET pour un ventilateur ?

Relais Module MOSFET
Ce que vous pouvez faire allumer ou éteindre le ventilateur l'allumer ou l'éteindre et changer sa vitesse (PWM)
Bruit un clic à chaque commutation aucun bruit
Vitesse de commutation lente, quelques millisecondes très rapide
Durée de vie les contacts s'usent après de nombreuses commutations rien ne bouge, donc rien ne s'use
Type d'alimentation ventilateurs CA ou CC ventilateurs CC uniquement
Tension d'alimentation du ventilateur toute tension prévue pour le relais environ 6V ou plus
Isolation de l'ESP32 S3 oui, la bobine et les contacts sont séparés oui, grâce à un optocoupleur PC817
Bon choix pour ventilateurs CA, simple ON/OFF ventilateurs CC 12V qui ont besoin d'un contrôle de vitesse

Pour un ventilateur de refroidissement CC 12V, le module MOSFET est généralement le meilleur choix, car vous pouvez faire tourner le ventilateur lentement et silencieusement quand la pièce est seulement un peu chaude. Gardez le relais si votre ventilateur fonctionne en CA ou a besoin de moins d'environ 6V.

Schéma de câblage

Connectez votre ESP32 S3, le relais, le ventilateur et l'alimentation en suivant le schéma ci-dessous. Le relais se place entre l'ESP32 S3 et le ventilateur, protégeant le microcontrôleur de la tension de fonctionnement du ventilateur.

Notes de sécurité

Faites toujours correspondre la tension de votre alimentation à la tension nominale de votre ventilateur — utiliser 12V sur un ventilateur 5V ou inversement peut endommager le composant. Ne connectez jamais les fils d'alimentation du ventilateur directement aux broches GPIO de l'ESP32 S3 ; le relais est essentiel pour une isolation sûre. Vérifiez bien toutes les connexions avant de mettre le circuit sous tension.

ESP32 S3 Fan Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche du composant Broche ESP32 S3
Relay Signal (IN) D7
Relay VCC 5V
Relay GND GND
Ventilateur Positif (+) Relay COM (Common)
Ventilateur Négatif (-) Négatif (-) de l'alimentation
Relay NO (Normally Open) Positif (+) de l'alimentation

Vous voulez un montage plus propre et plus sûr ? Branchez simplement la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3. Voici le schéma de câblage avec la carte à bornier à vis.

ESP32 S3 Fan Wiring Diagram (Screw Terminal)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Une autre solution est une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a une broche de signal avec une broche 3,3V et une broche GND à côté, comme ci-dessous :

ESP32 S3 Fan Wiring Diagram (GPIO Breakout Board)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code ESP32 S3

Le code suivant démontre le contrôle marche/arrêt du ventilateur en utilisant l'ESP32 S3 et un relais. Il utilise une simple boucle temporisée pour allumer le ventilateur pendant 10 secondes puis l'éteindre pendant 10 secondes, en affichant l'état actuel sur le Serial Monitor afin que vous puissiez vérifier que le relais commute correctement sans avoir besoin de surveiller le ventilateur lui-même.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-controls-fan */ #define RELAY_PIN 7 // The ESP32 S3 pin connected to the fan the via the relay // The setup function runs once on reset or power-up void setup() { // initialize digital pin A5 as an output. pinMode(RELAY_PIN, OUTPUT); } // The loop function repeats indefinitely void loop() { digitalWrite(RELAY_PIN, HIGH); // turn on fan 10 seconds delay(10000); digitalWrite(RELAY_PIN, LOW); // turn off fan 10 seconds delay(10000); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Câblez le relais, le ventilateur et l'alimentation à l'ESP32 S3 en suivant le schéma de câblage ci-dessus.
  3. Connectez l'ESP32 S3 à votre ordinateur à l'aide du câble USB Type-C.
  4. Ouvrez l'Arduino IDE sur votre ordinateur.
  5. Sélectionnez ESP32 S3 et son port COM dans le sélecteur de carte de l'Arduino IDE.
  6. Copiez le code ci-dessus et collez-le dans un nouveau sketch Arduino IDE.
  7. Cliquez sur le bouton Upload pour compiler et téléverser le code sur votre ESP32 S3.
  8. Observez le ventilateur s'allumer et s'éteindre automatiquement par intervalles de 10 secondes.
  9. Ouvrez le Serial Monitor (réglé sur 115200 bauds) pour voir les messages d'état du ventilateur en temps réel.
  10. Astuce pro : Ajoutez une LED en parallèle avec l'indicateur de bobine du relais pour confirmer visuellement la commutation même lorsque le ventilateur est débranché.

Explication du code ligne par ligne

Le code ESP32 S3 ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !

Sortie du moniteur série

Ouvrez le Serial Monitor dans l'Arduino IDE pour voir l'état du contrôle du ventilateur :

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 10:23:01] Fan is ON [2026-01-15 10:23:11] Fan is OFF [2026-01-15 10:23:21] Fan is ON [2026-01-15 10:23:31] Fan is OFF
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Applications et idées de projets

Le contrôle de ventilateur avec l'ESP32 S3 ouvre la porte à une large gamme de projets pratiques de refroidissement et d'automatisation, dans des contextes domestiques, de serre et industriels.

  1. Système de refroidissement contrôlé par température : Allumez automatiquement le ventilateur lorsque la température dépasse un seuil défini à l'aide d'un capteur DHT ou DS18B20.
  2. Système de ventilation par humidité : Activez le ventilateur lorsque l'humidité devient trop élevée dans une pièce ou une enceinte.
  3. Refroidissement de boîtier d'ordinateur : Construisez une solution de refroidissement intelligente qui réagit aux températures mesurées des composants.
  4. Contrôle climatique de serre : Régulez la circulation d'air pour maintenir des conditions de croissance optimales pour les plantes.
  5. Minuterie d'extraction de salle de bain : Faites fonctionner le ventilateur automatiquement pendant une durée fixe après avoir détecté une humidité élevée.
  6. Ventilation intelligente IoT : Contrôlez le ventilateur à distance via WiFi grâce à la connectivité sans fil intégrée de l'ESP32 S3.

Comment contrôler la vitesse du ventilateur avec un module MOSFET

Remplaçons maintenant le relais par un module MOSFET. Le ventilateur s'allume et s'éteint toujours, mais l'ESP32 S3 peut aussi choisir n'importe quelle vitesse intermédiaire.

Schéma de câblage du ventilateur et du module MOSFET

Schéma de câblage du ventilateur de refroidissement ESP32 S3 avec module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

De Vers
ESP32 S3 GPIO47 Module PWM
ESP32 S3 GND Module GND
Adaptateur 12V + Module +
Ventilateur + (fil rouge) Module + (partage la borne avec l'adaptateur +)
Ventilateur − (fil noir) Module LOAD
Adaptateur 12V − Module −

Vous voulez une connexion plus solide que des fils de connexion ? Une carte à bornier à vis pour ESP32 S3 règle ce problème. Branchez-y la carte ESP32 S3 et vissez les fils. Le câblage ne change pas. Les fils vont simplement aux borniers à vis, comme ci-dessous.

Schéma de câblage du ventilateur de refroidissement ESP32 S3 avec module MOSFET (Screw Terminal)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Une carte d'extension GPIO pour ESP32 S3 convient aussi. En plus des broches S, 3,3V et GND de chaque GPIO, elle a des broches 3,3V et 5V supplémentaires :

Schéma de câblage du ventilateur de refroidissement ESP32 S3 avec module MOSFET (GPIO Breakout Board)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Un ventilateur contient un petit moteur : placez donc une diode de roue libre (flyback) (1N4007 ou 1N5819) aux bornes des deux fils du ventilateur. La bande (cathode) va au + du ventilateur.

Code ESP32 S3 - Vitesse du ventilateur avec module MOSFET

Le ventilateur tourne à pleine vitesse pendant 2 secondes et s'arrête pendant 2 secondes. Ensuite, il accélère de 10% à 100% par petits paliers, puis ralentit jusqu'à 0%. Beaucoup de ventilateurs calent en dessous d'environ 30%, donc ne vous inquiétez pas s'il reste immobile aux premiers paliers.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-controls-fan */ const int MOSFET_PIN = 47; // ESP32 S3 GPIO47 connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

Étapes rapides

  1. Configurez la carte et l'Arduino IDE comme dans les Étapes rapides du relais ci-dessus.
  2. Câblez le ventilateur et le module MOSFET comme indiqué dans le schéma. Laissez l'adaptateur 12V débranché pour l'instant.
  3. Téléversez le code sur l'ESP32 S3.
  4. Branchez l'adaptateur 12V.
  5. Ouvrez le Serial Monitor à 9600 bauds et écoutez le ventilateur changer de vitesse.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Astuce : Le module MOSFET fonctionne uniquement en CC et a besoin d'une alimentation du ventilateur d'environ 6V ou plus. Un ventilateur 5V ou un ventilateur CA doit rester sur le relais.

Tutoriel vidéo

Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.

Défiez-vous

Ces défis pratiques vous aideront à approfondir votre compréhension du contrôle de ventilateur et de la commutation par relais sur l'ESP32 S3.

  1. Débutant : Changez le minutage marche/arrêt de 10 secondes à 5 secondes et observez la différence.
  2. Débutant : Ajoutez un bouton-poussoir pour pouvoir basculer manuellement le ventilateur au lieu de dépendre d'une temporisation automatique.
  3. Intermédiaire : Connectez un capteur DHT11 et n'allumez le ventilateur que lorsque la température dépasse 25°C.
  4. Intermédiaire : Contrôlez deux ventilateurs indépendamment en utilisant deux relais séparés et deux broches GPIO différentes.
  5. Avancé : Implémentez un contrôle de vitesse par PWM pour faire varier la vitesse du ventilateur en douceur de 0 à 100%.
  6. Avancé : Construisez une interface web hébergée sur l'ESP32 S3 pour contrôler la vitesse du ventilateur et surveiller la température à distance.

Commentaires

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !