Compteur d'eau pour 5€ avec RFXcom YF-S201b et Arduino pour 5€

forum dédié au Rfxcom et à ses périphériques. Merci de ne pas poster de questions ici concernant les RFLINK, utilisez le forum spécifique pour cela
Répondre
lebsana
Messages : 17
Enregistré le : 22 mars 2016, 15:58

Compteur d'eau pour 5€ avec RFXcom YF-S201b et Arduino pour 5€

Message par lebsana » 22 juil. 2018, 11:25

Bonjour à tous,

Je ne suis pas un pro de la programmation et je souhaiterai avoir de l'aide.
Je vous explique mon projet il faut
une carte Arduino (Uno et Nano);
Un capteur de débit d'eau YF-S201B (3,00€)
Capteur debit d'eau.JPG
Capteur debit d'eau.JPG (34.12 Kio) Vu 940 fois
Un emetteur RFX 433Mhz
Emetteur 433mhz.JPG
Emetteur 433mhz.JPG (13.23 Kio) Vu 940 fois

Ce que je souhaite réaliser c'est un compteur d'eau qui communique à distance en 433mhz avec Domoticz monté sur Raspbery et un module USB RFXCOM.
J'ai récupéré le sketch ci-dessous qui permet de créer l'interface entre le compteur et l'Arduino,
https://www.instructables.com/id/How-to ... -Tutorial/
cela fonctionne bien, j'ai une remonté de l'info dans la console IDE :
Info console IDE.JPG
Info console IDE.JPG (30.41 Kio) Vu 940 fois
Le "top" maintenant serait de réaliser un transfert de l'info via 433mhz et d'avoir un compteur incrémentiel dans Domoticz.
Le fin du fin dans mon projet et de gérer :
- la consommation d'eau
- la mise en marche forcée du chauffe-eau selon un volume d'eau chaude consommé en journée et ne pas le mettre systématiquement sous tension en HP ou à contrario se retrouver sans eau chaude le soir après 4 douches dans la journée.
Il est vrai que je pourrai en acheter un plus gros mais dans l'absolue cela revient à :
- acheter un nouveau chauffe-eau alors que celui que j'ai fonctionne très bien (c'est un 200l).
- chauffer plus d'eau alors que le problème d'avoir de l'eau froide n'est pas récurant
- In fine plus de conso électrique.

La domotisation permet justement d’optimiser tout cela !

Je pense que c'est réalisable, j'ai déjà suivi plusieurs tuto se ce magnifique forum d'Easydomoticz et réalisé plusieurs montages ' Teleinfo EDF Sonde T°' avec l'aide de Vl1driver, de Snip et d'autres membres.
Mon manque de connaissance dans la réalisation de sketch m'oblige à demander de l'aide.

Si il vous est possible de m'aider cela serait bien sympa et un petit projet à 5€ comme celui-ci peut intéresser du monde.

Merci d'avance pour votre aide. :D :D :D :D

Lebsana.
Modifié en dernier par lebsana le 26 juil. 2018, 19:11, modifié 1 fois.
Des débuts en domotique avec une Zipabox "une vraie catastrophe !!!" Depuis début mars 2016 avec Domoticz "du bonheur" Zwave et rfxcom 433 mhz.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


higgins91
Messages : 292
Enregistré le : 17 nov. 2016, 11:06

Re: Compteur d'eau pour 5€ avec RFXcom YS-201b et Arduino pour 5€

Message par higgins91 » 23 juil. 2018, 09:00

lebsana a écrit : - la consommation d'eau
- la mise en marche forcée du chauffe-eau selon un volume d'eau chaude consommé en journée et ne pas le mettre systématiquement sous tension en HP ou à contrario se retrouver sans eau chaude le soir après 4 douches dans la journée.
Salut,
alors pour commencer, le truc en photo est un capteur de débit, il va te "ça coule doucement" ou "ça coule vite". Rien à voir avec un compteur volumétrique qui te dire "il y a 8litres de consommé"
Pour maitriser et suivre sa consommation c'est pas le top.
Ensuite tu parles de HP donc heures pleines, c'est que tu as des heures creuses ? Donc pourquoi domotiser ton chauffe eau si tu as ton compteur electrique qui chauffe déjà la nuit !
Si c'est dans le cas du "mince y'a plus d'eau froide" alors il vaut mieux partir sur un capteur de température en sortie de ballon qui te fait un retour d'info sur la température d'eau ou essayer de récupérer carrément la sonde interne ?

Sans compter que 200litre d'eau chaude c'est, par exemple, 8 douches l'été et 3 douches l'hiver (l'été l'eau froide est plus chaude que l'hiver et on prend plus facilement des douches moins chaude que l'hiver) donc cela implique un calcul de consommation basé sur les saisons et la température ressentie...

lebsana
Messages : 17
Enregistré le : 22 mars 2016, 15:58

Re: Compteur d'eau pour 5€ avec RFXcom YF-S201b et Arduino pour 5€

Message par lebsana » 26 juil. 2018, 19:30

Merci higgins91 pour ta participation à la discussion.

Pour moi qui ne suis pas un expert, quangd je teste le YF-S201b brancher sur l'arduino il me remonte bien une qté càd des mml, c'est d’ailleurs l'information dans la console qui est complétée par une information de débit instantanée en l/mn.
Info console IDE.JPG
Info console IDE.JPG (30.41 Kio) Vu 838 fois
Ensuite ce projet peut trouver d'autres applications comme la gestion du volume d'eau pour l'arrosage du jardin.
Là tu vas peut être m'expliquer qu'il suffit de prendre un seau d'ouvrir le robinet pendant 10 seconde et après mesurer la qté d'eau.
Sauf que tout ça c'est plus compliqué car le débit à vide ou le débit en sorti d'un système d'irrigation peuvent varier.

Bref on ne va pas polémiquer, je demande tout simplement si quelqu'un avait la gentillesse de se pencher sur le problème et voir s'il était possible de réaliser un Sketch pour remonter l'information en 433mhz.
Voici le sketch de base qui remonte les qté dans la console IDE de l'Arduino :

Code : Tout sélectionner

/*
Liquid flow rate sensor -DIYhacking.com Arvind Sanjeev

Measure the liquid/water flow rate using this code. 
Connect Vcc and Gnd of sensor to arduino, and the 
signal line to arduino digital pin 2.
 
 */

byte statusLed    = 13;

byte sensorInterrupt = 0;  // 0 = digital pin 2
byte sensorPin       = 2;

// The hall-effect flow sensor outputs approximately 4.5 pulses per second per
// litre/minute of flow.
float calibrationFactor = 4.5;

volatile byte pulseCount;  

float flowRate;
unsigned int flowMilliLitres;
unsigned long totalMilliLitres;

unsigned long oldTime;

void setup()
{
  
  // Initialize a serial connection for reporting values to the host
  Serial.begin(9600);
   
  // Set up the status LED line as an output
  pinMode(statusLed, OUTPUT);
  digitalWrite(statusLed, HIGH);  // We have an active-low LED attached
  
  pinMode(sensorPin, INPUT);
  digitalWrite(sensorPin, HIGH);

  pulseCount        = 0;
  flowRate          = 0.0;
  flowMilliLitres   = 0;
  totalMilliLitres  = 0;
  oldTime           = 0;

  // The Hall-effect sensor is connected to pin 2 which uses interrupt 0.
  // Configured to trigger on a FALLING state change (transition from HIGH
  // state to LOW state)
  attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
}

/**
 * Main program loop
 */
void loop()
{
   
   if((millis() - oldTime) > 1000)    // Only process counters once per second
  { 
    // Disable the interrupt while calculating flow rate and sending the value to
    // the host
    detachInterrupt(sensorInterrupt);
        
    // Because this loop may not complete in exactly 1 second intervals we calculate
    // the number of milliseconds that have passed since the last execution and use
    // that to scale the output. We also apply the calibrationFactor to scale the output
    // based on the number of pulses per second per units of measure (litres/minute in
    // this case) coming from the sensor.
    flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / calibrationFactor;
    
    // Note the time this processing pass was executed. Note that because we've
    // disabled interrupts the millis() function won't actually be incrementing right
    // at this point, but it will still return the value it was set to just before
    // interrupts went away.
    oldTime = millis();
    
    // Divide the flow rate in litres/minute by 60 to determine how many litres have
    // passed through the sensor in this 1 second interval, then multiply by 1000 to
    // convert to millilitres.
    flowMilliLitres = (flowRate / 60) * 1000;
    
    // Add the millilitres passed in this second to the cumulative total
    totalMilliLitres += flowMilliLitres;
      
    unsigned int frac;
    
    // Print the flow rate for this second in litres / minute
    Serial.print("Flow rate: ");
    Serial.print(int(flowRate));  // Print the integer part of the variable
    Serial.print("L/min");
    Serial.print("\t");       // Print tab space

    // Print the cumulative total of litres flowed since starting
    Serial.print("Output Liquid Quantity: ");        
    Serial.print(totalMilliLitres);
    Serial.println("mL"); 
    Serial.print("\t");       // Print tab space
  Serial.print(totalMilliLitres/1000);
  Serial.print("L");
    

    // Reset the pulse counter so we can start incrementing again
    pulseCount = 0;
    
    // Enable the interrupt again now that we've finished sending output
    attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
  }
}

/*
Insterrupt Service Routine
 */
void pulseCounter()
{
  // Increment the pulse counter
  pulseCount++;
}
Bonne continuation à tous, il fait chaud, il fait chaud, il fait chaud...
Des débuts en domotique avec une Zipabox "une vraie catastrophe !!!" Depuis début mars 2016 avec Domoticz "du bonheur" Zwave et rfxcom 433 mhz.

Lamusicadomi
Messages : 104
Enregistré le : 22 avr. 2017, 11:01

Re: Compteur d'eau pour 5€ avec RFXcom YF-S201b et Arduino pour 5€

Message par Lamusicadomi » 29 oct. 2018, 21:59

Bonjour à tous,

Je me permets de venir dans ce sujet car je suis aussi interessé de savoir comment envoyer des infos d'un arduino nano vers Domoticz via un RF433.
Je cherche à domotiser ma production photovoltaïque de mon compteur via un capteur optique.
La partie capteur optique et comptage est OK, il me reste l'envoi via le RF433.
Le code pour le lecteur Eau sera un très bon modèle pour la suite de mon étude.
A bientôt !

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre