Système d'arrosage intelligent pour plantes d'intérieur avec Arduino Nano
Composants et fournitures
![]() |
Arduino Nano R3 | × | 1 |
![]() |
Adafruit LCD Standard 16x2 (blanc sur bleu) | × | 1 |
![]() |
Mini pompe à eau | × | 1 |
![]() |
Encodeur rotatif avec bouton poussoir | × | 1 |
| CI L298N (pont en H) | × | 1 | |
![]() |
Photorésistance | × | 1 |
![]() |
Transistor NPN usage général | × | 1 |
![]() |
Résistance 10 kΩ | × | 1 |
![]() |
Potentiomètre mono-tour 10 kΩ | × | 1 |
![]() |
Condensateur 10 µF | × | 1 |
![]() |
Condensateur 1000 µF | × | 1 |
![]() |
Condensateur 470 µF | × | 1 |
![]() |
Condensateur 100 nF | × | 7 |
| Diode 1N4001 | × | 8 | |
| Prise RCA | × | 1 | |
| Capteur d'humidité du sol | × | 1 | |
| Bornier à vis | × | 3 | |
| AMS1117-ADJ (régulateur ajustable) | × | 1 | |
| Résistance 2 kΩ | × | 1 | |
| Résistance 680 Ω | × | 1 | |
| Alimentation DC 9V 3A | × | 1 |
Outils nécessaires
![]() |
Fer à souder (générique) |
Applications et services en ligne
![]() |
Arduino IDE |
À propos de ce projet
Un arroseur de plantes de plus
De nombreux projets et tutoriels en ligne décrivent l'utilisation de capteurs d'humidité du sol. Ce projet combine plusieurs idées ingénieuses trouvées sur le Web et les complète par la partie logicielle pour réaliser un contrôleur d'arrosage domestique. Parfois la solution semble évidente jusqu'à ce qu'on examine les détails. Analysons ces détails.
Principales fonctionnalités du contrôleur
- Deux plantes gérées : deux canaux indépendants, chacun peut être désactivé
- Paramètres par canal : durée de pompage avant/arrière (dizaines de secondes)
- Mode manuel : arrosage à la demande par pression sur le bouton
- Vérification post-arrosage : le contrôleur vérifie l'augmentation d'humidité ; si absent, le canal est désactivé (protection contre panne)
- Capteur de lumière : empêche le fonctionnement nocturne
- Système de menus : configuration des paramètres, sauvegarde en EEPROM
L'humidité du sol : mesure capacitive vs résistive
Comment mesurer précisément l'humidité du sol ? La méthode classique (résistance) donne des valeurs proches entre sol "sec" et "mouillé" (300 kΩ vs 500 kΩ dans mon cas), difficile à exploiter. L'eau pure ne conduit pas l'électricité : ce sont les minéraux qui le font. La résistance dépend donc de la minéralisation, pas de la quantité d'eau.
Solution trouvée sur le Web : mesurer la capacité du capteur, pas sa résistance. L'eau a une permittivité diélectrique élevée : la capacité d'un sol "mouillé" est ~1 million de fois supérieure à un sol "sec" (200 µF vs 200 pF). Différence massive, facile à discriminer.
Comment mesurer la capacité simplement ?
Certains transforment l'Arduino en capacimètre de haute précision, mais c'est complexe et inutile ici. Une méthode bien plus simple utilise seulement deux broches analogiques et offre une précision suffisante pour distinguer "sec" de "mouillé". Comme l'intervalle de valeurs est huge, le code utilise le logarithme népérien des lectures de capacité pour le réduire.
Pourquoi un pont en H (L298N) ?
Un simple MOSFET semblait suffisant pour commander la pompe. Mais si le niveau d'eau dans le réservoir est plus haut que la plante, l'eau continue de s'écouler par gravité après l'arrêt de la pompe. Solution : faire tourner la pompe en sens inverse brièvement pour stopper le flux. Avec un moteur DC, il suffit d'inverser la polarité. Le L298N gère deux moteurs, donc deux plantes simultanément. La pompe utilise 9V/3A : radiateur sur le CI et résistance de puissance (1Ω 5W) nécessaires.
Système de menus du contrôleur
Un encodeur rotatif gère l'interface. Au démarrage, l'écran principal affiche :
- Ligne du haut : lectures actuelles des deux canaux (ou
xxxxsi désactivé) - Ligne du bas : seuils "sec" (limites sèches)

Appui court sur l'encodeur → mode manuel (arrosage immédiat).
Appui long (~1s) sur l'écran principal → menu de configuration :
- Canal gauche
- Canal droit
- Luminosité rétroéclairage (ou auto)
- Luminosité nocturne
Chaque canal a son sous-menu :
- Activation du canal
- Limite sèche (log népérien de la capacité)
- Durée pompage avant (dizaines de secondes)
- Durée pompage arrière (dizaines de secondes)
- Test des paramètres (simulation avant sauvegarde EEPROM)
La "limite sèche" définit l'humidité minimale pour déclencher l'arrosage. Les valeurs actuelles des capteurs et les limites sèches sont visibles sur l'écran principal pour faciliter le réglage.
Le matériel
Le contrôleur est construit sur deux PCB double face 3×7 cm :
- PCB moteur : L298N, diodes, borniers pour alimentation et pompes, connecteurs capteurs. Intègre un module AMS1117-ADJ pour 5V (L298N + Arduino). Pratique pour le débogage ; le régulateur de l'Arduino peut aussi être utilisé.
- PCB contrôle : Arduino Nano, connecteurs encodeur rotatif et photorésistance, socket pour écran LCD.
Code
WateringSystem
Code source : GitHub
Schémas
Processus de fabrication
- Système d'arrosage automatique des plantes avec Raspberry Pi et tableau de bord web
- Système de surveillance intelligent pour hôtels et maisons avec contrôles automatisés basés sur le cloud
- Alerte Soif Plante Intelligente – Capteur DIY pour une Hydratation Optimale
- Détecteur de séismes DIY ADXL335 – Accéléromètre 3 axes basse consommation
- Système d'arrosage automatique pour plantes piloté par Arduino
- Système de surveillance de plantes connecté par AWS IoT
- Contrôleur domotique Arduino compatible Alexa : Automatisation intelligente simplifiée
- Système Intelligent de Surveillance de Plantes avec Windows 10 IoT
- Purificateur d'air intelligent Sharp Plasmacluster avec Arduino Yun et AWS IoT












