Go Down

Topic: Gestion piscine (Read 4505 times) previous topic - next topic

magavel

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

Code: [Select]
/*
  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

Artouste

#1
Mar 25, 2014, 02:36 pm Last Edit: Mar 25, 2014, 02:40 pm by Artouste Reason: 1


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  :smiley-mr-green:  )

pour faire du comptage de volume, il faut déjà compter  :smiley-mr-green:
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)


68tjs


(ou 2 mains droites pour les gauchers)   

Merci  :smiley-mr-green:

magavel

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

Merci

ph3nix

Bonjour,

Ton projet m'intéresse :)
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 :)

Bon courage !

Artouste



    • 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) )

    infobarquee

    bonjour,
    il a encore piqué les tuperoirs de madame  :smiley-mr-green:
    AUCUNE AIDE PAR MP

    Artouste


    bonjour,
    il a encore piqué les tuperoirs de madame  :smiley-mr-green:

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

    ph3nix


    bonjour,
    il a encore piqué les tuperoirs de madame  :smiley-mr-green:


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

    B83s

    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é !)

    Go Up