Capteur d'humidité du sol fiable DIY avec Arduino UNO – Alerte LED RGB
Matériel nécessaire
- 1 × Arduino UNO (ou compatible)
- 1 × LED RGB anode commune (ou 3 LED distinctes rouge/vert/bleu)
- 3 × Résistances 220Ω (pour LED)
- 1 × Résistance 10kΩ (pont diviseur)
- 2 × Boulons + écrous (même diamètre, ex: M4/M5) → sondes
- 2 × Fils de liaison longs (pour sondes)
- 6 × Fils de liaison courts + 1 × Plaque d'essai demi-format
Fabrication des sondes (électrodes)
Réaliser deux sondes identiques :
- Visser l'écrou sur le boulon sans serrer complètement
- Insérer l'extrémité dénudée du fil long entre l'écrou et la tête du boulon
- Serrer l'écrou fermement pour bloquer le fil (contact électrique fiable)
Ces sondes en acier/inox résistent bien à la corrosion (comparé à du cuivre nu). Espacement recommandé : 2,5 à 3,5 cm (1-1,5 pouce).
Schéma de câblage
- Sonde 1 → entrée analogique A0
- Sonde 2 → GND (via résistance 10kΩ vers GND = pont diviseur)
- LED RGB : Rouge → D4, Vert → D3, Bleu → D2 (chacun via 220Ω), Anode commune → 5V
Le montage mesure la conductivité du sol (constante diélectrique) : plus le sol est humide, plus la conductivité est élevée, plus la tension sur A0 monte.
Code Arduino
int moistPin = A0; int moistVal = 0;
int tooDry = 150; // seuil bas (à calibrer)
int tooWet = 400; // seuil haut (à calibrer)
void setup() { Serial.begin(9600); }
void loop() {
moistVal = analogRead(moistPin);
Serial.println(moistVal);
// Formule empirique pour % humidité (sondes ~2,5-3,5 cm écart)
float percent = 2.718282 * 2.718282 * (0.008985 * moistVal + 0.207762);
Serial.print(percent); Serial.println("% Moisture");
if (moistVal <= tooDry) { // TROP SEC → ROUGE
digitalWrite(4, HIGH); digitalWrite(3, LOW); digitalWrite(2, LOW);
} else if (moistVal >= tooWet) { // TROP MOUILLÉ → BLEU
digitalWrite(4, LOW); digitalWrite(3, HIGH); digitalWrite(2, LOW);
} else { // OK → VERT
digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, HIGH);
}
delay(250);
}
Calibration et mise en service
- Insérer les sondes dans le sol près de la plante (espacement 2,5-3,5 cm)
- Arroser normalement la plante
- Ouvrir le moniteur série (9600 bauds)
- Observer les valeurs brutes (0-1023) et le % calculé
- Ajuster
tooDryettooWetpour que : - Sol bien arrosé → ~25-30% → LED VERTE
- Sol sec → valeur < tooDry → LED ROUGE
- Sol détrempé → valeur > tooWet → LED BLEUE
- Déplacer légèrement les sondes si valeurs incohérentes
Utilisation en extérieur
Pour installation permanente dehors :
- Boîtier étanche (type Tupperware) pour l'électronique
- Presses-étoupes pour sortie des fils sondes
- Boîtier piles (piles AA + régulateur 5V ou powerbank) ou panneau solaire + batterie LiPo
- Sondes en acier inoxydable ou acier galvanisé pour longévité
Améliorations possibles
- Affichage OLED/LCD pour lecture locale sans PC
- Module ESP8266/ESP32 → envoi données MQTT/HTTP (domotique)
- Pompe de relevage commandée par relais pour arrosage automatique
- Calibration multi-points + courbe polynomiale pour précision accrue
- Compensation température (capteur DS18B20 ajouté)
Remarques importantes
La mesure par conductivité (résistive) est sensible à la salinité du sol (engrais) et à la corrosion des électrodes. Pour cultures précieuses, envisager un capteur capacitif (ex: v1.2 « capacitive soil moisture sensor ») qui isole les électrodes du sol et dure plus longtemps.
Processus de fabrication
- Construire un capteur d'humidité du sol Raspberry Pi low-cost pour irrigation intelligente
- Alerte Soif Plante Intelligente – Capteur DIY pour une Hydratation Optimale
- Construire un oscilloscope Arduino 20 kHz sur écran Nokia 5110 – Guide DIY facile
- Horloge à Mots Italienne avec Arduino Nano, NeoPixel, LCD et RTC
- Système d'arrosage intelligent pour plantes d'intérieur avec Arduino Nano
- Prototype capteur de couleur Arduino – Identifier et afficher le nom des couleurs
- Compteur kWh Sigfox fiable avec Arduino MKR Fox 1200
- Moniteur de température Bluetooth avec Arduino Nano
- Test Précis de Temps de Réaction avec Arduino UNO