TPE : Connaitre sa consommation d'eau lors d'une douche

Bonjour à tous,
Étant en 1s, nous devons réaliser un projet. Notre premiere idée à été de créer un objet nous permettant de connaitre notre consommation d'eau lors d'une douche (grâce à 3 led verte orange rouge ) qui se mettrait entre le robinet et le flexible. Nous avons donc penser utiliser un capteur de débit d'eau (debitmetre ? ) à effet hall qui se lancerait grace a un interrupteur start/stop et un bouton reset, et nous sommes tomber sur ce site .
J'ai donc copier / coller le programme qu'il donnait mais le programme arduino m'indique beaucoup d'erreur ( je débute dans le language arduino et je suis entrain de l'apprendre sur le blog d'Eskimon ). Pouvez vous m'aider et m'informer sur les erreurs du programme et, si possible adapter ce programme pour une utilisation d'un interrupteur start/stop et un bouton reset ?
Merci d'avance

Le programme donné sur le site :

// obtenir le débit du liquide en utilisant Seeeduino et un capteur de débit d'eau disponible 
sur Seeedstudio.com
// Code adapté par Charles Gantt à partir du code de calcul des tours par minute 
d'un ventilateur d'ordinateur écrit par Crenn @thebestcasescenario.com
// http:/themakersworkbench.com http://thebestcasescenario.com http://seeedstudio.com

volatile int NbTopsFan; //mesurer le front de montée du signal
int Calc;                               
int hallsensor = 2;    //Où placer le capteur

vide tr/min ()     //Voici la fonction que l'interruption déclenche 
{ 
  NbTopsFan++;  //Cette fonction mesure les fronts de montée et de descente du 

signal envoyé par les capteurs à effet Hall
} 
 // La méthode setup() se lance une fois, lorsque le programme démarre
void setup()//
{ 
  pinMode(hallsensor, INPUT); //initialiser la broche 2 numérique en tant qu'entrée
  Serial.begin(9600); // Voici la fonction setup (configuration) où le port série est 

initialisé,
  attachInterrupt(0, rpm, RISING); //et l'interruption attachée
} 
// la méthode loop() tourne en boucle,
// tant que l'Arduino est chargé 
void loop()    
{
  NbTopsFan = 0;   // Configurer NbTops sur 0 prêt pour les calculs
  sei();      //Activer les interruptions
  delay (1000);   //Attendre 1  seconde
  cli();      //Désactiver les interruptions
  Calc = (NbTopsFan * 60 / 7.5); //(Fréquence des impulsions x 60) / 7.5Q, = débit 

en L/h 
  Serial.print (Calc, DEC); //Imprime les chiffres calculés ci-dessus
  Serial.print(","); (" en L/h"); //Imprime "en L/h" et change de ligne
}

bonjour,
quelles erreurs ressortent?

si tu prenais le lien donné dans ton lien pour arriver sur cette page

ET lisait un peu les erreurs qui en ressortent.
tu pourrais voir que ce sont les commentaires qui sont en retour de ligne sans // qui mettent le bronx :wink:

celui ci est corrigé et compile, pourquoi se faire ch..er les neurones a modifier quelque chose en rajoutant des erreurs

    // reading liquid flow rate using Seeeduino and Water Flow Sensor from Seeedstudio.com
    // Code adapted by Charles Gantt from PC Fan RPM code written by Crenn @thebestcasescenario.com
    // http:/themakersworkbench.com http://thebestcasescenario.com http://seeedstudio.com

    volatile int NbTopsFan; //measuring the rising edges of the signal
    int Calc;                               
    int hallsensor = 2;    //The pin location of the sensor

    void rpm ()     //This is the function that the interupt calls
    {
      NbTopsFan++;  //This function measures the rising and falling edge of the

    //hall effect sensors signal
    }
    // The setup() method runs once, when the sketch starts
    void setup() //
    {
      pinMode(hallsensor, INPUT); //initializes digital pin 2 as an input
      Serial.begin(9600); //This is the setup function where the serial port is

   // initialised,
      attachInterrupt(0, rpm, RISING); //and the interrupt is attached
    }
    // the loop() method runs over and over again,
    // as long as the Arduino has power
    void loop ()   
    {
      NbTopsFan = 0;   //Set NbTops to 0 ready for calculations
      sei();      //Enables interrupts
      delay (1000);   //Wait 1 second
      cli();      //Disable interrupts
      Calc = (NbTopsFan * 60 / 7.5); //(Pulse frequency x 60) / 7.5Q, = flow rate

    //in L/hour
      Serial.print (Calc, DEC); //Prints the number calculated above
      Serial.print (" L/hour\r\n"); //Prints "L/hour" and returns a  new line
    }

Merci beaucoup infobarquee !
En effet, je n'avait pas fait attention à ce lien, et lui n'as aucune erreur :wink: .
Mais sinon, penser vous qu'un programme avec un interrupteur start/stop, un bouton reset et 3 led qui servent à connaitre notre consommation d'eau dans l'instant serait possible grâce à ce capteur de débit d'eau ?

arthurlgr:
Bonjour à tous,
Étant en 1s, nous devons réaliser un projet. Notre premiere idée à été de créer un objet nous permettant de connaitre notre consommation d'eau lors d'une douche (grâce à 3 led verte orange rouge ) qui se mettrait entre le robinet et le flexible. Nous avons donc penser utiliser un capteur de débit d'eau (debitmetre ? ) à effet hall qui se lancerait grace a un interrupteur start/stop et un bouton reset, et nous sommes tomber sur ce site .
J'ai donc copier / coller le programme qu'il donnait mais le programme arduino m'indique beaucoup d'erreur

Bonjour
c'est bien : tu annonce la couleur et tu fais des recherches
+1 avec infobarquee , les erreurs sont dues à un "mauvais formatage" , ce qui au passage n'est pas necessairement évident à comprendre pour quelqu'un qui debute.
mettre sur un site du code de qq lignes pas verifié , n'est pas ce qu'il y a de "mieux" 8)

arthurlgr:
Merci beaucoup infobarquee !
En effet, je n'avait pas fait attention à ce lien, et lui n'as aucune erreur :wink: .
Mais sinon, penser vous qu'un programme avec un interrupteur start/stop, un bouton reset et 3 led qui servent à connaitre notre consommation d'eau dans l'instant serait possible grâce à ce capteur de débit d'eau ?

l'idée en soit est tres bonne
MAIS
attention au fait que le systeme doit etre inséré dans de la zone humide (regles intrinseques de securité electrique)

Artouste:
l'idée en soit est tres bonne
MAIS
attention au fait que le systeme doit etre inséré dans de la zone humide (regles intrinseques de securité electrique)

En effet nous y pensons depuis le début. Je pense que nous nous y intéresserons plus (+) lorsque notre projet avancera. Sinon, nous alimenterons notre arduino par une pile 9v et je viens de lire sur le site du capteur de debit d'eau "15 mA" . Et d'après ce site ,15mA pourrait provoquer " contractions musculaires, seuil de non lâcher : maximum 3-4 minutes".

arthurlgr:
En effet nous y pensons depuis le début. Je pense que nous nous y intéresserons plus (+) lorsque notre projet avancera. Sinon, nous alimenterons notre arduino par une pile 9v et je viens de lire sur le site du capteur de debit d'eau "15 mA" . Et d'après ce site ,15mA pourrait provoquer " contractions musculaires, seuil de non lâcher : maximum 3-4 minutes".

C'est tres bien d'y avoir pensé depuis le debut ! 8)
Apres il faut bien savoir de quoi l'on parle : tu peux prendre sans risque une douche avec une pile de 9V dans ta main , c'est pas une situation habituelle... mais pour un test ... :grin:
fais déjà avec ton equipe ton prototype "sur paillasse" , ton concept est bon
une fois ça validé , il sera temps alors de voir comment "vous garder des électrocutions " :smiley:

Artouste:
C'est tres bien d'y avoir pensé depuis le debut ! 8)
Apres il faut bien savoir de quoi l'on parle : tu peux prendre sans risque une douche avec une pile de 9V dans ta main , c'est pas une situation habituelle... mais pour un test ... :grin:
fais déjà avec ton equipe ton prototype "sur paillasse" , ton concept est bon
une fois ça validé , il sera temps alors de voir comment "vous garder des électrocutions " :smiley:

D'accord nous essayerons :wink:
Et j'ai une dernière question :

arthurlgr:
Mais sinon, penser vous qu'un programme avec un interrupteur start/stop, un bouton reset et 3 led qui servent à connaitre notre consommation d'eau dans l'instant serait possible grâce à ce capteur de débit d'eau ?

arthurlgr:
D'accord nous essayerons :wink:
Et j'ai une dernière question :

:grin:
j'ai déjà repondu plus haut par : "ton concept est bon"
il faut aussi bien lire et comprendre les reponses 8)

Artouste:
:grin:
j'ai déjà repondu plus haut par : "ton concept est bon"
il faut aussi bien lire et comprendre les reponses 8)

Je croyais que vous parliez du concept général et non technique :wink:
En tout cas, merci beaucoup pour votre aide ! Je vous informerais des avancés du projet dans les semaines à venir :slight_smile:

arthurlgr:
Je croyais que vous parliez du concept général et non technique :wink:
En tout cas, merci beaucoup pour votre aide ! Je vous informerais des avancés du projet dans les semaines à venir :slight_smile:

avancez !, progressez ! 8)
et si vous butez sur un point "de detail"
vous trouverez toujours de l'aide ici :

sur ce forum , "on" n'aime pas les glandeurs qui espèrent avoir/obtenir du "tout fait"
mais ça ne semble pas être là le cas de ton équipe (où du moins ton cas ! )

Artouste:
avancez !, progressez ! 8)
et si vous butez sur un point "de detail"
vous trouverez toujours de l'aide ici :

sur ce forum , "on" n'aime pas les glandeurs qui espèrent avoir/obtenir du "tout fait"
mais ça ne semble pas être là le cas de ton équipe (où du moins ton cas ! )

Loin de là, et nous espérons de tout coeur finir ce projet dans les temps :wink:

arthurlgr:
Loin de là, et nous espérons de tout coeur finir ce projet dans les temps :wink:

:grin:

compte tenu des contraintes liées à l'environnement et pour la facilité d'integration mecanique :
peut etre envisager simplement UN bouton ( gestion start/stop/reset) et UNE led RVB (gestion couleur)

Question sécurité je ne pense pas que vous ferez votre oral dans la salle de bain du proviseur. :grin:

Donc comme d'habitude il faut que le plus tôt possible vous souleviez la question avec votre professeur responsable pour bien montrer que vous avez identifié le problème (il ne faudra pas oublier d'en parler dans le document final), et voir avec lui dès maintenant quelles seront les conditions requises pour l'oral

+1
mais je pense qu'il faut tenir compte de l'énoncer de votre TPE.
rien n'empêche d'avoir un montage non étanche pour l'oral, si l'énoncé est celui du topic.
la sécurité n'est pas mentionnée, mais rien n'empêche de mettre à disposition des solutions POUVANT se faire.

le but étant de connaitre la consommation et non d'avoir des normes de sécu CE iso 9874132355 :slight_smile: etc...

Artouste:
:grin:

compte tenu des contraintes liées à l'environnement et pour la facilité d'integration mecanique :
peut etre envisager simplement UN bouton ( gestion start/stop/reset) et UNE led RVB (gestion couleur)

Nous avons pensés à utiliser tout simplement un interrupteur on/off qui lancerait automatiquement le programme, et je pense que vu nos capacités en électronique, nous allons nous réorienter vers une LED RVB :wink:

Artouste:
:grin:

compte tenu des contraintes liées à l'environnement et pour la facilité d'integration mecanique :
peut etre envisager simplement UN bouton ( gestion start/stop/reset) et UNE led RVB (gestion couleur)

Une question me traquasse toujours, sur ce site : http://www.seeedstudio.com/forum/viewtopic.php?f=4&t=989&p=3632#p3632 à quoi sert la résistance sur le schéma ?

arthurlgr:
Une question me traquasse toujours, sur ce site : http://www.seeedstudio.com/forum/viewtopic.php?f=4&t=989&p=3632#p3632 à quoi sert la résistance sur le schéma ?

c'est une resistance de tirage (pull-up)
voir explications ici
avec un arduino , elle peut etre remplacée par l'instruction INPUT_PULLUP qui activera la resistance de pullup interne

La sortie doit se faire sur un collecteur ouvert. Cela permet d'avoir une tension d'alimentation quelconque (5 à 24V selon la doc) mais un signal dont le niveau électrique est compatible de la carte qui va exploiter le capteur.