Arduino Mega - Capteur d'humidité du sol

Dans ce guide, nous allons apprendre à utiliser un capteur d'humidité avec l'Arduino Mega. Nous couvrirons les points suivants :

Arduino Mega capteur d'humidité du sol

Matériel requis

1×Arduino Mega
1×Câble USB 2.0 type A/B
1×Capteur d'humidité du sol capacitif
1×Fils de connexion
1×Recommandé: Screw Terminal Block Shield for Arduino Uno/Mega
1×Recommandé: Breadboard Shield for Arduino Mega
1×Recommandé: Enclosure for Arduino Mega

Ou vous pouvez acheter les kits suivants:

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

Les capteurs d'humidité existent en deux types :

  • Capteur d'humidité qui utilise la capacité
  • Capteur d'humidité qui utilise la résistance

Les deux capteurs vous renseignent sur l'humidité du sol, mais ils fonctionnent de manières différentes. Nous recommandons fortement d'utiliser le capteur d'humidité capacitif pour cette raison :

  • Le capteur d'humidité du sol résistif se détériore lentement. Cela se produit parce que l'électricité circule entre ses sondes, causant une corrosion chimique.
  • Le capteur d'humidité du sol capacitif ne se détériore pas avec le temps. La raison est que ses électrodes sont recouvertes et ne se corrodent pas facilement.

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

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

Le reste de ce guide montrera comment utiliser le capteur d'humidité du sol capacitif.

Brochage du capteur d'humidité du sol capacitif

Un capteur d'humidité du sol capacitif a trois broches :

  • Broche GND : connecter à la masse (0 volts)
  • Broche VCC : connecter à l'alimentation (5 volts ou 3,3 volts)
  • Broche AOUT : envoie un signal analogique qui change avec l'humidité du sol. Connecter à une broche d'entrée analogique sur un Arduino Mega.
brochage du capteur d'humidité du sol capacitif

Comment ça fonctionne

Plus il y a d'eau dans le sol, plus la tension de la broche AOUT est faible.

Schéma de câblage

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

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

Code Arduino Mega

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega 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-mega/arduino-mega-soil-moisture-sensor */ #define AOUT_PIN A0 // Pin A0 connected to the soil moisture sensor void setup() { Serial.begin(9600); // Start serial communication at 9600 baud } void loop() { int value = analogRead(AOUT_PIN); // Read the current moisture value from the sensor Serial.print("Moisture: "); // Display the label for the subsequent value Serial.println(value); // Output the raw moisture reading delay(500); // Wait for 500 milliseconds before the next sample }

Étapes rapides

Suivez ces étapes une par une.

  • Connectez le capteur d'humidité du sol à l'Arduino Mega comme indiqué dans le schéma.
  • Connectez l'Arduino Mega à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Arduino sur votre ordinateur.
  • Choisissez la bonne carte : Arduino Mega, et le port COM correct.
  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Téléverser dans l'IDE Arduino pour envoyer le code à l'Arduino Mega.
  • Placez le capteur dans le sol, puis ajoutez de l'eau au sol. Ou vous pouvez le placer délicatement dans un verre d'eau salée.
  • Vérifiez les résultats sur le Moniteur Série. Il s'affichera comme ceci :
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:

  • Ne testez pas avec de l'eau pure, car elle ne conduit pas l'électricité, donc elle n'affectera pas les lectures du capteur.
  • Habituellement, les lectures du capteur ne descendent pas à zéro. Elles restent autour de 500–600, mais cela peut changer selon la profondeur du capteur dans le sol ou l'eau, le type de sol ou d'eau, et la tension d'alimentation.
  • N'insérez pas la partie supérieure du capteur (le circuit) dans le sol ou l'eau, car cela peut endommager le capteur.

Calibration pour le capteur d'humidité du sol capacitif

Le capteur d'humidité ne donne pas la même lecture à chaque fois. Il change avec le type de sol et à quel point le sol est humide. Pour l'utiliser correctement, nous devons l'ajuster pour trouver la valeur qui indique quand le sol est humide ou sec.

Comment calibrer

  • Utilisez l'Arduino Mega pour exécuter le code donné.
  • Placez le capteur d'humidité dans le sol.
  • Ajoutez lentement de l'eau au sol.
  • Surveillez le Moniteur Série.
  • Notez la valeur quand vous pensez que le sol passe de sec à humide. Cette valeur est appelée le seuil.

Déterminer si le sol est humide ou sec

Après avoir terminé la calibration, remplacez la valeur THRESHOLD que vous avez notée avec ce code. Ce code vérifie si le sol est humide ou sec.

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega 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-mega/arduino-mega-soil-moisture-sensor */ #define AOUT_PIN A0 // Analog pin connected to the soil moisture sensor output #define THRESHOLD 530 // Threshold used to categorize moisture level void setup() { Serial.begin(9600); // Start serial communication at 9600 baud } void loop() { int value = analog_read(AOUT_PIN); // Read moisture sensor value from the selected analog pin if (value > THRESHOLD) // Compare the current reading to the dryness threshold Serial.print("The soil is DRY ("); // Output the dry-state label when the reading exceeds the threshold else Serial.print("The soil is WET ("); // Output the wet-state label when the reading does not exceed the threshold Serial.print(value); // Output the numeric sensor reading Serial.println(")"); // End the line with a closing parenthesis delay(500); // Pause briefly before the next reading }

Le résultat que vous voyez 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 des fonctions

Tutoriels connexes

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