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 :

  1. Un circuit connectant l'ESP32 S3, un capteur d'humidité du sol capacitif, un module relais et une pompe à eau 12V
  2. Un seuil d'humidité calibré qui déclenche la pompe uniquement lorsque le sol est réellement sec
  3. Une sortie sur le moniteur série affichant l'état du sol et de la pompe en temps réel avec horodatage
  4. Un contrôleur d'irrigation entièrement autonome qui arrose vos plantes et s'arrête automatiquement lorsque le sol est humide
ESP32 S3 - Système d'irrigation automatique

Matériel requis

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur d'humidité du sol capacitif
1×Relais
1×12V Pompe
1×Vinyl Tube
1×Adaptateur secteur 12V
1×Optionnel: Connecteur d'alimentation DC
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

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)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

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é :

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é.

Schéma de câblage du système d'irrigation automatique ESP32 S3

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.

Schéma de câblage du système d'irrigation automatique ESP32 S3 (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 système d'irrigation automatique ESP32 S3 (GPIO Breakout Board)

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.

/* * 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-automatic-irrigation-system */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-automatic-irrigation-system */ #define RELAY_PIN 7 // ESP32-S3 pin GPIO7 that connects to relay #define MOISTURE_PIN 6 // ESP32-S3 pin GPIO6 (ADC1) that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(115200); pinMode(RELAY_PIN, OUTPUT); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(200); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. 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.
  3. Mettez à jour la constante THRESHOLD dans le code avec votre valeur calibrée.
  4. 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.
  5. Connectez l'ESP32 S3 à votre ordinateur à l'aide du câble USB Type-C.
  6. 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.
  7. Copiez le code ci-dessus, collez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload.
  8. Ouvrez le moniteur série à 115200 bauds.
  9. 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.
  10. 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.

∞
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-06-16 08:14:01] The soil is DRY => turn pump ON (1921) [2026-06-16 08:14:02] The soil is DRY => turn pump ON (1821) [2026-06-16 08:14:03] The soil is DRY => turn pump ON (1741) [2026-06-16 08:14:05] The soil is DRY => turn pump ON (1645) [2026-06-16 08:14:07] The soil is WET => turn pump OFF (1465) [2026-06-16 08:14:08] The soil is WET => turn pump OFF (1411) [2026-06-16 08:14:09] The soil is WET => turn pump OFF (1365) [2026-06-16 08:14:11] The soil is WET => turn pump OFF (1279)
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ 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.

  1. 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.
  2. 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é.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

  1. 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.
  2. 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.
  3. 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é.
  4. 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é.
  5. 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.
  6. 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.

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 !