Capteur d'humidité du sol ESP32

Ce tutoriel vous explique comment utiliser l'ESP32 pour lire l'humidité du sol à partir d'un capteur. En détail, nous allons apprendre :

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
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×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

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)
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

capteur d'humidité capacitif vs capteur d'humidité résistif

Il existe deux types de capteurs d'humidité :

  • Capteur d'humidité résistif
  • Capteur d'humidité capacitif.

Les deux capteurs fournissent la valeur de l'humidité du sol. Cependant, leurs principes de fonctionnement sont différents. Nous recommandons vivement d'utiliser le capteur d'humidité capacitif pour les raisons suivantes :

  • Le capteur d'humidité du sol résistif se corrode avec le temps. Le courant électrique qui circule entre les sondes du capteur provoque une corrosion électrochimique.
  • Le capteur d'humidité du sol capacitif ne se corrode PAS avec le temps. Les électrodes du capteur ne sont pas exposées et aucun courant électrique ne circule entre elles.

L'image ci-dessous montre la corrosion sur un capteur d'humidité du sol résistif.

corrosion des capteurs d'humidité du sol résistifs

Le reste de ce tutoriel utilise le capteur d'humidité du sol capacitif.

Brochage du capteur d'humidité du sol capacitif

Un capteur d'humidité du sol capacitif possède trois broches :

  • Broche GND : connectez cette broche à GND (0V)
  • Broche VCC : connectez cette broche à VCC (5V ou 3,3V)
  • Broche AOUT : la broche de sortie du signal analogique émet la tension en proportion inverse au niveau d'humidité du sol. Connectez cette broche à une broche d'entrée analogique de l'ESP32.
capteur d'humidité du sol capacitif brochage

Comment ça marche

Plus il y a d'eau dans le sol, plus la tension dans la broche AOUT est faible.

Diagramme de câblage

Schéma de câblage du capteur d'humidité du sol ESP32

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

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..

Code ESP32

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-soil-moisture-sensor */ #define AOUT_PIN 36 // Broche ESP32 GPIO36 (ADC0) qui se connecte à la broche AOUT du capteur d'humidité void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // lire la valeur analogique du capteur Serial.print("Moisture value: "); Serial.println(value); delay(500); }

Étapes rapides

  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur la carte ESP32
  • Enterrez le capteur dans le sol, puis versez de l'eau dans le sol. Ou plongez-le lentement dans une tasse d'eau salée.
  • Consultez le résultat sur le moniteur série. Il ressemble à ce qui suit :
COM6
Send
Moisture value: 3126 Moisture value: 3031 Moisture value: 2937 Moisture value: 2880 Moisture value: 2790 Moisture value: 2719 Moisture value: 2655 Moisture value: 2606 Moisture value: 2640 Moisture value: 2631 Moisture value: 2640 Moisture value: 2624
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Note:

  • Évitez d'utiliser de l'eau pure pour les tests, car elle ne conduit pas l'électricité, ce qui n'affectera pas les relevés du capteur.
  • Les relevés du capteur n'atteignent jamais zéro. Il est normal que les valeurs varient entre 3100 et 2600, bien que cela puisse varier en fonction de certains facteurs : la profondeur d'encastrement du capteur, la composition du sol ou de l'eau, la tension de l'alimentation électrique.
  • Ne pas enterrer la partie circuit (située au-dessus du capteur) dans le sol ou dans l'eau, car cela pourrait endommager le capteur.

Calibrage pour capteur d'humidité du sol capacitif

La valeur mesurée par le capteur d'humidité est relative. Elle dépend de la composition du sol et de l'eau. En pratique, nous devons effectuer un étalonnage pour déterminer un seuil qui est une frontière entre mouillé et sec.

Comment effectuer l'étalonnage :

  • Exécutez le code ci-dessus sur ESP32.
  • Plantez le capteur d'humidité dans le sol.
  • Plantez le capteur d'humidité dans le sol.
  • Irriguez le sol lentement.
  • Observez le moniteur série.
  • Notez une valeur au moment où vous sentez que le sol change son taux d'humidité de sec à humide. Cette valeur est appelée SEUIL.

Déterminer si le sol est humide ou sec.

Après l'étalonnage, mettez à jour la valeur SEUIL que vous avez notée dans le code ci-dessous. Le code ci-dessous détermine si le sol est humide ou sec.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-soil-moisture-sensor */ #define AOUT_PIN 36 // Broche GPIO36 de ESP32 (ADC0) qui se connecte à la broche AOUT du capteur d'humidité #define THRESHOLD 2800 // CHANGEZ VOTRE SEUIL ICI void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // lire la valeur analogique du capteur if (value > THRESHOLD) Serial.print("The soil is DRY ("); else Serial.print("The soil is WET ("); Serial.print(value); Serial.println(")"); delay(500); }

Le résultat sur le moniteur série.

COM6
Send
The soil is DRY (3126) The soil is DRY (3041) The soil is DRY (2967) The soil is DRY (2840) The soil is WET (2791) The soil is WET (2719) The soil is WET (2657) The soil is WET (2643) The soil is WET (2624)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonction

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