ESP32 S3 - Pompe pilotée par capteur d'humidité du sol
Dans ce tutoriel, vous apprendrez à utiliser l'ESP32 S3 pour contrôler automatiquement une pompe à eau en fonction des lectures d'un capteur capacitif d'humidité du sol. C'est une compétence pratique pour construire des systèmes d'irrigation intelligents qui gardent les plantes en bonne santé sans arrosage manuel.
Ce que vous allez construire :
- Un système qui lit périodiquement les niveaux d'humidité du sol à l'aide d'un capteur capacitif connecté à l'ESP32 S3
- Un circuit d'activation automatique de la pompe qui l'allume lorsque le sol est trop sec
- Un circuit de désactivation automatique de la pompe qui l'éteint lorsque le sol atteint une humidité adéquate
- Une base de surveillance du sol réutilisable pour l'ESP32 S3, que vous pouvez étendre en un système d'irrigation automatique complet
Matériel nécessaire
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
Un capteur capacitif d'humidité du sol mesure la teneur volumétrique en eau du sol en détectant les changements de capacité plutôt que de conductivité, ce qui le rend plus durable et résistant à la corrosion que les alternatives résistives. La tension de sortie analogique du capteur diminue lorsque l'humidité augmente, donc des lectures ADC plus faibles correspondent à un sol plus humide. Un module relais agit comme un interrupteur entre l'ESP32 S3 et le circuit de la pompe 12 V, permettant au microcontrôleur basse consommation de contrôler en toute sécurité une charge à fort courant sans aucun risque de dommage.
Spécifications clés
Si vous n'êtes pas encore familier avec le capteur d'humidité du sol ou la pompe - y compris leur brochage, leurs principes de fonctionnement et leur programmation - consultez les tutoriels suivants avant de continuer :
- Tutoriel ESP32 S3 - Capteur d'humidité du sol
- Tutoriel ESP32 S3 - Contrôle d'une pompe
Comment ça fonctionne
L'ESP32 S3 lit périodiquement la tension analogique du capteur capacitif d'humidité du sol et la compare à une valeur seuil calibrée. Selon le résultat, l'ESP32 S3 effectue l'une des deux actions suivantes :
- Si la valeur d'humidité du sol est inférieure au seuil (le sol est sec), l'ESP32 S3 active le relais pour allumer la pompe.
- Sinon, l'ESP32 S3 désactive le relais pour éteindre la pompe.
Schéma de câblage
Connectez la sortie analogique du capteur d'humidité du sol à un GPIO compatible ADC de l'ESP32 S3, et câblez la broche de contrôle du relais à un GPIO de sortie numérique. Alimentez le module relais depuis le rail 3,3 V ou 5 V de l'ESP32 S3 selon les besoins de votre module relais, et alimentez la pompe 12 V via le contact normalement ouvert et la borne commune du relais.
Consignes de sécurité
Alimentez toujours la pompe depuis un adaptateur externe dédié 12 V plutôt que depuis la carte ESP32 S3, car la consommation de la pompe dépasse largement ce que le port USB peut fournir en toute sécurité. Assurez-vous que les bornes COM et NO du relais sont correctement câblées à l'alimentation 12 V et aux fils de la pompe - inverser la polarité peut endommager le moteur de la pompe.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Un bornier à vis maintient chaque fil bien serré, même quand la carte bouge. Vous pouvez placer la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3 et brancher les fils sur ses borniers à vis. Voici le schéma de câblage avec la carte à bornier à vis.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voici le même circuit avec une carte d'extension GPIO pour ESP32 S3, qui relie chaque GPIO à des connecteurs à broches :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code ESP32 S3
Le code suivant configure l'ESP32 S3 pour surveiller en continu l'humidité du sol et activer ou désactiver automatiquement le relais - et donc la pompe - en fonction d'un seuil défini par l'utilisateur. Calibrez la constante THRESHOLD dans le sketch pour correspondre aux lectures ADC sec et humide de votre capteur et type de sol spécifiques avant de téléverser.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Calibrez votre capteur pour déterminer le seuil sec/humide THRESHOLD en suivant le tutoriel ESP32 S3 - Capteur d'humidité du sol.
- Mettez à jour la valeur calibrée dans THRESHOLD dans le code.
- Câblez le matériel comme indiqué dans le schéma de câblage ci-dessus.
- Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans la barre d'outils de l'Arduino IDE.
- Copiez le code ci-dessus et ouvrez-le avec l'Arduino IDE.
- Cliquez sur Upload pour téléverser le code sur l'ESP32 S3.
- Ouvrez le Serial Monitor à 9600 bauds.
- Insérez la sonde du capteur d'humidité du sol dans un sol sec et observez la pompe s'activer.
- Arrosez le sol jusqu'à ce que le capteur indique une valeur supérieure au seuil et observez la pompe se désactiver.
- Astuce : si la pompe s'active et se désactive rapidement près du seuil (phénomène de rebond), ajoutez une petite bande d'hystérésis dans le code - par exemple, activez en dessous de 30 % et ne désactivez que lorsque les lectures dépassent 35 % - pour éviter une usure inutile du relais.
Sortie du Serial Monitor
Ouvrez le Serial Monitor à 9600 bauds. Les lectures suivantes sont représentatives d'un fonctionnement typique en 2026 :
Explication du code
Lisez l'explication ligne par ligne dans les commentaires du code ci-dessus.
※ 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'ont PAS besoin d'une grande précision. Cependant, pour les projets nécessitant des mesures précises, veuillez noter :
- L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter un étalonnage pour obtenir des résultats corrects. Chaque carte ESP32 S3 peut être un peu différente, vous devez donc étalonner l'ADC pour chaque carte individuelle.
- L'étalonnage peut être difficile, surtout pour les débutants, et peut ne pas toujours donner 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 Arduino, qui possède un ADC plus fiable. Si vous souhaitez tout de même étalonner l'ADC de l'ESP32 S3, consultez le ESP32 ADC Calibration Driver
Applications
Combiner un capteur capacitif d'humidité du sol et une pompe sur l'ESP32 S3 permet un large éventail d'applications intelligentes d'arrosage et de surveillance environnementale à la maison, au jardin et dans l'agriculture.
- Arrosage automatique des plantes : l'ESP32 S3 surveille le sol des plantes en pot et active une petite pompe chaque fois que l'humidité descend en dessous du seuil défini, garantissant que les plantes ne sont jamais sous- ou sur-arrosées.
- Contrôle d'irrigation de serre : plusieurs capteurs répartis sur les planches de culture transmettent des données à un ESP32 S3, qui contrôle des pompes de zone individuelles pour maintenir une humidité optimale dans chaque section.
- Système de goutte-à-goutte pour jardin intelligent : planifiez des fenêtres d'arrosage avec l'ESP32 S3 et remplacez-les par des lectures d'humidité en direct, ne délivrant de l'eau que lorsque le sol en a réellement besoin.
- Surveillance de champ agricole : déployez des nœuds ESP32 S3 dans un champ ; chaque nœud lit l'humidité du sol indépendamment et déclenche une pompe ou une vanne locale pour irriguer sa zone.
- Approvisionnement en nutriments hydroponiques : utilisez le capteur d'humidité comme indicateur indirect du niveau de réservoir dans de petits systèmes hydroponiques, déclenchant une pompe pour reconstituer la solution nutritive lorsque les niveaux baissent.
Vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défis
Maintenant que vous avez un système fonctionnel de capteur d'humidité du sol et de pompe sur l'ESP32 S3, essayez ces défis pour approfondir votre compréhension et étendre davantage le projet.
- Débutant : ajoutez un indicateur LED qui s'allume chaque fois que la pompe est active - câblez la LED à une broche GPIO libre et faites-la basculer dans le même bloc de code qui contrôle le relais.
- Intermédiaire : connectez un afficheur OLED pour montrer le pourcentage d'humidité du sol en direct et l'état actuel de la pompe, en mettant à jour l'affichage chaque seconde afin de surveiller les conditions du sol en un coup d'œil.
- Avancé : ajoutez la connectivité Wi-Fi afin que l'ESP32 S3 enregistre les lectures d'humidité et les événements de la pompe sur un serveur web ou un tableau de bord cloud, permettant une surveillance à distance et un ajustement du seuil sans reflasher le firmware.