ESP8266 - Capteur d'humidité du sol

Ce tutoriel vous explique comment utiliser un capteur d'humidité avec un ESP8266. Plus précisément, nous examinerons :

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Capacitive Soil Moisture Sensor
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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.

Buy Note: Many soil moisture sensors available in the market are unreliable, regardless of their version. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

À 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é : le capteur d'humidité résistif et le capteur d'humidité capacitif.

Les deux capteurs fournissent des informations sur l'humidité du sol. Cependant, leurs méthodes de fonctionnement diffèrent. Nous suggérons d'utiliser le capteur d'humidité capacitif pour les raisons suivantes :

  • Le capteur d'humidité du sol résistif est sujet à la corrosion au fil du temps car un courant électrique passe entre ses sondes, conduisant à une corrosion électrochimique.
  • Le capteur d'humidité du sol capacitif, quant à lui, se corrode beaucoup plus lentement que le capteur d'humidité du sol résistif. Cela est dû au fait que ses électrodes ne sont pas exposées et sont comparativement résistantes à la corrosion.

Il s'agit d'une illustration d'un capteur d'humidité du sol résistif qui a été endommagé par la corrosion.

Le capteur d'humidité du sol résistif a été corrodé.

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

Brochage du capteur d'humidité du sol capacitif

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

  • Broche GND : Celle-ci doit être connectée à GND (0V).
  • Broche VCC : Celle-ci doit être connectée à VCC (5V ou 3.3V).
  • Broche AOUT : C'est la broche de sortie du signal analogique qui produit une tension proportionnelle au niveau d'humidité du sol. Elle doit être connectée à une broche d'entrée analogique sur un ESP8266.
capteur d'humidité du sol capacitif brochage

Comment ça fonctionne

La quantité d'eau présente dans le sol est inversement proportionnelle au niveau de tension de la broche AOUT.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Code ESP8266 pour lire la valeur du capteur d'humidité du sol

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-soil-moisture-sensor */ #define AOUT_PIN A0 // The ESP8266 pin ADC0 that connects to AOUT pin of moisture sensor void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor Serial.print("Moisture: "); Serial.println(value); delay(500); }

Étapes rapides

Pour commencer avec l'ESP8266 sur l'IDE Arduino, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)) et son port COM respectif.
  • Copiez le code et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload sur Arduino IDE pour compiler et téléverser le code vers ESP8266.
  • Enterrez le capteur dans le sol, puis versez de l'eau dans le sol. Ou immergez-le lentement dans une tasse d'eau salée.
  • Consultez le résultat sur le moniteur série. Ça ressemble à ce qui suit :
COM6
Send
Moisture: 581 Moisture: 581 Moisture: 575 Moisture: 566 Moisture: 556 Moisture: 547 Moisture: 539 Moisture: 530 Moisture: 521 Moisture: 513 Moisture: 506 Moisture: 500 Moisture: 495 Moisture: 492 Moisture: 490 Moisture: 489 Moisture: 488
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ NOTE THAT:

  • N'utilisez pas d'eau pure pour les tests car elle ne conduit pas l'électricité, donc elle ne modifiera pas les lectures du capteur.
  • Les lectures du capteur ne seront jamais nulles. Il est courant que les valeurs soient entre 500 et 600, bien que cela puisse varier en fonction de facteurs tels que la profondeur à laquelle le capteur est placé, le type de sol ou d'eau, et la tension de l'alimentation électrique.
  • Évitez d'enterrer la partie circuit (située au-dessus du capteur) dans le sol ou dans l'eau, car cela pourrait endommager le capteur.

Calibration pour capteur d'humidité du sol capacitif

La valeur obtenue du capteur d'humidité n'est pas absolue. Elle est basée sur la composition du sol et son contenu en eau. Pour déterminer avec précision une limite entre mouillé et sec, nous devons effectuer un étalonnage.

Instructions de calibrage :

  • Exécutez le code sur ESP8266
  • Placez le capteur d'humidité dans le sol
  • Ajoutez progressivement de l'eau au sol
  • Surveillez le moniteur série
  • Notez la valeur lorsque le sol passe de sec à humide. Cela est appelé le SEUIL.

Le code ESP8266 détermine si le sol est humide ou sec.

Une fois l'étalonnage effectué, mettez à jour la valeur SEUIL que vous avez notée dans le code ci-dessous. Ce code sera utilisé pour déterminer si le sol est humide ou sec.

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-soil-moisture-sensor */ #define AOUT_PIN A0 // The ESP8266 pin ADC0 that connects to AOUT pin of moisture sensor #define THRESHOLD 530 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); } void loop() { int value = analogRead(AOUT_PIN); // read the analog value from sensor if (value > THRESHOLD) Serial.print("The soil is DRY ("); else Serial.print("The soil is WET ("); Serial.print(value); Serial.println(")"); delay(500); }

La sortie visible sur le moniteur série.

COM6
Send
The soil is DRY (581) The soil is DRY (575) The soil is DRY (566) The soil is DRY (547) The soil is DRY (539) The soil is WET (521) The soil is WET (513) The soil is WET (492) The soil is WET (488)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de Fonction

Tutoriels connexes

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!