Domogarden: Gestion de piscine et arrosage intégré

En fait, je parle de "trop vite" dans le sens ou tu as voulu modifier les pages du nexion et le code en supprimant tout ce qui ne t’intéressait pas d'un coup.

J'aurais plutôt avancé par étape pour être plus efficace :

  • je supprime la partie arrosage (suppression ou mieux avec un #ifndef DESACTIVE_ARROSAGE)

  • je compile et corrige les erreurs

  • je supprime la partie chlore (suppression ou mieux avec un #ifndef DESACTIVE_REDOX)

  • je compile et corrige les erreurs

et enfin : je modifie les pages du nexion

Pour coder, j'utilise VisualStudio (+ plugin Visual Micro (+ Visual Assist))
(Visual Studio 2017, pas Visual Studio Code)
Il a des raccourcis pas mal pour trouver les accolades ouvrantes/fermantes, etc...

Encore une étape mais la je bloque avec message:
Compiling 'domo_maison1' for 'ATmega2560 (Mega 2560) (Arduino/Genuino Mega)'

page_0.ino: In function void ethernet()

page_0.ino: 7:1: error: a function-definition is not allowed here before '{' token

page_0.ino: 28:1: error: a function-definition is not allowed here before '{' token

page_0.ino: 87:1: error: a function-definition is not allowed here before '{' token

page_0.ino: 102:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 5:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 11:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 17:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 23:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 28:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 40:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 45:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 50:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 55:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 61:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 67:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 72:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 77:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 83:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 90:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 101:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 106:1: error: a function-definition is not allowed here before '{' token
Error compiling project sources
Build failed for project 'domo_maison1'

page_1.ino: 111:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 116:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 121:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 126:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 131:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 143:1: error: a function-definition is not allowed here before '{' token

page_1.ino: 351:1: error: a function-definition is not allowed here before '{' token

page_2.ino: 5:1: error: a function-definition is not allowed here before '{' token

page_2.ino: 13:1: error: a function-definition is not allowed here before '{' token

page_2.ino: 21:1: error: a function-definition is not allowed here before '{' token

page_2.ino: 35:1: error: a function-definition is not allowed here before '{' token

page_2.ino: 50:1: error: a function-definition is not allowed here before '{' token

page_3.ino: 5:1: error: a function-definition is not allowed here before '{' token

page_3.ino: 17:1: error: a function-definition is not allowed here before '{' token

page_3.ino: 38:1: error: a function-definition is not allowed here before '{' token

page_3.ino: 48:1: error: a function-definition is not allowed here before '{' token

page_3.ino: 75:1: error: a function-definition is not allowed here before '{' token

page_3.ino: 97:1: error: a function-definition is not allowed here before '{' token

page_4.ino: 5:1: error: a function-definition is not allowed here before '{' token

page_4.ino: 26:1: error: a function-definition is not allowed here before '{' token

page_4.ino: 33:1: error: a function-definition is not allowed here before '{' token

page_4.ino: 41:1: error: a function-definition is not allowed here before '{' token

page_4.ino: 49:1: error: a function-definition is not allowed here before '{' token

permanent.ino: 20:18: error: a function-definition is not allowed here before '{' token
void temp_sytem(){

permanent.ino: 40:14: error: a function-definition is not allowed here before '{' token
void SDCard(){

permanent.ino: 68:20: error: a function-definition is not allowed here before '{' token
void injection_ph(){

permanent.ino: 145:1: error: expected '}' at end of input

permanent.ino: 145:1: error: expected '}' at end of input

permanent.ino: 145:1: error: expected '}' at end of input

Voici les fichiers recalcitrants (attention gros zip complet avec librairies)
Merci de ta patiente avec un debutant.

https://1drv.ms/u/s!AlnUmk8GSOMFh1-Fdq4Esp12XgKE?e=94loug

Rappel de la démarche :

  • virer tous les fichiers .ino autre que le fichier principale dans un autre répertoire
  • mettre en commentaire la partie declaration des callback du nexion dans setup() et mettre en commentaire les fonction des autres fichiers (ethernet, SDCard(), etc...)
  • compiler
  • remettre ensuite un fichier du style permanent.ino et compiler/corriger, etc...

au final, il y a pelin de corrections à faire :

permanent.ino :

ethernet.ino :

  • ethernet()

il manque 3 accolades fermante en dessous du commentaire
///////////////////////// Arrosage Intégré /////////////////////////
=> c'est ce qui pose le plus de soucis au compilateur

page_0.ino :

  • P0_t22 pas déclaré

page_1.ino

  • plein de truc pas déclaré, a nettoyer :
    int SetPhRedoxUp;
    int seuil_redox;
    int delta_redox;
    int addr_delta_redox;
    int addr_eeprom_redox;
    int addr_seuil_redox;
    int etalon_redox;
    float redox_value_float;
    int SetPhRedoxType;

page_3.ino
il y a 2 fois la fonction P3_b1PopCallback()

et normalement, ça doit compiler

J'hésite a continuer les explications sur le thread : on passe en PM ?
J'ai peur que l'on pollue celui-ci avec des soucis de compilation qui n'ont pas de rapport direct avec le projet.

Ok merci pour ton aide.
J'ai l'impression que nous sommes un peu seul sur ce forum. Je crois que je vais laisser tomber et passer a autre chose de toute façon la saison piscine est terminée pour cette année.

Bonjour, magnifique projet!
Merci Tariflette!
Je suis actuellement en train de me faire une gestion de temps de filtration via Arduino et Sonde Dallas.
Je commençais à regarder du côté des régulateurs pH et je suis tombé sur ce projet.
Je vais donc éplucher et nettoyer ce code en fonction de mes besoins.
Deux questions pour commencer:

  • comment vieillit ta sonde pH?
  • as-tu un lien pour la pompe doseuse?

Bonjour,

La pompe doseuse avait été achetée en ligne sur un site de piscine.
Tu peux la trouver aux alentours de 150€, chez eau2.fr par exemple

La sonde PH a l'air d'avoir une bonne durée de vie, mais vu le prix sur aliexpress, je n'hésite pas à la changer régulièrement. Elles tiennent facilement 2 ans.
mais à prendre en compte:

  • j'utilise une chambre d'analyse
  • je retire les sondes lors de mon hivernage actif

tartiflette:
Bonjour,

La pompe doseuse avait été achetée en ligne sur un site de piscine.
Tu peux la trouver aux alentours de 150€, chez eau2.fr par exemple

La sonde PH a l'air d'avoir une bonne durée de vie, mais vu le prix sur aliexpress, je n'hésite pas à la changer régulièrement. Elles tiennent facilement 2 ans.
mais à prendre en compte:

  • j'utilise une chambre d'analyse
  • je retire les sondes lors de mon hivernage actif

Merci pour ces précisions.
Quel est l'interêt de la chambre d'analyse? Quand je regarde les régulateurs pH du commerce, ils n'ont pas l'air d'en être équipé?
Est-ce indispensable?

pas indispensable non. Mais à priori, ça augmente la stabilité des mesures et la longévité des sondes.
Les régulateurs hauts de gamme (comme le Hayward Aquarite pro en possède une)

repris d'un site:
Sonde dans une cellule ou chambre d’analyse : il vaut mieux privilégier ce type de sonde à une sonde placée à même le circuit d’eau. Plus précis dans l’analyse pH, moins d’usure par frottements ou risque de coups (déchets dans le circuit de filtration), évite que la sonde soit à l’air libre si la pompe de filtration se désamorce.

Bonjour à tous,

Tout d'abord je suis admiratif pour ce travail.

Je débute dans arduino, j'ai découvert cet outil récemment à mon travail et ça fait germer pas mal d'idée pour automatiser ma maison.

Revenons à Domogarden.
J'ai pas lu étudier le code afin d'en comprendre les principes de base. Maintenant j'aimerai passer à la partie hardware et commander le nécessaire.
Que pensez vous des sites comme aliexpress. Les composants y sont vraiment abordable mais qu'en est il de la qualité.

Arduino Mega 2560
Carte de relayage
RTC
Shield Ethernet
LCD Nextion 3.5"

En ce qui concerne la pompe doseuse SEKO PR4, est ce que cet équivalent plus abordable est envisageable ?

Pompe doseuse

Merci

Bonjour et bienvenu

Pour le matos électronique, je dirais que tout ce petit matériel se vaut.

Donc tu peux commander sur AliExpress, amazone, Banggood ou eBay, il y a de forte chance que ce soit sensiblement le même matos. La qualité est assez similaire, je ne suis jamais tombé sur un produit défectueux pour l'instant.

Pour les pompes doseurs, je ne sais pas trop.
Je dirais qu'il faut vérifier :

  • comment ça se branche (CC, PVM, via une interface moteur spécifique)
  • le débit et comment le réguler (il y a une grande inertie sur les piscines donc les injections doivent être contrôlées. Il faut une limite a la quantité injecté (selon le temps) pour éviter de, par exemple, vider le bidon d'acide en 1h a cause d'une sonde défectueuse par exemple )
  • si elles sont compatibles avec du chlore liquide et de l'acide.

Mais a priori, pas de raison que ça ne fonctionne pas

Quelques petit truc sur AliExpress :

Il faut faire attention a prix mais aussi au frais de port
Tu vas tomber sur des Arduino a 10€ avec Fdp gratuit et des Arduino a 5 € avec 5€ de fdp
C'est un moyen pour les vendeurs de brouiller les pistes et éviter les comparaisons.

Banggood est un peu plus réglo la dessus mais il y a moins de choix.
Par contre, il y a :

  • des remises a partir de 3 pièces
  • possibilité de faire des commandes "groupé" pour avoir des ristournes
  • le système de points qui permet de faire quelques réductions

Enfin: sur les achats en Chine en général : ne pas prendre de livraisons rapides (DHL ou UPS) sur des gros achats (>75€) sinon, il y a un fort risque de payer des frais de douane.

D'ailleurs, si ils y en as qui ont des bons plans...

Bonjour!

J'ai commencé à m'amuser avec Arduino récemment et ce super projet m'inspire, surtout avec le printemps qui s'annonce!

À propos de la chambre d'analyse, je ne semble être en mesure de trouver ce produit en Amérique, comme si ce genre d'item était très rare ou je n'utilise pas les bons termes de recherche.

Et puis, je me suis demandé pourquoi elle ne pouvait pas être construite en mode DIY, à l'image du reste du projet.

Est-ce envisageable?

Merci!

Un lien qui peut t’intéresser:

https://paulo-77.skyrock.com/3115984477-Fabrication-d-une-chambre-d-analyse-pour-regulateur-de-PH.html

bonjour à tous,

Félicitation pour votre projet !!!

J'ai actuellement tous acheter et reçu le matos, je bosse dans les piscines et je m'en construis une à la maison et je voulais réaliser ma régulation chlore et PH moi même et je suis tomber sur votre projet.

débutant dans le arduino, je n'est pas de soucis dans la réalisation des câblages mais je but sur la programmation, j'ai récupéré votre projet mais je voudrais savoir le programmé moi même afin d’être capable de réaliser ce que je souhaite .

question, faut il créer plusieurs sketch ou tous dois être sur un seul ?

auriez vous quelques conseil pour bien débuter de façon ludique.

je suis parvenu a faire quelques prog de base : faire fonctionner un relais , une led ...
mais pour tous ce qui dois utiliser une librairie comme l’écran NEXTION, Shield ethernet je penne.

ce que je souhaiterai:
lire le chlore et le PH et actionné des pompe doseuse selon des consignes indiquées .
marche arret pompe.
marche arret électrovanne appoint d'eau
marche arret PAC
marche arret SUBAQUATIQUE
marche arret pompe nage contre courant
lecture temperature de l'eau en entrée et sortie de PAC
variation sur variateur de la pompe en 0-10V
lecture capteur de pression de filtre

pour le câblage commande puissance etc pas de soucis, c'est la prog je sais pas ou commencer

merci d'avance.

question, faut il créer plusieurs sketch ou tous dois être sur un seul ?

Tout dépend de la taille du sketch.
On peut commencer avec un seul et découper ensuite.

[auriez vous quelques conseil pour bien débuter de façon ludique.](http://auriez vous quelques conseil pour bien débuter de façon ludique.)

Un tuto :
https://eskimon.fr/
Mais ce n'est pas le seul.
Il y a aussi des tutos Nextion.

merci de ta réponse je vais essayer d'appliquer des tutos avec votre liens .

J'ai commencé a nommer les éléments , j'ai ensuite téléverser cela et mes relais sont tous alimentés, alors que au dbut j'ai demandé que le 34 en Haut et il était éteint et la en LOW il est allumé :slight_smile:

void setup(){
Serial.begin (9600);

//-----SORTIE RELAIS

pinMode ( 30, OUTPUT ); //POMPE PH
pinMode ( 32, OUTPUT ); //POMPE CHLORE
pinMode ( 34, OUTPUT ); //POMPE PISCINE
pinMode ( 36, OUTPUT ); //POMPE NAGE CONTRE COURANT
pinMode ( 38, OUTPUT ); //PAC
pinMode ( 40, OUTPUT ); //SUBAQUATIQUE
pinMode ( 42, OUTPUT ); //vide
pinMode ( 44, OUTPUT ); //vide

//-----ENTREE DIGITAL

pinMode ( 22, INPUT ); //CAPTEUR DEBIT

//-----ENTREE CAPTEUR

pinMode ( A0, INPUT ); //SONDE PH
pinMode ( A1, INPUT ); //SONDE CHLORE
pinMode ( A2, INPUT ); //SONDE TEMPERATURE EAU
pinMode ( A3, INPUT ); //SONDE TEMPERATURE EAU ENTREE PAC
pinMode ( A4, INPUT ); //SONDE SORTIE EAU PAC
pinMode ( A5, INPUT ); //SONDE AMBIANCE HR
pinMode ( A6, INPUT ); //CAPTEUR PRESSION EAU FILTRE

}

void loop() {
digitalWrite (34, LOW );

}

Ouille Aie Aie...
Ne surtout pas mettre la charette avant les boeufs
Avant de se lancer dans la prog a l'aveugle, il faut prendre chaque composant, etudier son cablage et son fonctionnement, le faire marcher une fois est une fois que l'on a compris, l'intégré dans le projet.

la carte relais : Celle-ci, comme la pluspart des cartes chinoises, active le relai lorsque l'on met l'entrée de commande a la masse. (donc en LOW)

les entrées analogiques : pour la température, je pense que tu vas utiliser un D18 : si c'est le cas, ce n'est pas une entrée analogue qu'il faudra mais bien une entrée numérique.

Le capteur de débit marche par interruption : il faut vérifier si la pin 22 est bien une entrée interruptible

Avancer par étape : 1 capteur à la fois
Je le sais, je suis passé par là

merci de votre réponse , c'est clair que c'est pas facile de commencer .

pour les relais oui c'est l'inverse apparemment.

pour les températures j'ai plusieurs sondes à la maison, comme par exemple une à 2 fils donc je pense de type résistive à voir si je peux les utilisés .

je voudrais déjà réussir à écrire le prog pour lire une sonde PH sur une carte PH4502 C , j'ai réaliser le câblage et réussi à lire avec un exemple, mais je voudrais savoir l’écrire moi même et après faire une prog avec des conditions d'activation d'un relais selon une consigne .
je vais me focaliser sur cela pour l'instant.

Eskimon est une bible de l'Arduino !!! il y a de quoi apprendre Merci pour le lien .

Bonjour
Merci pour ton projet qui ma beaucoup inspiré pour le mien.
J'ai une question par rapport à vos retours d'expérience.
Ma sonde ph à des oscillations de mesure quand ma pompe de filtration tourne mais le pire et ma sonde ORP qui varie énormément. Je n'es pas de chambre d'analyse ni de pool terre.
Pompe arrête les valeurs sont stable.
Jai 2 adaptateur Adaptateur pH/ORP 1130

Avez vous rencontré ces problème ? est ce que de tous relier à la terre avez résolu vos problème.

Cordialement