Gestion piscine

Bonjour à tous

Nouveau sur le forum, je me présente: quelques connaissances en eletronique et automatisme qui datent de la fac voici tous ce qui me reste ds le domaine...
Pour le reste je suis débutant .
Le projet est de faire un systeme de gestion du niveau d'eau de la piscine de la piscine. Dans un premier temps il faut déclancher une életrovanne en fonction des niveaus des capteurs. Ceux ci seront mis ds le skeemer. Ensuite j(aimerais mettre en place un compteur d'eau avec un petit écran LCD qui me donne la conso totale et hebdomadaire. Et encore ensuite, on verra plus tard....

Le 1er niveau est me semble t'il atteint.

Voici le code qui je le crains peut être encore amelioré mais cela fonctionne

/*
  GESTION DU NIVEAU D'EAU D'UNE PISCINE
 VERSION 1
 idee de fct
 
lorsque le niveau bas de la piscine est hors d'eau il faut commander le remplissage de la piscine en mettant sur marche le relais de 
l'életrovanne 
lorsque le niveau de l'eau de la piscine touche et actionne le capteur niveau haut => arr^t du relais de l'électrovanne de remplissage

 */

//DÉFINITION DES CONSTANTES

const int NiveauBas = 10;     // entrée capteur niveau bas eau
const int NiveauHaut = 11;      // entrée capteur niveau haut
const int MarcheEletrovanne = 9; // sortie commande electrovanne de remplissage

//Mise en variable de l'état des niveaux haut et bas
int etatNiveauBas = 0;
int etatNiveauHaut = 0;



void setup() {
  // initialiser le contact niveau bas comme une entree:
  pinMode(NiveauBas, INPUT);    
  // initialiser le contact niveau haut comme une entree:
  pinMode(NiveauHaut, INPUT); 
  // initialiser le relais de commande de l'eletrovanne comme sortie
  pinMode(MarcheEletrovanne, OUTPUT)  ;
  
}

void loop(){
  // Lecture de l'état du niveau bas:
  etatNiveauBas = digitalRead(NiveauBas);
  etatNiveauHaut = digitalRead(NiveauHaut);

  // si le niveau de l'eau est en dessous de bas.
  // demarrer la pmpe
              if (etatNiveauBas == LOW && etatNiveauHaut==LOW ) {     
                    // demarrer la pompe:    
                        digitalWrite(MarcheEletrovanne, HIGH);  
                  } 
  //SI LE NIVEAU DE L'EAU EST AU DESSUS DE HAUT donc du bas aussi STOPPER LA POMPE
                if (etatNiveauHaut == HIGH && etatNiveauBas==HIGH ) {     
                  // arret pompe:    
                  digitalWrite(MarcheEletrovanne, LOW);  
                    } 
    }

N'hésitez pas à me corriger si vous avez des version plus élégante pour faire.

La question est comment faire un compteur et mémoriser l'impulsion pour compter les litres d'eau qui passeront ds le compteur.

Merci

magavel:
Le 1er niveau est me semble t'il atteint.

La question est comment faire un compteur et mémoriser l'impulsion pour compter les litres d'eau qui passeront ds le compteur.

Merci

pour le code l'hysteresis est géré par les 2 contacts, c'est bon (au moins pour l'instant :grin: )

pour faire du comptage de volume, il faut déjà compter :grin:
tu a déjà installé un compteur divisionnaire reservé à ta piscine ?
si oui , reference et photo
si non :

  • acheter un compteur prevu avec une sortie exploitable = typiquement un contact/impulsion par volume de reference
    relativement cher, mais facilement interfaçable

  • hacker un compteur divisionnaire simple et lui ajouter la fonction impulsion , pas cher, pas compliqué à faire "si tu n'a pas deux mains gauches (ou 2 mains droites pour les gauchers) " 8)

Artouste:
(ou 2 mains droites pour les gauchers)

Merci :grin:

oui un compteur divisionnaire est déjà installé . Je fait la photo rapidement.

Merci

Bonjour,

Ton projet m'intéresse :slight_smile:
En effet, je suis sur le même créneau en ce moment (à l'étape de test en maquette) mais pour commander l'ouverture d'une vanne 3 voies et de la pompe vers le chauffage solaire.

Soit :

  • Capteur de luminosité
  • Capteur de température extérieure
  • Capteur de température à l'entrée des panneaux
  • Capteur de température à la sortie des panneaux
  • Capteur de température de la piscine en sortie du refoulement
  • Actionneur pour la vanne - Là je sèche un peu, surtout pour un coût raisonnable. Je me tournerais peut-être vers plusieurs électrovannes
  • Relais pour la pompe

Plus, un deuxième arduino à distance avec écran et commande de contrôle. Bon ça, c'est la deuxième étape :slight_smile:

Bon courage !

ph3nix:

  • Capteur de luminosité
  • Capteur de température extérieure
  • Capteur de température à l'entrée des panneaux
  • Capteur de température à la sortie des panneaux
  • Capteur de température de la piscine en sortie du refoulement
  • Actionneur pour la vanne - Là je sèche un peu, surtout pour un coût raisonnable. Je me tournerais peut-être vers plusieurs électrovannes
  • Relais pour la pompe

bonjour
je nesais pas si tu es encore à la phase de recherche/sourçage de capteurs
mais pour la T° , c'est l'appli typique d'utilisation de ds18B20 (sous tubage inox)
et pour le capteur de luminosité , perso depuis longtemps j'utilise de la LDR sous emballage translucide de 24X36.
(tres pratique aussi pour à l'inverse diffuser de la Led RVB 8) )

bonjour,
il a encore piqué les tuperoirs de madame :grin:

infobarquee:
bonjour,
il a encore piqué les tuperoirs de madame :grin:

C'est de toutes façons moins risqué qu'avec un micro-onde :grin: ---->[]

infobarquee:
bonjour,
il a encore piqué les tuperoirs de madame :grin:

J'vais essayer de faire pareil :stuck_out_tongue:
Un petit coup de silicone et hop !

J'ai domotisé ma piscine ils y a quelques semaines .... Mais j'ai opté pour une solution différente pour la gestion du niveau
Un seul détecteur ... Quand le niveau passe sous le détecteur et qu'il reste sous le détecteur pendant 5 minutes ... J'envoie de l'eau pendant 2 minutes (quel que soit le niveau mesuré par le capteur pendant l'injectIon)

De cette façon, j'évite les injections trop brèves, les injections sur des variations rapides du niveau (à cause des vagues) et l'arrêt de l'injection quand elle est commandée (car j'envoie l'eau fraîche dans le skimmer, du coup mon capteur est arrosé !)