ESP32 - Capteur d'humidité du sol
Ce tutoriel vous explique comment utiliser un capteur d'humidité avec l'ESP32 et MicroPython. En détail, nous apprendrons :
- Différences entre les capteurs d'humidité résistifs et capacitifs
- Comment connecter le capteur d'humidité du sol à l'ESP32
- Comment écrire du code MicroPython pour l'ESP32 afin de lire la valeur du capteur d'humidité du sol
- Comment écrire du code MicroPython pour l'ESP32 afin de déterminer si le sol est humide ou sec

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 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 capteur

Il existe deux types de capteurs d'humidité :
- Capteur d'humidité résistif
- Capteur d'humidité capacitif
Les deux capteurs mesurent l'humidité du sol, mais ils fonctionnent différemment. Nous recommandons vivement d'utiliser le capteur d'humidité capacitif pour ces raisons :
- Le capteur d'humidité résistif rouille avec le temps. Cela se produit parce qu'un courant électrique passe entre ses sondes, provoquant de la corrosion.
- Le capteur d'humidité capacitif ne rouille pas avec le temps. Ses composants sont protégés et aucun courant électrique ne circule entre eux.
L'image ci-dessous montre la rouille sur un capteur d'humidité du sol résistif.

Le reste de ce guide se concentrera sur la manière d'utiliser le capteur capacitif d'humidité du sol.
Schéma de brochage du capteur d'humidité du sol capacitif
Un capteur capacitif d'humidité du sol possède trois broches :
- Broche GND : connectez à la masse (0 V)
- Broche VCC : connectez à VCC (5 V ou 3,3 V)
- Broche AOUT : envoie un signal qui varie en fonction de l'humidité du sol. Connectez-le à l'entrée analogique de l'ESP32.

Comment cela fonctionne
Plus il y a d'eau dans le sol, plus la tension au pin AOUT est faible.
Diagramme de câblage
- Comment connecter l'ESP32 et le capteur d'humidité du sol en utilisant breadboard

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 et le capteur d'humidité du sol en utilisant une carte breakout à borniers à vis (alimentée via un câble USB)

Code MicroPython pour ESP32
Étapes rapides
Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :
- Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
- Vérifiez que le firmware MicroPython est chargé sur votre carte ESP32.
- Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
- Connectez la carte ESP32 au capteur d'humidité du sol selon le diagramme fourni.
- Connectez la carte ESP32 à votre ordinateur avec un câble USB.
- Ouvrez l'IDE Thonny sur votre ordinateur.
- Dans l'IDE Thonny, allez dans Outils Options.
- Dans l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
- Assurez-vous que le bon port est sélectionné. Thonny IDE le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
- Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
- Enregistrez le code sur votre ESP32 en procédant comme suit :
- Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, choisissez Périphérique MicroPython.
- Nommez le fichier main.py.
- Cliquez sur le bouton Vert Exécuter (ou appuyez sur F5) pour exécuter le script.
- Insérez le capteur dans le sol et arrosez-le, ou vous pouvez l'immerger lentement dans un gobelet d'eau salée.
- Consultez le message dans le Shell en bas de Thonny.
※ Note:
- N’utilisez pas d’eau pure pour les tests, car elle ne conduit pas l’électricité et n’aura pas d’effet sur les lectures du capteur.
- Les lectures du capteur ne seront jamais égales à zéro. Il est normal que les valeurs varient entre 1200 et 2300, mais cela peut changer en fonction de facteurs tels que la profondeur à laquelle le capteur est placé, le type de sol ou d’eau, et la tension d’alimentation.
- Gardez la partie circuit (en haut du capteur) hors du sol ou de l’eau afin d’éviter d’endommager le capteur.
Étalonnage du capteur capacitif d'humidité du sol
Les lectures du capteur varient en fonction du type de sol et de sa teneur en eau. Pour l'utiliser correctement, nous devons définir un point qui indique si le sol est humide ou sec.
Étapes de calibration:
- Exécutez le code fourni sur l'ESP32.
- Insérez le capteur d'humidité dans le sol.
- Ajoutez progressivement de l'eau au sol.
- Regardez le message dans le Shell en bas de Thonny.
- Notez la valeur lorsque le sol passe de sec à humide. Cette valeur est appelée le SEUIL.
Déterminez si le sol est humide ou sec
Après la calibration, mettez à jour la valeur du seuil que vous avez enregistrée avec ce nouveau code. Ce code détermine si le sol est humide ou sec.
Consultez le message dans le Shell en bas de Thonny.
※ Note:
Ce tutoriel montre comment utiliser la fonction adc.read() pour lire des valeurs d'un ADC (convertisseur analogique-numérique) connecté à un capteur d'humidité du sol. L'ADC de l'ESP32 convient pour des projets qui n'exigent pas une grande précision. Cependant, si votre projet nécessite des mesures précises, gardez les éléments suivants à l'esprit :
- L'ADC de l'ESP32 n'est pas parfaitement précis et peut nécessiter une calibration pour des résultats précis. Chaque carte ESP32 peut varier légèrement, il est donc nécessaire de calibrer chaque carte individuellement.
- La calibration peut être difficile, surtout pour les débutants, et elle pourrait ne pas toujours donner les résultats exacts que vous souhaitez.
Pour les projets nécessitant une grande précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 ou optez pour un Arduino, qui dispose d'un ADC plus fiable. Si vous souhaitez toujours calibrer l'ADC de l'ESP32, reportez-vous au ESP32 ADC Calibration Driver.