Composants · 5 min de lecture

Capteur d'humidité du sol : arrosage automatique des plantes avec Arduino

Comment fonctionne un capteur d'humidité du sol ? Capteurs résistifs et capacitifs, câblage Arduino, étalonnage avec les valeurs sec et mouillé, éviter la corrosion, arrosage automatique avec relais et pompe, ESP32 et Pico.

Un capteur d'humidité du sol est un capteur simple qui mesure à quel point la terre est humide dans un pot ou au jardin. Il est à la base de nombreux projets, du voyant qui t'avertit quand une plante a soif au système qui arrose tes fleurs pendant tes vacances. Il est bon marché, se branche sur un Arduino avec trois fils, et avec un relais et une petite pompe tu obtiens une automatisation vraiment utile.

Module capteur d'humidité du sol
Capteur d'humidité du sol : la sonde en forme de fourche se plante dans la terre, et la carte comparateur fournit une sortie analogique (AO) et une sortie numérique (DO).

Comment fonctionne un capteur d'humidité du sol ?

L'eau contenue dans le sol modifie sa capacité à conduire l'électricité et à stocker des charges. Les capteurs résistifs mesurent la résistance entre deux pointes métalliques plantées dans la terre : plus la terre est humide, plus la résistance baisse. Les capteurs capacitifs mesurent la capacité autour d'une électrode recouverte ; le métal ne touche jamais la terre. Sur la plupart des modules, la valeur est élevée quand la terre est sèche et basse quand elle est humide.

CaractéristiqueRésistif (YL-69, FC-28)Capacitif (v1.2)
Ce qu'il mesureLa résistance entre deux pointes métalliquesLa capacité autour d'une électrode
Métal apparentOuiNon (recouvert)
CorrosionS'use en quelques semaines s'il est alimenté en permanenceTrès durable
SortieAnalogique (AO) et numérique (DO)Analogique
PrixTrès bon marchéUn peu plus cher
Idéal pourEssais de courte duréeProjets permanents en pot et au jardin

Câblage

Broche du capteurArduino UnoESP32Raspberry Pi Pico
VCCD7 (pour ne l'alimenter qu'à la mesure) ou 5VGPIO 25 ou 3V3GP15 ou 3V3
GNDGNDGNDGND
AO (AOUT)A0GPIO 34GP26
DOD2 (facultatif)FacultatifFacultatif
Si un capteur résistif est alimenté en permanence, le courant qui traverse les pointes provoque une électrolyse et le métal s'use en quelques semaines. Le plus simple pour l'éviter est de relier le VCC du capteur à une broche numérique plutôt qu'au 5V, et de ne l'allumer que quelques millisecondes pendant la mesure. Le capteur ne consomme que quelques mA : une broche l'alimente sans difficulté.

Lire l'humidité avec Arduino et étalonner

Chaque capteur et chaque terre donnent des valeurs différentes : commence donc par étalonner ton capteur. Note la valeur lue quand le capteur est à l'air (complètement sec) puis plongé dans un verre d'eau (complètement mouillé). Ensuite, avec map(), tu convertis cette plage en pourcentage de 0 à 100. Remplace DRY et WET dans le code par tes propres mesures :

Arduino (C++)
1const int SENSOR_PIN = A0;
2const int POWER_PIN = 7;       // sensörü yalnızca ölçerken besle / power only while measuring
3const int DRY = 850;           // havadayken okunan / reading in air (kendin ölç / measure yours)
4const int WET = 380;           // sudayken okunan / reading in water (kendin ölç / measure yours)
5
6void setup() {
7  pinMode(POWER_PIN, OUTPUT);
8  Serial.begin(9600);
9}
10
11int readMoisture() {
12  digitalWrite(POWER_PIN, HIGH);
13  delay(10);                                              // değerin oturmasını bekle / let it settle
14  int raw = analogRead(SENSOR_PIN);
15  digitalWrite(POWER_PIN, LOW);
16  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);   // % nem / % moisture
17}
18
19void loop() {
20  int moisture = readMoisture();
21  Serial.print("Toprak nemi / Soil moisture: %");
22  Serial.println(moisture);
23  delay(2000);
24}
Place le capteur au niveau des racines, loin du bord du pot et toujours à la même profondeur. L'électronique en haut des capteurs capacitifs n'est pas étanche : n'enfonce pas le capteur au-delà du trait marqué, et protège le haut de la carte avec de la colle chaude ou une gaine.

Arrosage automatique : relais et pompe

Mini-pompe à eau immergée 6 V
Mini-pompe immergée : elle fonctionne en 3–6 V, se place dans un récipient d'eau et achemine l'eau jusqu'au pot par un tuyau.

Transformons maintenant la mesure en action : quand l'humidité du sol passe sous 30 %, la pompe tourne 4 secondes, puis on attend 1 minute que l'eau se répartisse dans la terre avant de mesurer à nouveau. Cette pause évite que la pompe tourne sans arrêt et fasse déborder le pot parce que le capteur n'est pas encore mouillé. La pompe ne peut pas être alimentée directement par une broche d'Arduino ; on la commande via un relais ou un MOSFET. Pour le câblage du relais, vois Qu'est-ce qu'un module relais ?

Arduino (C++)
1const int SENSOR_PIN = A0, POWER_PIN = 7, PUMP_PIN = 8;   // PUMP_PIN → röle IN / relay IN
2const int DRY = 850, WET = 380;
3const int START_BELOW = 30;          // %30'un altında sula / water below 30%
4const unsigned long PUMP_MS = 4000;  // her seferde 4 sn / 4 s per run
5const unsigned long SOAK_MS = 60000; // suyun yayılması için bekle / wait for the water to soak in
6
7int readMoisture() {
8  digitalWrite(POWER_PIN, HIGH);
9  delay(10);
10  int raw = analogRead(SENSOR_PIN);
11  digitalWrite(POWER_PIN, LOW);
12  return constrain(map(raw, DRY, WET, 0, 100), 0, 100);
13}
14
15void setup() {
16  pinMode(POWER_PIN, OUTPUT);
17  pinMode(PUMP_PIN, OUTPUT);
18  digitalWrite(PUMP_PIN, HIGH);      // aktif LOW röle: kapalı başla / active-LOW relay: start off
19}
20
21void loop() {
22  if (readMoisture() < START_BELOW) {
23    digitalWrite(PUMP_PIN, LOW);     // pompayı çalıştır / pump on
24    delay(PUMP_MS);
25    digitalWrite(PUMP_PIN, HIGH);    // pompayı durdur / pump off
26    delay(SOAK_MS);                  // tekrar ölçmeden önce bekle / wait before measuring again
27  }
28  delay(5000);
29}
L'eau et l'électronique travaillent côte à côte : place l'Arduino et le relais loin du réservoir et au-dessus, et isole toutes les connexions. Une pompe qui tourne à sec grille en quelques minutes ; ajouter un capteur de niveau dans le réservoir et une limite au temps d'arrosage quotidien protège à la fois la pompe et ta maison.

L'humidité du sol avec l'ESP32 et le Raspberry Pi Pico

Sur l'ESP32, branche le capteur sur une broche ADC1 (GPIO 32 à 39), qui fonctionne même avec le Wi-Fi actif ; les valeurs vont de 0 à 4095, il faut donc étalonner à nouveau. Avec un ESP32, tu peux envoyer l'humidité sur ton téléphone sous forme de notification, ou fabriquer un capteur de pot qui mesure une fois par heure en sommeil profond et tient des mois sur pile. Sur le Pico en MicroPython, la lecture se fait ainsi :

MicroPython
1from machine import ADC, Pin
2import time
3
4sensor = ADC(26)               # GP26 → AOUT
5power = Pin(15, Pin.OUT)       # sensörü yalnızca ölçerken besle / power only while measuring
6DRY, WET = 52000, 24000        # kendi değerlerinle değiştir / replace with your readings
7
8def moisture():
9    power.value(1)
10    time.sleep_ms(10)
11    raw = sensor.read_u16()
12    power.value(0)
13    pct = (DRY - raw) * 100 // (DRY - WET)
14    return max(0, min(100, pct))
15
16while True:
17    print("Toprak nemi / Soil moisture: %", moisture())
18    time.sleep(2)

Quelle humidité faut-il viser ?

Type de planteHumidité cible approximative
Cactus et succulentes10–30 %
La plupart des plantes d'intérieur40–60 %
Tomates, poivrons et légumes60–80 %
Fougères et plantes aimant l'humidité70–90 %

Ces pourcentages se rapportent à la plage sec-mouillé de ton capteur ; ce n'est pas la teneur en eau du sol au sens scientifique. Le meilleur seuil se trouve en observant pendant quelques jours ce qu'indique le capteur quand ta plante a vraiment besoin d'eau.

Idées de projets avec un capteur d'humidité du sol

  • Arrosage automatique de pots : un système qui arrose tes fleurs tout seul, même pendant tes vacances.
  • Alerte « j'ai soif » : une LED qui s'allume ou un buzzer qui sonne quand la terre se dessèche.
  • Notification sur le téléphone : envoie un message Telegram depuis un ESP32 quand l'humidité baisse.
  • Arrosage de plusieurs pots : donne à chaque pot son capteur et une petite vanne pour arroser chaque plante séparément.
  • Mini-station de serre : mesure aussi l'humidité de l'air avec un DHT11 et la lumière avec une LDR, et affiche tout sur un écran.
  • Jardin intelligent : saute automatiquement l'arrosage quand un capteur de pluie détecte des précipitations.

Erreurs fréquentes et solutions

  • La valeur est toujours 1023 ou toujours 0 : c'est la broche DO qui est lue au lieu de AO, l'alimentation manque, ou le fil vers la carte du capteur est coupé.
  • Les pointes ont rouillé et les mesures n'ont plus de sens : le capteur résistif a été alimenté en permanence ; alimente-le par une broche ou passe à un modèle capacitif.
  • Les mesures dérivent avec le temps : la conductivité change quand la terre se tasse ou qu'on ajoute de l'engrais ; réétalonne de temps en temps.
  • La pompe ne s'arrête pas : le relais est actif à l'état bas et HIGH/LOW sont inversés dans le code, ou la mesure est refaite avant que l'eau ait pénétré ; ajoute une pause entre deux mesures.
  • Le capteur capacitif donne des valeurs étranges : l'électronique du haut a pris l'eau ; rends la carte étanche.
  • Sur l'ESP32, les mesures déraillent au démarrage du Wi-Fi : le capteur est sur une broche ADC2 ; déplace-le sur une broche entre GPIO 32 et 39.

Un capteur d'humidité du sol peut être ton premier projet qui va au-delà de la mesure et change vraiment quelque chose dans le monde réel. Dans l'application BlueGrays, tu trouveras une station d'arrosage intelligente et un système d'arrosage de plantes avec ESP32, pas à pas avec schémas et code.

Questions fréquentes

Faut-il acheter un capteur d'humidité du sol capacitif ou résistif ?

Pour des essais de quelques jours, un capteur résistif suffit. Pour un projet qui restera des mois dans un pot, choisis un capteur capacitif : sans métal apparent, il ne rouille pas et ses mesures dérivent moins avec le temps.

Combien de temps dure un capteur d'humidité du sol ?

Les pointes d'un capteur résistif alimenté en permanence s'usent nettement en quelques semaines. Alimenté seulement pendant la mesure, il peut durer des mois. Les capteurs capacitifs fonctionnent pendant des années tant que leur électronique reste à l'abri de l'eau.

Pourquoi la valeur est-elle élevée quand la terre est sèche et basse quand elle est humide ?

La plupart des modules intègrent le capteur dans un pont diviseur ; quand la terre s'humidifie, la résistance ou la capacité change et la tension sur la broche analogique baisse. C'est pourquoi le code inverse la plage avec map(raw, SEC, MOUILLE, 0, 100) pour obtenir un pourcentage.

À quelle profondeur enfoncer le capteur d'humidité ?

Place le capteur au niveau des racines de la plante, loin du bord du pot. Pour les capteurs capacitifs, il suffit de les enfoncer jusqu'au trait marqué ; l'électronique ne doit toucher ni la terre ni l'eau.

Peut-on brancher une pompe à eau directement sur un Arduino ?

Non. Même les petites pompes consomment 100 à 300 mA, ce qu'une broche d'Arduino ne peut pas fournir. Commande la pompe avec un module relais, ou un MOSFET avec une diode de roue libre ; alimente-la avec une source séparée et relie les masses.

Combien de pots peut-on surveiller avec un Arduino ?

L'Arduino Uno a 6 entrées analogiques : il lit donc 6 capteurs directement. Au-delà, utilise un multiplexeur analogique 16 canaux comme le CD74HC4067 ou un module CAN supplémentaire comme l'ADS1115.

Voir tous les projets
Station d'irrigation intelligente
#83Avancé
Premium

Station d'irrigation intelligente

Système autonome d'irrigation des plantes qui fonctionne 24/7 sans fatiguer Arduino avec deux batteries 18650 et un régulateur LM2596. Il gère automatiquement le moteur d'arrosage en mesurant en perma

5.0(42)
57
Système d'arrosage intelligent ESP 32
#139Avancé
Premium

Système d'arrosage intelligent ESP 32

Dans le cadre de ce projet, un système d'arrosage automatique des plantes a été mis au point à l'aide d'un ESP32 et d'un capteur d'humidité du sol. Le capteur mesure en permanence le niveau d'humidité du sol. Lorsque l'humidité descend en dessous du niveau défini, l'ESP32 active le relais pour mettre la pompe en marche et arroser la plante. Lorsque le sol est suffisamment humide, la pompe s'arrête automatiquement. Ce projet permet d'arroser les plantes régulièrement et de réaliser des économies

4.7(10)
14
Température et humidité avec DHT11
#55Intermédiaire

Température et humidité avec DHT11

Projet qui mesure la température et l'humidité ambiantes à l'aide d'un capteur DHT11 et les affiche sur un écran LCD I2C. Enseigne l'utilisation d'un capteur numérique de température et d'humidité.

4.7(47)
60
ESP32 DHT22 Température et humidité (avec écran LCD)
#117Intermédiaire
Premium

ESP32 DHT22 Température et humidité (avec écran LCD)

Il s'agit d'un projet permettant de mesurer la température ambiante et le taux d'humidité à l'aide d'un capteur DHT22 et d'afficher ces données en temps réel sur un écran LCD I2C 16x2. Les données du capteur sont lues à l'aide du protocole one-wire grâce à la bibliothèque Adafruit DHT. Ce projet constitue la base des stations météo IoT, de la domotique ou des systèmes de surveillance de l'environnement dans les serres.

4.8(37)
53
Ampoule 220V avec bouton poussoir (Push)
#19Avancé
Premium

Ampoule 220V avec bouton poussoir (Push)

Projet qui contrôle une ampoule de 220V avec un bouton poussoir en utilisant un module relais. Enseigne les bases de la commutation haute tension à l'aide d'un relais.

4.4(30)
38
Éclairage Intelligent ESP32 (PIR + LDR + Relais + OLED)
#141Avancé
Premium

Éclairage Intelligent ESP32 (PIR + LDR + Relais + OLED)

Transformez votre couloir, votre salle de bain ou votre garde-manger en éclairage intelligent avec l'ESP32 ! En utilisant un capteur de mouvement PIR, un capteur de lumière LDR et un module relais, nous construisons le scénario classique "la lumière s'allume lorsqu'un mouvement est détecté dans l'obscurité" — si l'environnement est déjà lumineux, le mouvement N'ACTIVE PAS la lumière, économisant ainsi de l'énergie pendant la journée. La lumière reste allumée pendant 30 secondes ; si le mouvement

4.3(6)
11
Enregistreur de Température ESP32 (DHT22 + DS1307 RTC + microSD + OLED)
#144Avancé
Premium

Enregistreur de Température ESP32 (DHT22 + DS1307 RTC + microSD + OLED)

Construis un enregistreur de température horodaté avec ESP32 ! Lis la température/humidité du DHT22 toutes les 10 secondes, obtiens l'heure réelle du DS1307 RTC et enregistre sur carte microSD au format CSV. L'OLED affiche en direct la température (grande police), le pourcentage d'humidité, l'horodatage et le compteur. Le fichier `/temp_log.csv` sur la carte SD s'ouvre dans Excel, Google Sheets ou Python pandas pour analyse — parfait pour surveillance de serre, suivi de température à domicile, c

4.7(7)
12
ESP32 HTTPClient + API météo (avec écran LCD)
#133Avancé
Premium

ESP32 HTTPClient + API météo (avec écran LCD)

Dans ce projet, nous effectuons un appel REST à l'API météo (wttr.in) via Internet à l'aide de l'ESP32 et de la bibliothèque `HTTPClient.h`. À l’aide d’ArduinoJson v7, nous analysons la réponse JSON renvoyée et affichons les informations relatives à la ville, à la température, à l’humidité, à la météo et au vent sur un écran LCD I2C, en turc et en anglais. wttr.in est gratuit et ne nécessite pas de clé API : il suffit de saisir le nom d’une ville pour obtenir les conditions météo en temps réel d

4.7(13)
20

Découvre les types de capteurs d'humidité du sol, comment en brancher un sur Arduino, convertir la mesure en pourcentage, éviter la corrosion et réaliser un système qui arrose tes plantes tout seul, pas à pas.

Capteur d'humidité du sol : arrosage automatique des plantes avec Arduino | BlueGrays