Arduino UNO R4 - Capteur d'humidité du sol

Dans ce tutoriel, nous allons apprendre comment utiliser un capteur d'humidité avec l'Arduino UNO R4. Plus précisément, nous aborderons :

Capteur d'humidité du sol Arduino UNO R4

Préparation du matériel

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternativement: DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
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×Fils de connexion
1×(Recommended) Shield à bornier à vis pour Arduino Uno R4
1×(Recommended) Shield plaque d'essai pour Arduino Uno R4
1×(Recommended) Boîtier pour Arduino Uno R4
1×(Recommended) Répartiteur d'alimentation pour Arduino Uno R4
1×(Recommended) 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 V4 IoT (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

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

Il existe deux types de capteurs d'humidité :

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

Les deux capteurs fournissent des informations sur l'humidité du sol, mais ils fonctionnent différemment. Nous vous recommandons vivement d'utiliser le capteur d'humidité capacitif pour cette raison :

  • Le capteur d'humidité du sol résistif se dégrade progressivement. Cela se produit parce qu'il y a un courant électrique qui circule entre ses électrodes, ce qui entraîne un type de dommage appelé corrosion électrochimique.
  • Le capteur d'humidité du sol capacitif ne se dégrade pas avec le temps. La raison est que ses électrodes sont couvertes et ne se corrodent pas facilement.

L'image ci-dessous montre un capteur d'humidité du sol fabriqué à partir d'un matériau résistif qui s'est corrodé avec le temps.

capteur résistif d'humidité du sol corrodé

La partie restante de ce tutoriel se concentrera sur l'utilisation du capteur capacitif d'humidité du sol.

Schéma des broches du capteur capacitif d'humidité du sol

Un capteur capacitif d'humidité du sol est livré avec trois broches :

  • Broche GND : connectez-la à la masse (0 V)
  • Broche VCC : connectez-la à VCC (5 V ou 3,3 V)
  • Broche AOUT : envoie un signal analogique qui varie avec l'humidité du sol. Connectez-la à l'entrée analogique d'un Arduino UNO R4.
Schéma de brochage du capteur d'humidité du sol capacitif

Comment cela fonctionne

Plus la teneur en eau du sol est élevée, plus la tension à la broche AOUT est faible.

Diagramme de câblage

Schéma de câblage du capteur d'humidité du sol pour Arduino UNO R4

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

Voir Comment alimenter l'Arduino UNO R4..

Code Arduino UNO R4

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-soil-moisture-sensor */ #define AOUT_PIN A0 // Defines pin A0 to read from the moisture sensor void setup() { Serial.begin(9600); // Initializes serial communication at 9600 bps } void loop() { int value = analogRead(AOUT_PIN); // Reads the moisture level from the sensor Serial.print("Moisture: "); // Sends the text 'Moisture: ' to the serial monitor Serial.println(value); // Prints the moisture level to the serial monitor delay(500); // Pauses the loop for 500 milliseconds }

Étapes rapides

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
  • Connectez le capteur d'humidité du sol à l'Arduino Uno R4 selon le schéma fourni.
  • Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple Arduino Uno R4 WiFi) et le port COM.
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'Arduino UNO R4.
  • Placez le capteur dans le sol, puis ajoutez de l'eau au sol. Vous pouvez aussi le placer délicatement dans une tasse d'eau salée.
  • Vérifiez les résultats sur le Moniteur Série. Il s'affichera comme 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é et n'affectera donc pas les lectures du capteur.
  • Normalement, les lectures du capteur ne tombent pas à zéro. Elles restent généralement entre 500 et 600. Cependant, cela peut varier en fonction de la profondeur à laquelle le capteur se situe dans le sol ou dans l'eau, du type de sol ou d'eau et de la tension d'alimentation.
  • Ne placez pas la partie électronique du capteur (située en haut) dans le sol ou dans l'eau, car cela peut endommager le capteur.

Étalonnage du capteur capacitif d'humidité du sol

La lecture du capteur d'humidité n'est pas fixe; elle varie selon le type de sol et sa teneur en eau. Pour l'utiliser correctement, nous devons le calibrer afin de trouver un seuil qui nous indique quand le sol est humide ou sec.

Comment effectuer l'étalonnage :

  • Utilisez l'Arduino UNO R4 pour exécuter le code fourni.
  • Insérez le capteur d'humidité dans le sol.
  • Ajoutez progressivement de l'eau dans le sol.
  • Observez le moniteur série.
  • Enregistrez la valeur lorsque vous pensez que le sol passe du sec à l'humide. Cette valeur est appelée SEUIL.

Déterminer si le sol est humide ou sec

Après avoir calibré, remplacez la valeur THRESHOLD que vous avez notée par le code suivant. Ce code vérifie si le sol est humide ou sec.

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-soil-moisture-sensor */ #define AOUT_PIN A0 // Pin on Arduino for moisture sensor output #define THRESHOLD 530 // Set threshold value for moisture level void setup() { Serial.begin(9600); // Initialize serial communication at 9600 bps } void loop() { int value = analog_read(AOUT_PIN); // Read value from moisture sensor if (value > THRESHOLD) // Compare sensor reading to threshold Serial.print("The soil is DRY ("); // Print dry status if above threshold else Serial.print("The soil is WET ("); // Print wet status if below threshold Serial.print(value); // Print the sensor reading Serial.println(")"); // Finish the line delay(500); // Wait for half a second before next read }

Le résultat tel qu'il apparaît 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 fonctions

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