[CONSEIL] Arrosage autonome

Bonjour , vu que j ’ ai du temps devant moi a cause de la conjoncture actuelle , je me met a preparer le terrain et mon arrosage chez moi .

j ’ ai 6 points differents a arroser a intervalle differents , en fonction de l’ humidité du sol , de l ’ heure et des jours de la semaine .

les arbres, les arbres fuitiers , les haies , le jardin , le potager , et les bordures de la terrasse .

Actuellement j ’ ai un arduino MEGA2506 avec shield Ethernet et 3 * 8 relais qui controlle mes volets roulants a la demande .
j ’ ai un RTC qui traine et un detecteur d’ humidité et de pluie , faut juste que je leur mettent la main dessus :slight_smile:
une carte de 8 relais reste dispo .

Je comptais donc reutiliser le tout si c ’ est possible bien sur pour automatiser mon arrosage .

1°) Hors mis les Electro-Vannes qu ’ il faut que je me procure en 24 V , et la tuyauterie a mettre en place avec un regard , selon vous de quoi d’ autre j ’ aurais besoin ?

2°) Au niveau du code , je pense que pour la mise en place des capteurs ca devrait aller , mais j ’ ai un probleme pour la maitrise de la machine a etat :o

je me suis inspiré du tuto de J-M-L ici : https://forum.arduino.cc/index.php?topic=470879.0 , mais j ’ ai du mal a mettre en pratique les declenchements des arrosages en fonction de l ’ heure du jour , de l ’ humidité du sol , de la pluie et des jours de la semaine .

je ne pense pas utiliser de boutons , mais on ne sait jamais dans le doute j ’ ai laisser les fonctions en l ’ etat .

faut il faire une double machine etat ou juste ajouter un enum pour ces conditions la ?

pour les timeout faut il en faire un par zone ?
( je met l ’ ebauche de code en PJ )

3°) Au niveau electrique je pense que ca devrait le faire .

Merci par avance pour votre aide , suggestion et conseils avisés !

machine etat arrosage temperature humidité.ino (6.6 KB)

Regarde ici :

arduino-micro-irrigation-automatisee

Il y a d'autre projets d'arrosage dans "Projets Finis".

Salut et merci pour le lien , ca donne des idees pour commencer bien qu ' il y ait certaines différences avec mon projet .

j ' ai deja regardé dans les projets fini pour arrosage , il y en a plein , mais tous sont quand meme bien differents , pas facile de s' y retrouver et il y en a beaucoup .

Pour la gestion des commandes , je pensais ajouter des boutons virtuels en HTML que je pourrai gerer manuellement avec mon telephone par l ' intermediare du wifi vu que j' ai deja ca en place chez moi : https://forum.arduino.cc/index.php?topic=493039.0 .

Je voudrais juste devellopper le code de l ' arrosage et le mettre en place separement avant de l ' integrer au codes de gestion des volets dans une section specifique .

les EV seront en 24 V AC ou DC , selon le transfo que je pourrais recuperer ( j ' en ai plein sous la main ) , le coté plomberie et electricité n ' est pas vraiment un soucis dans mon cas , etant pro la dedans .

je n' utiliserais pas de vanne motorisée , mais un reducteur de pression ( j ' en ai plein sous la main aussi ) pour la partie goutte a goutte .

le probleme est plutot dans le code a proprement parler , pour les fonctions a mettre en place avec les interactions des releves des capteurs .

ce que je voudrais que le code fasse :

tous les soirs a 21 heures par exemple , un relevé des capteurs ( pluie , humidité du sol ) .
ensuite , si il ne pleut pas et que le sol est sec ( donc qu ' il n ' a pas plu avant ) , je lance l ' arrosage de la zone concernée pendant un temps donné en fonction du taux de l ' humidité du sol plus ou moins long et selon la zone , en fonction des jours de la semaine en plus .

Par exemple les arbres et les arbres frutiers ne seront arrosés que 2 fois dans la semaine et pas le meme soir , car il faut plus de debit pour chaque et les 2 en meme temps , ca ne le fera pas .

comment integré ces 3 " facteurs " dans la machine etats ?

PS : je ne sais pas programmer en C , comme ca l' est dans votre projet d ' arrosage , et je pense faire quelquechose de plus basique que vous , pas de vanne motorisée , pas de capteur de debit , une gestion par serveur uniquement , les EV que j' utilise ont une commande manuelle quart de tour incorporé.

Modifier un programme pour utiliser une vanne simple à la place d'une vanne motorisée n'est pas très complexe. Il y a un relais au lieu de deux:

Vanne motorisée :

  • ouverture
  • activer relais 1
  • attendre X secondes
  • désactiver relais 1
  • fermeture
  • activer relais 2
  • attendre X secondes
  • désactiver relais 2

Vanne simple :

  • ouverture
  • activer relais
  • fermeture
  • désactiver relais

Désactiver le lecture du capteur de débit idem.

La seule difficulté est que ce projet ne commande qu'une vanne.

Sans savoir programmer en C, cela va être difficile.
Trouver un projet qui correspond exactement à ce que l'on veut : mission impossible.

Si de plus le projet volets roulants a été écrit par quelqu'un d'autre, et qu'il faut comprendre le code sans connaissances, il sera probablement très compliqué de le modifier.

Je ne vois pas d'issue a part commencer sur de bonnes bases, un tutoriel C / C++ : https://eskimon.fr/

le code de base a ete ecrit par J-M-L dans un de ces tutos celui de serveur reseau me semble - t-il , mais c ' est moi qui ai fait toutes les modifs pour arriver a mes fins .

ca marche plutot bien et apres avoir demandé a J-M-L , il m ' a demandé de poster dans les projets finis ma gestion des volets roulants , ce que j ' ai fait .

Disons qu ' a mon niveau je suis capable de faire des modifs , d' ameliorer et de maintenir le code deja en place pour mes volets , et d' y integrer le projet d' arrosage sans probleme une fois qu ' il sera fini , mais je ne connais pas le C .

par contre je sais coder en PHP , HTML CSS javascipt etc avec des connaissances de base , je ne suis pas un expert non plus .

je suis en train d' integrer la gestion des capteurs dans le code que j ' ai poste en post 1 .

Comme je l' ai dis dans mon post precedent , la principale difficulté que je rencontre au niveau du code , c ' est de gerer les valeurs retournés par les capteurs , l ' heure et les jours de la semaine dans la machine etat de façon propre .

afin de gerer l ' heure , et les jours de la semaine , vu que je n ' ai pas internet permanent chez moi , il vaut mieux utilisez un RTC , ou faire un NTP suffit a se maintenir en place plusieurs jours meme si je connecte pas mon smartphone en tant que modem par exemple lorsque je pars en vacances ?

En fait, j'ai vérifié : mon projet permet l'utilisation d'une vanne simple (configuration en IHM), et permet également de se passer de capteur de débit (option de compilation).
Comme ce n'était pas précisé, j'ai ajouté deux commentaires dans l'article.

Il y a une entrée pour un capteur d'humidité. Non implémenté dans le code pour l'instant.
Pas de capteur de pluie.

Un arrosage programmable par zone ne m'a pas paru intéressant, car je ne vois pas l'intérêt d'arroser des zones différentes à des heures différentes.

Je ne vois pas non plus l'intérêt d'arroser à des heures différentes pour chaque jour de la semaine.

Je ne vois pas non plus l'intérêt d'arroser des arbres, à moins qu'ils aient été plantés très récemment, auquel cas ils sont jeunes et peuvent être arrosés un petit peu tous les jours comme le reste.

J'ai un serveur domotique chez moi mais je n'ai même pas envisagé de lui faire gérer l'arrosage, par smartphone encore moins. J'ai choisi une solution à écran LCD + clavier.

Je pense que lorsque l'on attaque un projet, quel qu’il soit, il faut savoir ne pas voir trop grand, surtout si l'on n'a pas les connaissances.

Bon courage.

hbachetti:
Un arrosage programmable par zone ne m'a pas paru intéressant, car je ne vois pas l'intérêt d'arroser des zones différentes à des heures différentes.

j ' ai 6500 metre carré de terrain , bien obligé de passer par des zones differentes et des heures differentes afin de garder une pression minimale dans la tuyauterie , ma pompe ne peut delivrer que 3 metres cube / heure .

hbachetti:
Je ne vois pas non plus l'intérêt d'arroser des arbres, à moins qu'ils aient été plantés très récemment, auquel cas ils sont jeunes et peuvent être arrosés un petit peu tous les jours comme le reste.

les arbres et haies sont effectivement tout juste planté ( novembre ) , il n ' est pas bon de garder une humidité permanente .
pour des arbres , il faut arroser abondamment et beaucoup moins souvent que des plantes afin qu ' il n ' attrape pas de maladies .

hbachetti:
Je ne vois pas non plus l'intérêt d'arroser à des heures différentes pour chaque jour de la semaine.

je ne vais pas arroser a des heures differentes dans la meme journée une meme zone , c ' est plus pour gerer la pression de la pompe lorsque je vais arroser le soir afin de rester dans les heures creuses et de conserver une pression convenable en fonction de la zone ( et son type d' arrosage ) dans le reseau hydraulique .

merci pour tes encouragments

Je ne sais quoi te répondre. Toi seul es à même d'établir ton cahier des charges, selon tes opinions et tes besoins.

Mon propre système correspond à une partie de ce que tu veux, d'autres projets contiendront d'autres parties intéressantes pour ton cas.
Il faut simplement prendre le projet qui colle au plus près et ajouter les morceaux qui manquent.

Le projet fini qui colle à 100% à ton cahier des charges est simplement introuvable.

Salut , en aucun cas je cherche un projet tout pret .

je demande juste une info principale sur le code , dans presque tous les posts precedents .

comment gerer les valeurs de retour des capteurs , horaires , journaliers proprement façon machine etat .

je suis capable de le faire de façon simple avec des conditions du style :

si l ' heure est bien 22 heures alors je lance la recup des infos des capteurs .

si le capteur de pluie , m ' indique qu ' il ne pleut pas alors je verifie que l ' humidite du sol est faible .
si c ' est lundi , mercredi ou vendredi alors je lance l ' arrosage des bordures etc ...

Pourquoi une machine à états apporterait-elle plus de propreté ?

je suis capable de le faire de façon simple avec des conditions du style :
si l ' heure est bien 22 heures alors je lance la recup des infos des capteurs .
si le capteur de pluie , m '  indique qu ' il ne pleut pas alors je verifie que l ' humidite du sol est faible .
si c ' est lundi , mercredi ou vendredi alors je lance l ' arrosage des bordures etc ...

C'est probablement ce qu'il faut faire.
Et c'est ce que je ferais.

pour chaque période d'arrosage :
si jour de la semaine correspond :
si heure courante == heure début
arroser zone
si heure courante == heure début + durée
terminer arrosage zone

Je ne vois pas ce qu'apporterait une machine à états à part déterminer s'il y a un arrosage en cours ou pas.
L'état des relais fournit cette information très facilement.

Salut Henry ,

j ’ ai fini les commandes manuelles et l ’ implementation du cpateur d’ humidité et de pluie dans le serveur arduino , le tout fonctionne les relais pour les volet et l’ arrosage , j ’ ai bien sur modifié quelques bricoles dans le code du serveur volets de base en plus .

je n’ arrive plus a mettre la main sur mon module RTC :o

je continue a fouiller partout .