ESP32 S3 - Système d'irrigation automatique
Construire un système d'irrigation automatique avec l'ESP32 S3 permet à votre jardin de s'arroser intelligemment tout seul — la carte lit un capteur d'humidité du sol capacitif et active ou désactive une pompe contrôlée par relais selon que le sol est sec ou humide. Ce tutoriel vous guide à travers chaque étape, du câblage du matériel au téléversement du programme final, en passant par la lecture de l'état de la pompe en direct sur le moniteur série.
Ce que vous allez construire :
- Un circuit connectant l'ESP32 S3, un capteur d'humidité du sol capacitif, un module relais et une pompe à eau 12V
- Un seuil d'humidité calibré qui déclenche la pompe uniquement lorsque le sol est réellement sec
- Une sortie sur le moniteur série affichant l'état du sol et de la pompe en temps réel avec horodatage
- Un contrôleur d'irrigation entièrement autonome qui arrose vos plantes et s'arrête automatiquement lorsque le sol est humide

Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: De nombreux capteurs d'humidité du sol capacitifs sur le marché sont de faible qualité, quelle que soit la version. Nous recommandons vivement d'acheter le capteur avec puce TLC555I de la marque DIYables en utilisant le lien ci-dessus. Nous l'avons testé et il a bien fonctionné.
À propos du capteur d'humidité du sol et de la pompe
L'ESP32 S3 lit le capteur d'humidité du sol capacitif via son ADC intégré et utilise cette lecture pour décider d'activer ou de désactiver le relais, qui contrôle à son tour la pompe 12V. Comprendre le fonctionnement de chaque composant individuellement facilite grandement le câblage, le calibrage et le dépannage du système combiné.
Spécifications clés
Nous avons des tutoriels dédiés couvrant chaque composant en détail — y compris les brochages, les principes de fonctionnement, les schémas de câblage et des exemples de code autonomes. Consultez-les via les liens ci-dessous avant de construire le système d'irrigation combiné :
- Tutoriel ESP32 S3 - Capteur d'humidité du sol
- Tutoriel ESP32 S3 - Contrôle d'une pompe
Schéma de câblage
Connectez l'ESP32 S3, le capteur d'humidité du sol capacitif, le module relais et la pompe 12V en suivant le schéma ci-dessous. Éloignez les fils du capteur du câblage de la pompe 12V pour éviter les interférences, et vérifiez bien la polarité de l'adaptateur d'alimentation avant d'appliquer la tension.
Notes de sécurité
Le module relais maintient le circuit logique 3,3V de l'ESP32 S3 physiquement isolé du circuit de la pompe 12V. Utilisez toujours les bornes COM et NO du relais pour contrôler la pompe — jamais NC. Gardez la carte électronique du capteur (la partie supérieure électronique) toujours au-dessus du niveau du sol ; seule la sonde doit être en contact avec le sol ou l'humidité.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du capteur d'humidité | Broche ESP32 S3 |
|---|---|
| GND | GND |
| VCC | 3.3V |
| AOUT | GPIO6 |
Si vous comptez garder ce circuit, pensez aux borniers à vis. Placez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3, puis serrez chaque fil sous une vis. Le câblage ne change pas. Les fils vont simplement aux borniers à vis, comme ci-dessous.

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 :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche ESP32 S3 | Broche du module relais |
|---|---|
| GPIO7 | IN |
| GND | GND |
| 5V | VCC |
| Borne du module relais | Connexion |
|---|---|
| COM | Adaptateur d'alimentation 12V (+) Positif |
| NO | Pompe (+) Fil rouge |
| Connexions de masse | Connexion |
|---|---|
| Adaptateur d'alimentation 12V (-) | Pompe (-) Fil noir |
Code ESP32 S3
Le code suivant lit le capteur d'humidité du sol à chaque itération de la boucle et compare la valeur à un seuil THRESHOLD calibré. Lorsque la lecture dépasse le seuil (le sol est sec), l'ESP32 S3 ferme le relais pour démarrer la pompe ; lorsque la lecture passe sous le seuil (le sol est humide), il ouvre le relais pour arrêter la pompe. Chaque décision est affichée sur le moniteur série afin que vous puissiez surveiller le système en temps réel.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Calibrez le capteur d'humidité du sol pour déterminer le THRESHOLD (seuil) entre humide et sec — consultez le tutoriel ESP32 S3 - Capteur d'humidité du sol pour la procédure de calibration.
- Mettez à jour la constante THRESHOLD dans le code avec votre valeur calibrée.
- Câblez le capteur d'humidité du sol, le module relais, la pompe et l'adaptateur d'alimentation 12V à l'ESP32 S3 comme indiqué dans le schéma de câblage ci-dessus.
- Connectez l'ESP32 S3 à votre ordinateur à l'aide du câble USB Type-C.
- Ouvrez l'Arduino IDE et sélectionnez ESP32S3 Dev Module (ou votre variante spécifique de carte ESP32-S3) ainsi que le bon port COM.
- Copiez le code ci-dessus, collez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload.
- Ouvrez le moniteur série à 115200 bauds.
- Insérez la sonde du capteur dans votre sol et observez la pompe s'activer lorsque le sol est sec et s'arrêter lorsque le sol devient humide.
- Astuce pro : Réglez votre THRESHOLD légèrement au-dessus du véritable point de transition sec-humide afin que la pompe s'active avant que le sol n'atteigne des niveaux critiquement secs, offrant ainsi une marge de sécurité à vos plantes.
Explication du code
Lisez l'explication ligne par ligne dans les commentaires du code source !
Sortie du moniteur série
Ouvrez le moniteur série après le téléversement pour observer le système d'irrigation réagir en temps réel aux conditions changeantes du sol. La sortie ci-dessous montre une session typique où le sol commence sec, la pompe s'active, l'humidité augmente, puis la pompe s'arrête automatiquement.
※ Note:
Ce tutoriel utilise la fonction analogRead() pour lire les valeurs d'un ADC (convertisseur analogique-numérique) connecté à un capteur d'humidité du sol. L'ADC de l'ESP32 S3 convient aux projets qui n'exigent pas une haute précision. Cependant, pour les projets nécessitant des mesures précises, gardez à l'esprit les points suivants :
- L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter un calibrage pour obtenir des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, un calibrage est donc nécessaire pour chaque carte individuelle.
- Le calibrage peut être difficile, en particulier pour les débutants, et ne donne pas toujours exactement les résultats souhaités.
Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3, ou d'utiliser un autre Arduino, comme l'Arduino Uno R4 WiFi, qui dispose d'un ADC plus fiable. Si vous souhaitez tout de même calibrer l'ADC de l'ESP32 S3, consultez le ESP32 ADC Calibration Driver.
Applications et idées de projets
Le système d'irrigation automatique ESP32 S3 présenté ici constitue une base polyvalente qui s'adapte, d'une simple plante en pot à un contrôleur de jardin multi-zones.
- Arrosage de jardin intelligent : Déployez plusieurs cartes ESP32 S3 sur des zones de jardin séparées, chacune avec son propre capteur et sa propre pompe, coordonnées via Wi-Fi.
- Automatisation de serre : Combinez le contrôle de l'humidité du sol avec des lectures de température et d'humidité pour créer un environnement de serre entièrement automatisé.
- Entretien des plantes d'intérieur : Faites fonctionner le système sur une batterie externe USB pour garder vos plantes d'intérieur arrosées pendant les vacances sans aucune intervention manuelle.
- Contrôleur de ferme verticale : Surveillez l'humidité à plusieurs profondeurs de sol à l'aide de plusieurs capteurs connectés à différentes broches ADC de l'ESP32 S3.
- Irrigation avec journalisation des données : Enregistrez les événements de démarrage et d'arrêt de la pompe avec horodatage sur une carte SD pour une analyse à long terme et une optimisation saisonnière des soins aux plantes.
- Surveillance d'irrigation à distance : Utilisez le Wi-Fi intégré de l'ESP32 S3 pour envoyer les lectures d'humidité et l'état de la pompe vers un tableau de bord web ou une application smartphone en temps réel.
Relais vs module MOSFET pour la pompe
Ce projet utilise un relais pour démarrer et arrêter la pompe. Une pompe 12V DC peut aussi être pilotée par un module MOSFET.
| Relais | Module MOSFET | |
|---|---|---|
| Contrôle de la pompe | marche et arrêt seulement | marche, arrêt et réglage du débit (PWM) |
| Bruit de commutation | des clics | aucun |
| Temps de commutation | lent (millisecondes) | très rapide |
| Usure | les contacts vieillissent avec l'usage | aucune pièce mobile qui s'use |
| Fonctionne avec | pompes AC et DC | pompes DC uniquement |
| Tension d'alimentation de la pompe | celle admise par le relais | 6V ou plus |
| Isolation | oui | oui, avec un optocoupleur PC817 |
| À choisir pour | pompes AC ou simple ON/OFF | pompes DC dont on veut régler le débit |
Pour arroser des plantes, le relais suffit. Le module MOSFET est utile si vous voulez un débit doux, pour que l'eau n'emporte pas la terre. Une pompe a une bobine de moteur à l'intérieur, donc ajoutez une diode de roue libre (1N4007 ou 1N5819) en parallèle sur la pompe quand vous utilisez le module MOSFET. Les pompes AC ont besoin du relais. Le niveau 3.3V de l'ESP32 S3 suffit largement, car la LED de l'optocoupleur PC817 n'a besoin que de quelques milliampères.
Pour voir comment câbler et programmer une pompe avec un relais et avec un module MOSFET, consultez le tutoriel ESP32 S3 - Contrôle d'une pompe.
Tutoriel vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Ces défis vous aideront à faire évoluer le système d'irrigation automatique au-delà du programme de base et à développer des compétences plus avancées en automatisation du jardinage.
- Débutant : Ajoutez un voyant LED câblé à une broche GPIO libre qui s'allume sur l'ESP32 S3 chaque fois que la pompe fonctionne, offrant un signal visuel d'état clair.
- Débutant : Modifiez le code pour ajouter une durée minimale de fonctionnement de la pompe de 5 secondes, afin que la pompe ne fonctionne jamais moins de 5 secondes même si le capteur de sol fluctue autour du seuil.
- Intermédiaire : Ajoutez un bouton poussoir physique qui vous permet de forcer manuellement le cycle d'arrosage automatique et de faire fonctionner la pompe à la demande, quelle que soit la lecture d'humidité.
- Intermédiaire : Utilisez le Wi-Fi de l'ESP32 S3 pour envoyer une notification à votre téléphone via IFTTT ou MQTT chaque fois que la pompe s'active, afin de toujours savoir quand votre jardin est arrosé.
- Avancé : Étendez le système pour contrôler trois pompes et capteurs indépendants à l'aide d'un module relais multi-canaux, chaque canal étant configuré indépendamment pour une plante ou une zone différente.
- Avancé : Implémentez une couche de planification afin que l'ESP32 S3 n'autorise l'arrosage automatique que pendant une plage horaire configurable (par exemple, tôt le matin), évitant ainsi l'arrosage pendant la chaleur de la journée ou la nuit.