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 R3
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×Capteur d'humidité du sol capacitif
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino
1×Recommandé: Shield à bornier à vis pour Arduino Uno
1×Recommandé: Shield plaque d'essai pour Arduino Uno
1×Recommandé: Boîtier pour Arduino Uno
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Arduino Uno

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables STEM V3 (Arduino 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 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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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:

  • 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

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