Arduino Nano - Capteur d'humidité du sol

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

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×Capacitive Soil Moisture Sensor
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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
  • Le capteur d'humidité capacitif.

Les deux capteurs fournissent des informations sur l'humidité du sol. Cependant, leurs principes de fonctionnement sont différents. Nous suggérons fortement 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. Cela est dû au passage du courant électrique entre ses sondes, entraînant une corrosion électrochimique.
  • Le capteur d'humidité du sol capacitif se corrode beaucoup plus lentement avec le temps que le capteur d'humidité du sol résistif. Cela est parce que ses électrodes ne sont pas exposées et sont comparativement plus 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 au fil du temps.

le capteur d'humidité du sol résistif s'est 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 au GND (0V)
  • Broche VCC : Celle-ci doit être connectée au VCC (5V ou 3.3V)
  • Broche AOUT : Cette broche de sortie de signal analogique produira une tension proportionnelle au niveau d'humidité du sol. Celle-ci doit être connectée à une broche d'entrée analogique de l'Arduino.

Comment cela fonctionne

La broche AOUT affiche une tension plus élevée lorsqu'il y a moins d'eau dans le sol.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Code Arduino Nano pour lire la valeur d'un capteur d'humidité du sol

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-soil-moisture-sensor */ #define AOUT_PIN A6 // The Arduino Nano pin 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

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code sur l'Arduino Nano.
  • 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. Ç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:

  • Évitez de tester avec de l'eau pure car elle ne conduit pas l'électricité, ce qui n'affectera pas les lectures du capteur.
  • Les lectures du capteur n'atteindront jamais zéro. En général, elles varient entre 500 et 600, bien que cela puisse varier selon des facteurs tels que la profondeur du capteur, le type de sol ou d'eau, et 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 obtenue du capteur d'humidité n'est pas absolue. Elle dépend de la composition du sol et de la quantité d'eau présente. Pour déterminer avec précision une limite entre mouillé et sec, il faut procéder à une calibration.

Instructions pour l'étalonnage :

  • Exécutez le code sur Arduino Nano
  • Placez le capteur d'humidité dans le sol
  • Ajoutez progressivement de l'eau au sol
  • Consultez le moniteur série
  • Enregistrez la valeur lorsque le sol passe de sec à humide. Ceci est appelé le SEUIL.

L'Arduino Nano détermine si le sol est humide ou sec.

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

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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-nano/arduino-nano-soil-moisture-sensor */ #define AOUT_PIN A6 // The Arduino Nano pin 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 affichée 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!