samedi 8 juin 2019

ARDUINO : Micro-irrigation Automatisée





ARDUINO : Micro-irrigation Automatisée


Voici un projet que j'ai développé il y a maintenant trois ans : un système d'irrigation goutte à goutte automatisé.

Il est constitué d'un tube plastique sur lequel sont raccordés un certain nombre de goutteurs. Le tout est alimenté en eau par une électrovanne commandée par une minuterie programmable, réalisée à l'aide d'un ARDUINO NANO.

Au départ le projet avait été développé sur une carte ARDUINO MEGA avec un afficheur parallèle :

  • interface données 4 bits
  • 3 pins de commande (EN, RS, backlight)

J'ai décidé de réduire le nombre de pins utilisées en adoptant un module I2C PCF8574 afin de pouvoir utiliser une carte ARDUINO NANO, beaucoup plus facile à implanter sur une breadboard ou un PCB.

Même si l'on n'est pas intéressé par ce projet dans sa globalité on pourra y piocher les routines nécessaires à la saisie d'informations de configuration à partir d'un clavier matriciel et d'un LCD :

  • saisie d'une date, d'une heure
  • saisie d'un nombre, d'un booléen
  • etc.

C'est également un exemple de projet découpé en plusieurs fichier .ino, .cpp, .h avec du C et du C++.

1. Le circuit hydraulique

1.1. La vanne

La vanne est l'élément important du système. J'avais adopté au départ une vanne simple comme celles que l'on trouve sur une machine à laver :

Vanne simple 1/2 pouce

Mais il s'est avéré qu'une vanne comme celle-ci provoque une montée brutale de la pression dans le système d'arrosage et il arrive parfois qu'un tube se débranche.

J'ai donc opté pour une vanne motorisée qui permet une montée en pression plus progressive :

Vanne SEV3000 DN20

Le logiciel permet toutefois l'utilisation d'une vanne simple.

Voir plus loin : 9.2. La configuration

1.2. Le capteur de débit

Un capteur de débit est utilisé pour détecter un éventuel débranchement de tuyau ou de goutteur :

Capteur de débit FS200A

Le modèle utilisé est capable de mesurer jusqu'à 30L par minute. Ce genre de capteur autorise un grand nombre de goutteurs.
Avec une dizaine de goutteurs, le débit est de 0.5 litre par minute.

Si l'on ne désire ne pas raccorder de capteur de débit, le logiciel permet de s'en passer.
Voir plus loin : 8. Le code (Comment autoriser la gestion du capteur de débit).

1.3. Le capteur d'humidité

Afin d'éviter les arrosages inutiles il est possible d'utiliser un capteur d'humidité du sol. J'envisage ce type de capteur :

Le mien provient de ce site :

https://fr.aliexpress.com/item/32882371718.html?spm=a2g0s.9042311.0.0.27426c37DtOLom 

Ce genre de matériel capacitif permet d'éviter l'oxydation généralement observée sur les capteurs classiques du type YL-69 :

Ce capteur n'est pas destiné à déterminer si l'arrosage en cours est suffisant ou pas, mais à déterminer si le sol est déjà suffisamment humide, grâce à la pluie par exemple. Il doit donc être planté à un endroit exposé à la pluie, mais pas à proximité d'un goutteur.

Il doit être enfoncé dans le sol jusqu'à la ligne blanche, et son électronique doit être protégée des intempéries. J'ai utilisé pour cela un morceau de chambre à air de vélo, soudé à son extrémité supérieure par de la colle cyanoacrylate :


 

A noter : la longueur du câble 3 fils est de presque 4 mètres, et cela ne pose aucun problème.

1.4. Le circuit hydraulique

Celui-ci est composé d'un tube principal de 13mm équipé de raccords en T 13mm / 4.6mm :

Réducteur en T Gardena

Chaque réducteur permet de brancher un tube de 4.6mm de longueur adaptée pourvu d'un goutteur :

Goutteur Gardena

Ces goutteurs laissent passer environ deux gouttes à la seconde, et sont suffisants pour des plantes peu gourmandes en eau (fleurs, tomates, etc.). La quantité d'eau distribuée dépendra uniquement du temps d'arrosage.

Goutteur Gardena réglable

Ces modèles sont capable de distribuer un filet d'eau, et sont préférables lorsque les plantes à arroser requièrent une quantité d'eau plus importante (courgette, menthe, etc.).

Les goutteurs, en général nécessitent une pression maximale de 1.5 bar. Si la pression du réseau est trop importante je vous conseille d'installer un réducteur de pression.

On peut aussi installer tout dispositif d'arrosage, asperseur oscillant, circulaire, rotatif, ou autre. Il faut consulter la documentation de chaque produit afin de connaître la pression optimale de fonctionnement. Certains asperseurs ont besoin de 2 bar minimum pour fonctionner correctement.

Si le circuit hydraulique comporte des dispositifs fonctionnant à des pressions différentes, il est recommandé d'adopter deux circuits distincts, avec sur chaque circuit une vanne séparée : 

  • circuit basse pression, avec réducteur de pression, et sa vanne
  • circuit haute pression, sans réducteur de pression, et sa vanne

Le relais de commande pourra sans difficulté alimenter plusieurs vannes.

2. La minuterie

La minuterie est un montage personnel à base d'ARDUINO NANO permettant de programmer 9 plages horaires d'arrosage.

Un clavier et un écran LCD permettent la saisie des informations de configuration et l'affichage pendant le service.

La gestion de l'heure est confiée à un module RTC DS3231.

La vanne 230V possède un fil de neutre, un fil d'ouverture et un fil de fermeture. Il nous faudra donc deux relais pour la commander.

J'ai conservé dans le logiciel la possibilité d'utiliser une vanne non motorisée.

Dans ce cas, un seul relais sera nécessaire, et il suffira de configurer les temps d'ouverture et de fermeture de vanne à zéro.

Il existe deux types de modules à relais :

  • les modules dits "low level" commandés en appliquant 0V sur leur entrée
  • les modules dits "high level" commandés en appliquant 5V sur leur entrée

Le logiciel permet d'utiliser les deux types de modules. Il suffit de changer une constante. Voir plus loin :  8. Le code.

Ce montage est facilement réalisable sur une breadboard, surtout si l'on utilise un module à relais. Dans ce cas, le nombre de composants discrets est fortement réduit.

J'ai également conservé la possibilité d'utiliser un afficheur LCD sans I2C. Dans ce cas, le câblage sera bien entendu différent.

3. Les fonctionnalités

La minuterie possède les fonctionnalités suivantes :

  • activation de 9 plages horaire d'arrosage automatiques
  • 1 plage horaire d'arrosage immédiat (mode manuel)
  • horloge RTC ultra précise (DS3231) 
  • capteur de débit (optionnel) 
  • capteur d'humidité (optionnel)
  • saisie au clavier avec affichage :
    • date et heure courantes
    • marche ou arrêt
    • temps d'ouverture et de fermeture de la vanne
    • débit maximal autorisé 
    • mode veille (extinction automatique de l'afficheur)
    • plages d'arrosage (heure + durée)
  • indication d'ouverture et de la fermeture de la vanne (LED rouge et verte) 
  • indication d'arrosage en cours (LED verte clignotante)
  • indication de débit maximal dépassé (LED rouge clignotante)

Le temps d'ouverture et de fermeture de la vanne sont paramétrables.

La vanne possède ses propres contacts de fin de course, il n'y a aucun risque à la commander plus longtemps que nécessaire.
Par contre si le contact de fin de course n'est pas fermé, la vanne refusera de repartir dans l'autre sens.
Les temps programmés doivent donc être supérieurs aux temps d'ouverture et de fermeture effectifs de la vanne.

Il est possible d'arrêter complètement l'arrosage, pendant l'hiver par exemple, ce qui permet de préserver la pile du DS3231.

Un paramètre permet d'éteindre l'écran pendant les phases d'inactivité.
Un dernier paramètre permet de fixer le débit maximal autorisé.

Les évolutions futures de ce projet sont les suivantes :

  • affichage de la consommation d'eau journalière

4. Le matériel

Pour réaliser cette minuterie, il faut réunir le matériel suivant :

  • une carte ARDUINO NANO
  • un écran LCD 4 lignes de 20 caractères
  • un module I2C PCF8574 pour LCD
  • un clavier matriciel 12 touches
  • les relais :
    • 2 relais 5V du genre JQC-3F ou SRD-05VDC-SL-C
    • 2 transistors PN2222
    • 2 diodes 1N4148
    • 2 résistances de 1KΩ
  • ou
    • un module à deux relais 5V
  • 2 résistances de 2.2KΩ
  • 2 condensateurs de 100nF 100V 
  • les anti-parasites :
    • 2 résistances de 100Ω
    • 2 condensateurs de 100nF 250V type X2
  • ou
    • 2 varistances 275V (SIOV-S10K275 par exemple)
  • 1 LED verte 5mm 
  • 1 LED rouge 5mm 
  • l'alimentation :
    • 1 module MEANWELL IRM-05-5
  • ou
    • 1 module HI-LINK 5V 3W
  • ou
    • 1 chargeur 5V mini-USB 0.5A
  • 1 bornier à vis 2 points au pas de 5.08mm
  • 1 bornier à vis 3 points au pas de 5.08mm
  • pour le clavier :
    • 1 barrette Dupont mâle 7 points au pas de 2.54
    • 1 connecteur Dupont femelle 7 points au pas de 2.54 
  • pour l'afficheur :
    • 1 barrette Dupont mâle 4 points au pas de 2.54
    • 2 connecteurs Dupont femelle 4 points au pas de 2.54
L'écran LCD I2C

Le module I2C PCF8574

Le clavier matriciel

On peut utiliser aussi un clavier à membrane :

Clavier à membrane
L'alimentation Meanwell

L'alimentation Meanwell peut être remplacée par une HiLink 5V :


Ou un chargeur de téléphone mobile 5V / 0.5A.

Vous pouvez même alimenter le montage par la prise mini-USB de l'ARDUINO NANO si vous disposez d'un chargeur possédant un connecteur de ce type.

Les relais Songle SRD-05VDC-SL-C

On peut également utiliser un module à deux relais 5V :

Module 2 relais

 

Borniers à vis au pas de 5.08

Ces borniers ne sont utiles que si l'on envisage une réalisation sur PCB.

En raison de la présence de 230V je vous déconseille l'utilisation de connecteurs au pas de 2.54 du type Dupont en lieu et place des borniers prévus pour l'alimentation secteur et la commande de la vanne.

5. Le schéma

Le schéma est réalisé à l'aide de KICAD.

Pour récupérer le projet voir plus bas :  11. Téléchargements.

Vous pouvez aisément essayer ce montage sur une breadboard.

Comme dit précédemment, en lieu et place des relais SRD-05VDC-SL-C, il est possible d'utiliser un module tout prêt à deux relais. Dans ce cas, bien évidemment les transistors, diodes 1N4148 et résistances de 1KΩ sont inutiles. Les pins de commande du module seront connectées directement sur les pins 9 et 10 de l'ARDUINO.

Un détail important : sur le connecteur 3 points de la vanne on remarque une paire de couples condensateur / résistance. Ces composants permettent de filtrer les parasites générés par le moteur de la vanne. Sans ce filtre, cela provoquait chez moi des problèmes d'affichage.

On peut remplacer chaque couple condensateur / résistance par une varistance 275V.

6. La réalisation

6.1. Le PCB

En raison de la présence de 230V je vous déconseille l'utilisation de PCB à pastilles comme celles-ci pour réaliser le montage des composants soumis à cette tension :

L'espacement entre les pastilles étant inférieure à 1mm, largement insuffisant par rapport au minimum recommandé de 1.25mm.

Personnellement je ménage une distance minimale de 2.5mm entre les pistes véhiculant la tension secteur et les autres pistes ou composants, comme on peut le voir ici :



L'utilisation d'une breadboard est une solution possible, car les barrettes de contacts d'une breadboard sont isolées entre elles.La breadboard n'est cependant pas une solution sur le long terme. Les mauvais contacts sont les ennemis de l'électronique.

Seuls les composants très basse tension peuvent être regroupés sur ce genre de PCB (voir paragraphe  6.4. Le montage sur plaquette à pastilles) :

En ce qui me concerne tous les composants sont réunis sur un PCB, à l'exception du clavier, relié par une nappe de 7 fils. Cela permet d'adapter n'importe quel clavier.L'afficheur avec son module I2C est également relié par une nappe 4 fils.

Avec le clavier que j'ai utilisé, les pins sont connectées comme ceci :

Le clavier matriciel

De gauche à droite :

  • colonne 2      2
  • ligne 1           3
  • colonne 1      4
  • ligne 4           5
  • colonne 3      6
  • ligne 3           7
  • ligne 2           8

Si vous utilisez un clavier comme celui-ci, le câblage est différent :

Clavier à membrane

Mais il est possible de modifier le code source pour pouvoir brancher son connecteur directement en face des bonnes broches de la NANO sans ajouter de câblage supplémentaire. Voir plus loin :  8. Le code.

6.2. Le boîtier

Le boîtier choisi est celui-ci, un KRADEX  Z125B :

Ses dimensions : 89mm;x 189mm x 50mm

Il est un peu trop grand pour la carte mais il faut de la place en façade pour le LCD et le clavier :


6.3. Le montage sur planche

Ce montage est facilement réalisable sur une petite plaque de contreplaqué de 15cm x 25cm :

Ce type de montage est décrit ici :  https://riton-duino.blogspot.com/2019/01/developpement-electronique-arduino.html#plywood

En bas à gauche, on peut remarquer le domino de raccordement secteur et vanne, avec les deux varistances 275V.

Au dessus, l'alimentation MeanWell est simplement fixée à la colle chaude.

6.4. Le montage sur plaquette à pastilles

On peut réunir les composants très basse tension sur une plaquette à pastilles :

Ce type de montage est décrit ici :  https://riton-duino.blogspot.com/2019/01/developpement-electronique-arduino.html#solder-breadboard

7. L'IDE ARDUINO

Il vous faudra installer les bibliothèques ARDUINO suivantes :

https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library.git
ou
https://github.com/arduino-libraries/LiquidCrystal.git
https://github.com/Chris--A/Keypad.git
https://github.com/PaulStoffregen/Time.git

Pour récupérer le projet voir plus bas :  11. Téléchargements.

8. Le code

Le code se compose de 16 fichiers :

  • commande de la vanne : valve.cpp + valve.h
  • contrôle du débit : flow.cpp + flow.h
  • contrôle de l'humidité : humidity.cpp + humidity.h 
  • affichage et clavier : gui.cpp + gui.h
  • rtc : ds3231.cpp + ds3231.h
  • configuration : config.cpp + config.h
  • gpios : gpio.h
  • l'application : sprinkle-timer.ino + sprinkle-timer.h + app_gui.cpp
Comment changer de type de module relais :
Dans valve.cpp :

//  pour un module "low level"
#define RELAY_COMMAND       LOW

//  pour un module "high level"
#define RELAY_COMMAND       HIGH

Comment autoriser la gestion du capteur de débit :
Dans gpio.h :

// pas de capteur
#define FLOW_SENSOR         0

// capteur sur sortie digitale D2
#define FLOW_SENSOR         2
 
Comment autoriser la gestion du capteur d'humidité :
Dans gpio.h :

// pas de capteur
#define HUMIDITY_SENSOR         0

// capteur sur sortie analogique A2
#define HUMIDITY_SENSOR         2

Comment utiliser un clavier matriciel avec un brochage droit :
Dans gpio.h :

// ACCORD KB304 pinout = c2, r1, c1, r4, c3, r3, r2
#define KBD_ACCORD

// pinout droit = r1, r2, r3, r4, c1, c2, c3
//#define KBD_ACCORD

Comment utiliser un afficheur LCD sans I2C :
Dans gpio.h :

// afficheur I2C
#define I2C_LCD

// afficheur sans I2C
//#define I2C_LCD

Les numéros de pins à utiliser (LCD_RS, LCD_EN, LCD_D4 à LCD_D8 et BACKLIGHT_PIN) sont données dans le même fichier.

Par défaut le logiciel est prêt pour une utilisation avec les composants suivants :

  • afficheur I2C
  • clavier ACCORD KB304
  • modules relais "low level"

9. Utilisation

Lors de la mise sous tension, la minuterie ferme la vanne systématiquement. Elle affiche donc "FERMETURE VANNE".

La première chose à faire est de régler le potentiomètre de contraste de l'écran TFT, le petit multi-tours situé sur le module I2C.

9.1. Le capteur d'humidité

Si l'on a opté pour l'utilisation d'un capteur d'humidité, une information "HUMIDE" ou "SEC" sera affichée en permanence en bas à droite du LCD, ainsi que le taux d'humidité.

Pour que cela fonctionne il faut régler les valeurs d'humidité minimale et maximale dans le code, car le capteur utilisé ne donnera pas forcément les mêmes valeurs en fonction du modèle.

Pour faire ce réglage il faut lancer le moniteur série et le régler sur 115200 baud. On verra s'afficher à chaque seconde la valeur d'humidité mesurée :

560 Dry

Dans un premier temps nous allons laisser tout d'abord le capteur à l'air libre. Ensuite nous allons le tremper dans un verre d'eau.

Il faut relever les deux valeurs affichées et les reporter dans le fichier humidity.h :

#define HUMIDITY_AIR            590
#define HUMIDITY_WATER      250

Comme j'ai fait la mesure alors que l'air était très humide , j'ai augmenté légèrement la valeur de HUMIDITY_AIR (pour 560 mesurés j'ai choisi 590).

Pour les valeurs ci-dessus, l'arrosage sera déclenché seulement si la valeur d'humidité se situe au dessus de la valeur configurée, soit 420 pour une configuration à 50%.

Ensuite il suffit de recompiler et recharger le code dans l'ARDUINO.

9.2. Les touches du clavier

Les touches du clavier ont les fonctions suivantes :

  • # : configuration
  • * : programmation ou arrêt d'un arrosage manuel, ou arrêt d'un arrosage automatique
  • 0 : rafraîchissement de l'affichage
  • 1 à 9 : programmation de la plage d'arrosage N°1 à 9

Pendant une saisie, les touches ont une fonction différente :

  • # : validation
  • * : correction
  • 0 à 9 : modification des valeurs 

La touche correction n'est pas vraiment nécessaire. Lorsqu'une valeur est affichée, pour la modifier il suffit d'entrer le nouvelle valeur. Les chiffres se décalent vers la gauche et le plus à gauche disparaît.

Exemple (saisie de la date) :
Date affichée : 01/01/2019
Date à entrer : 18/06/2019
Il suffit de taper 18062019 puis #.

Exemple (saisie d'une durée) :
Durée affichée : 00:00:30
Durée à entrer : 00:01:30
Il suffit de taper 000130 puis #.

Lors de la première mise sous tension, si l'heure du circuit RTC est incohérente, la minuterie initialisera la date et l'heure au 1er janvier 2019 à zéro heure.

9.3. La configuration

La configuration utilise le clavier et l'écran LCD. Une suite de questions est posée, et après la dernière réponse, le résultat est sauvegardé dans l'EEPROM de l'ARDUINO. En cas de coupure secteur la configuration est relue au prochain démarrage.

Voici la marche à suivre : appuyez sur # pour entrer en configuration.

Vous allez entrer :

  • la date et l'heure courante
  • l'heure de la première plage d'arrosage automatique
  • marche ou arrêt : 0 ou 1
  • la durée en secondes de l'ouverture de la vanne
  • la durée en secondes de la fermeture de la vanne
  • le débit maximal autorisé
  • la valeur maximale d'humidité en %
  • mode veille : 0 ou 1 

En hiver, plutôt que de débrancher le montage je le configure sur "Arrêt", ce qui permet de préserver la pile du DS3231.

Avec la vanne motorisée que j'ai utilisé, les temps d'ouverture et de fermeture sont réglés sur 20 secondes.

Si l'on utilise une vanne simple, il suffit de régler les temps  d'ouverture et de fermeture à ZÉRO. Seul relais N°1 sera utilisé. Il suffit donc de raccorder la vanne sur ce relais.

Réglez le débit maximal autorisé sur 99L dans un premier temps.

Après la configuration, la minuterie affiche la date et l'heure ainsi que l'heure et la durée du prochain arrosage et l'indicateur MARCHE ou ARRÊT.

Il affichera également le pourcentage d'humidité si le capteur d'humidité est utilisé.

9.4. Régler le débit maximal

Programmer un arrosage manuel de quelques minutes.

La minuterie affiche "OUVERTURE VANNE". Attendre la fin de l'ouverture.

La minuterie affiche sur la quatrième ligne le temps restant et le débit en litres par minute. Noter cette valeur.

Appuyez sur # pour entrer en configuration.

Appuyez plusieurs fois sur # pour arriver à l'écran de configuration du débit.

Entrer la valeur notée précédemment multipliée par deux ou quatre, un petit coefficient de sécurité qui permettra d'augmenter le débit de certains goutteurs par exemple.

Avec le capteur que j'utilise et mon circuit d'arrosage, je relève 0.5 L/minute, et 7 L/minute si un goutteur est retiré.

Je configure le débit maximal à 2L par minute.

Lors d'un arrosage, si un débit trop important est détecté, l'arrosage est stoppé et la minuterie affiche "PROBLEME DE DEBIT", et la LED rouge clignote.

9.5. Les arrosages

A chaque arrosage, elle affichera "OUVERTURE VANNE" et "FERMETURE VANNE".

Pendant l'arrosage la LED verte clignote et le temps restant est affiché.

Appuyez sur 1, 2, 3, etc. si vous désirez ajouter une ou plusieurs plages d'arrosage. Entrez simplement l'heure et la durée.

10. Photos

L'afficheur :


Les informations suivantes sont affichées :

Ligne 1 : date et heure

Ligne 2 : heure du prochain arrosage

Ligne 3 : durée du prochain arrosage

Ligne 4 : MARCHE ou ARRET, et HUM ou SEC avec le pourcentage d'humidité

Le circuit hydraulique (vanne motorisée + capteur de débit) :

Une photo du montage prototype sur breadboard :

La menthe ne s'est jamais aussi bien porté depuis que l'arrosage est automatique. Auparavant elle se flétrissait à chaque manque d'eau (elle est en pot et cela ne pardonne pas). 

En bas à droite : le réducteur de pression raccordé sur le tube Ø13mm à l'aide d'un raccord en T. Le goutteur réglable est alimenté par un tube de Ø4.6mm (en bas sur la photo).

11. Téléchargements

Pour télécharger le projet : https://bitbucket.org/henri_bachetti/sprinkle-timer.git

Cette page vous donne toutes les informations nécessaires :

https://riton-duino.blogspot.com/p/migration-sous-bitbucket.html

12. Conclusion

C'est la bonne période pour investir dans un système d'arrosage automatique. Si vous avez déjà fait vos plantations, n'hésitez pas, vos tomates seront ravies.



Cordialement
Henri

13. Mises à jour

10/06/2019 : 1.2. Le capteur de débit
                       9.3. Régler le débit maximal
                       Clignotement de la LED rouge si débit maximal dépassé
                       1.3. Le circuit hydraulique
11/06/2019 : routage du PCB + choix du boîtier
                       6.1. Le PCB
                       6.2. Le boîtier
                       6.3. Le montage sur planche
16/06/2019 : 6.4. Le montage sur plaquette à pastilles
05/05/2020 : ajout MARCHE/ARRÊT dans la configuration
14/05/2021 : ajout de la gestion du capteur d'humidité
17/05/2021 : prise en compte du pourcentage d'humidité en configuration
18/05/2021 : affichage du pourcentage d'humidité


27 commentaires:

  1. Great post about irrigation. You are 100% correct, proper installation of irrigation systems can make the difference between spending and saving money. We always suggest doing a full check in spring to make sure there were no tears or punctures in the system, to be on the safe side

    RépondreSupprimer
  2. Thanks a lot.
    I do the same, winter can cause damage.

    RépondreSupprimer
  3. Bonjour, je profite de cette période pour faire cette réalisation avant le printemps. cela semble fonctionner correctement mais je rencontre quelques soucis.
    1-lors du démarrage rien n'est indique sur l'écran.
    2-A l'issue du cycle de mise sous tesion l'afficheur indique.
    3-l'indication d'ouverture ou fermeture vanne n'est pas indiquée.

    Merci de ton aide.
    Dominique
    165.165.2165. 4

    RépondreSupprimer
    Réponses
    1. Tu veux dire que l'afficheur n'affiche jamais rien ?

      Supprimer
    2. Bonjour,
      J'ai trouvé le problème, le circuit DS3231 était monté à l'envers. Donc pas alimenté.

      Pour ton info j'ai fait une modification pour l'alimentation, car il sera alimenté par une panneau solaire et une batterie 12V. J'ai mis pour cela un convertisseur 12C 5V.
      PS, si j'ai bien compris le capteur d’humidité n'est pas opérationnel dans ton code?
      Merci encore.
      Une fois fini, je t'envoie une photo.

      Supprimer
    3. Non, effectivement le capteur d'humidité n'est pas implémenté pour l'instant.
      Bonne continuation.

      Supprimer
  4. Je n'arrive pas à publier la photo.

    Je suis passé par JLCPCB pour la réalisation du circuit.
    Si cela intéresse du monde j'ai plusieurs circuit vierge de dispo.

    Bravo encore pour cette réalisation.

    Cordialement DOMI

    RépondreSupprimer
    Réponses
    1. Je n'avais pas essayé de réaliser le PCB. Pas de problème particulier ?

      Supprimer
    2. Éventuellement tu peux publier les photos ici :
      https://forum.arduino.cc/index.php?topic=620281.0
      Il faut simplement s'inscrire.

      Supprimer
    3. Bonjour,

      vous avez reçu a commander votre PCB ? marche t-il votre réalisation ? si puis je l'avoir s'il vous plait ? la photo et/ou les fichiers gerber ?

      Supprimer
  5. Bonjour Henri, j'ai réalisé le projet sur circuit à pastilles, il fonctionne très bien, cependant, comme il est prévu de mettre une sonde capacitive permettant d'interrompre ou d'annuler l'arrosage, avez-vous complété ce projet avec cette possibilité ?
    Dans le programme, l'adresse A3 est prévue pour piloter la sonde, et sur le schéma kicad, c'est A2...
    Merci en tout cas pour votre site très ludique et très bien organisé!
    Bien cordialement, Gérard.

    RépondreSupprimer
    Réponses
    1. * #define HUMIDITY_SENSOR A3 : use the humidity sensor
      Ce n'est qu'un commentaire. On peut remplacer par A2.

      Non, je n'ai pas ajouté le code pour gérer la sonde, car j'ai pas mal de plantes à l'abri d'une avancée de toiture.
      Je compte m'en occuper d'ici quelques semaines.

      Supprimer
    2. merci, ça m'intéresse et de plus ça permet de n'arroser que si il y a besoin.

      Supprimer
    3. J'ai pris le temps d'intégrer la gestion du capteur d'humidité. Comme il pleut pas mal en ce moment, cela m'a motivé.

      Supprimer
    4. Pour un capteur branché sur l'entrée analogique A2 :
      #define HUMIDITY_SENSOR 2

      Supprimer
  6. Bonjour, je viens de tester le montage avec la sonde et le nouveau programme, ça fonctionne bien. Je trouve une anomalie d'affichage sur la 4ème ligne, il y a superposition des infos ARROSAGE INTERROMPU ou ARROSAGE ARRETE avec les infos MARCHE, SEC ou HUMIDE. A quoi sert HUMIDITE MAXIMALE dans les paramètres en programmation ? Est-ce un taux d'humidité maxi souhaité de 00 à 99; quel valeur entrer ( 00 par défaut) ? cette valeur sert-elle à arrêter l'arrosage avant la fin d'un cycle en programmation quand l'arrosage devient suffisant suivant la consigne HUMIDITE MAXIMALE ? merci, cordialement.

    RépondreSupprimer
    Réponses
    1. Pour l'instant HUMIDITE MAXIMALE ne sert à rien.
      Je vais regarder ces petits problèmes d'affichage. Merci pour les remarques.

      Supprimer
    2. J'ai modifié le code pour la prise en compte de l'humidité maximale dans la configuration. Pour l'instant j'ai entré une valeur de 50%.
      La valeur mesurée est affichée en bas à droite de l'écran après l'indication SEC ou HUM.
      Les défauts d'affichage sont corrigés.

      Supprimer
  7. Félicitations pour cette réalisation ! superbe travail!

    RépondreSupprimer
  8. Bonjour, je viens de remarquer une petite anomalie que l'on voit sur la photo de l'afficheur que vous avez mis en ligne paragraphe 10 photos; sur la première ligne qui affiche la date et l'heure, il manque le 1er caractère des dizaines de jours du mois (8 à la place de 18); par contre la date est bien complète quand il y a l'affichage indiquant FERMETURE VANNE.

    RépondreSupprimer
    Réponses
    1. Oui, effectivement.
      Dans sprinkle-timer.ino :
      sprintf(buf, "%02d%% ", humidity);
      L'espace après "%02d%%" doit être de trop.
      Je corrige aussitôt que possible.

      Supprimer
  9. bonjour,
    merci pour ce projet. Cependant peut on remplacer la vanne par une pompe qui sera directement relier au Relay. et quelle partie du code faudra changé . pour plus d'information voici mon mail:bamagassa1190@gmail.com

    RépondreSupprimer
    Réponses
    1. Un relais est un relais. Qu'il commande une vanne ou une pompe ne change rien. Il n'a aucune modification de code à faire.
      Il faut simplement adopter un relais capable de commander la pompe en question (tension et courant).
      Le problème avec une pompe est que le risque d'éjection de goutteurs est important si la pression en sortie est forte, supérieure à 2 ou 3 bars.
      Personnellement, j'adopterais plutôt une pompe du type surpresseur.

      Supprimer
    2. Merci pour tous ces informations. J'ai commandé le pcb sur JLB. J'ai eu un petit souci au début "board outline" mais j'ai finalement réussi à corriger l'erreur et commandé le pcb. Je dois le recevoir mi Decembre. Merci une fois de plus pour ce projet.

      Supprimer