Arduino - Capteur d'humidité du sol

Dans ce tutoriel, nous allons apprendre à utiliser le capteur d'humidité avec Arduino. En détail, nous apprendrons :

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×Capacitive Soil Moisture Sensor
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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

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

Les deux capteurs fournissent des informations sur l'humidité du sol. Cependant, leurs principes de fonctionnement sont différents. Nous recommandons vivement l'utilisation du capteur d'humidité capacitif pour la raison suivante :

  • Le capteur d'humidité du sol résistif se corrode avec le temps. Cela est dû au courant électrique qui circule entre ses sondes. Cela provoque une corrosion électrochimique.
  • Le capteur d'humidité du sol capacitif ne se corrode pas avec le temps. Cela est parce que ses électrodes ne sont pas exposées et sont relativement exemptes de corrosion.

L'image ci-dessous montre un capteur d'humidité du sol résistif qui s'est corrodé au fil du temps.

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

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

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à VCC (5V ou 3,3V)
  • Broche AOUT : broche de sortie du signal analogique émettant une tension inversement proportionnelle au niveau d'humidité du sol. Connectez cette broche à une broche d'entrée analogique d'un Arduino.
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 Arduino

This image is created using Fritzing. Click to enlarge image

Code Arduino

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-soil-moisture-sensor */ #define AOUT_PIN A0 // Broche Arduino 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: "); Serial.println(value); delay(500); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour charger le code sur Arduino.
  • 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. Cela 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é, ce qui signifie qu'elle n'affectera pas les lectures du capteur.
  • Les lectures du capteur ne tombent généralement pas à zéro. Il est normal qu'elles restent dans la fourchette de 500 à 600, 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 de l'alimentation électrique.
  • Ne jamais enterrer la partie circuit (située au sommet du capteur) dans le sol ou dans l'eau, car cela pourrait endommager le capteur.

Étalonnage du 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 faire une calibration 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 Arduino
  • Insérez le capteur d'humidité dans le sol
  • Insérez le capteur d'humidité dans le sol
  • Versez lentement de l'eau dans le sol
  • Regardez le moniteur série.
  • Notez une valeur au moment où vous sentez que le sol change 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 de 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 Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-soil-moisture-sensor */ #define AOUT_PIN A0 // Broche Arduino qui se connecte à la broche AOUT du capteur d'humidité #define THRESHOLD 530 // MODIFIEZ 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 (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

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