domotisation cuve 1000L

Un forum dédie à vos questions concernant l'intégration à Domoticz des capteurs et gateway mysensors.org
CSONNECK
Messages : 31
Enregistré le : 21 janv. 2018, 13:56
Localisation : BEAUVAIS - Oise
Contact :

Re: domotisation cuve 1000L

Message par CSONNECK »

Bonjour

Il faut jouter la bibliothèque MySensors.

Sur le site mysensors.org tu téléchargesv depuis la rubrique "2.3.0 - Latest Release" --> Download.

Ensuite depuis l'IDE Arduino tu cliques sur "Croquis" --> Inclure une Bibliothèque --> Ajouter la blibliothèque ZIP.

Tu choisis le fichier zip que tu as téléchargé précédemment.

A+
« Le progrès ne vaut que s'il est partagé par tous. »  : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne

dd91
Messages : 101
Enregistré le : 18 nov. 2014, 13:06

Re: domotisation cuve 1000L

Message par dd91 »

j'ai deja la bibiotheque my sensors et quad le rajoute la version 2.3 ca me met ce message d'erreur la (encore pire)

Arduino : 1.6.12 (Windows 7), Carte : "Arduino Nano, ATmega328"

ATTENTION : Faux .ci dossier dans la bibliothèque 'MySensors'
ATTENTION : Faux .mystools dossier dans la bibliothèque 'MySensors'
C:\Users\Moi\Documents\Arduino\capteur_cuve\capteur_cuve.ino:13:32: fatal error: DallasTemperature.h: No such file or directory

#include <DallasTemperature.h>

^

compilation terminated.

exit status 1
Erreur de compilation pour la carte Arduino Nano

dd91
Messages : 101
Enregistré le : 18 nov. 2014, 13:06

Re: domotisation cuve 1000L

Message par dd91 »

bon j'ai réinstalle les bibliothèques depuis le logiciel arduino et ça as résolu les soucis

maintenant ça compile et ça me trouve des erreurs ( une ligne en rouge)
Capture.PNG
Capture.PNG (22.38 Kio) Vu 3608 fois

CSONNECK
Messages : 31
Enregistré le : 21 janv. 2018, 13:56
Localisation : BEAUVAIS - Oise
Contact :

Re: domotisation cuve 1000L

Message par CSONNECK »

Bonjour

Il y a une erreur

Code : Tout sélectionner

pinMode(entreesNiveauEau|i],  INPUT_PULLUP);

entreesNiveauEau est du type tableau de données

donc le i est entre crochets

entreesNiveauEau[i]
A+
« Le progrès ne vaut que s'il est partagé par tous. »  : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne

dd91
Messages : 101
Enregistré le : 18 nov. 2014, 13:06

Re: domotisation cuve 1000L

Message par dd91 »

re

impeccable cette ligne la ne pose plus de problème

maintenant il y a celle la qui pose soucis
Capture2.PNG
Capture2.PNG (10.99 Kio) Vu 3597 fois

CSONNECK
Messages : 31
Enregistré le : 21 janv. 2018, 13:56
Localisation : BEAUVAIS - Oise
Contact :

Re: domotisation cuve 1000L

Message par CSONNECK »

Bonjour

Sur la ligne, si tu comptes le nombre de parenthèses, tu remarques qu'il en manque une.

Code : Tout sélectionner

send(msg_niveau.set(niveauEau));
Merci de poster le code si tu as d'autres questions.

Je ferai une passe complète sur la syntaxique.

A+
« Le progrès ne vaut que s'il est partagé par tous. »  : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne

dd91
Messages : 101
Enregistré le : 18 nov. 2014, 13:06

Re: domotisation cuve 1000L

Message par dd91 »

Code : Tout sélectionner

#define MY_DEBUG 
#define MY_DEBUG_VERBOSE_SIGNING 
#define MY_NODE_LOCK_FEATURE 

// Enable and select radio type attached
#define MY_RADIO_NRF24 
//#define MY_RADIO_NRF5_ESB 
//#define MY_RADIO_RFM69 
//#define MY_RADIO_RFM95 

#include <MySensors.h>
#include <OneWire.h> 
#include <DallasTemperature.h> 



/************* Definitions liées à la fonction mysensors ***********************************/
#define DUREE_VEILLE_EN_SECONDES  3600

#define TEMPERATURE_CHILD_ID    1
#define NIVEAU_CHILD_ID     2

MyMessage msg_niveau(NIVEAU_CHILD_ID, V_VOLUME);    
MyMessage msg_temperature(TEMPERATURE_CHILD_ID, V_TEMP);


/************* Definitions liées à la fonction mesure de température ***********************************/
#define BROCHE_BUS_ONE_WIRE   12    // broche sur laquelle la broche data du DS18b20 est connectée sur l'arduino
#define BROCHE_ALIMENTATION_ONE_WIRE  13    // broche sur laquelle la broche VCC du DS18b20 est connectée sur l'arduino
#define MAX_ATTACHED_DS18B20  1

OneWire oneWire(BROCHE_BUS_ONE_WIRE);   
DallasTemperature sensors(&oneWire); 


/************* Definitions liées à la fonction mesure de niveau d'eau ***********************************/
#define BROCHE_NIVEAU_0   1     // broche sur laquelle le capteur le plus bas est connecté sur l'arduino
#define BROCHE_NIVEAU_1   4
#define BROCHE_NIVEAU_2   3
#define BROCHE_NIVEAU_3   7
#define BROCHE_NIVEAU_4   5
#define BROCHE_NIVEAU_5   6
#define BROCHE_NIVEAU_6   2
#define BROCHE_NIVEAU_7   8
#define BROCHE_NIVEAU_8   9
#define BROCHE_NIVEAU_9   10      // broche sur laquelle le capteur le plus haut est connecté sur l'arduino


unsigned char entreesNiveauEau[] = {      // tableau contenant la liste des entrées des capteurs de niveau
  BROCHE_NIVEAU_0, 
  BROCHE_NIVEAU_1, 
  BROCHE_NIVEAU_2, 
  BROCHE_NIVEAU_3, 
  BROCHE_NIVEAU_4, 
  BROCHE_NIVEAU_5, 
  BROCHE_NIVEAU_6, 
  BROCHE_NIVEAU_7, 
  BROCHE_NIVEAU_8, 
  BROCHE_NIVEAU_9 
};

#define ETAT_CAPTEUR_AU_REPOS   HIGH    // niveau logique sur la broche reliée au capteur de niveau lorsque celui-ci ne détecte pas d'eau



unsigned char mesurerNiveauEau() {
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);
  unsigned char niveau = 0;

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    if (pinMode(entreesNiveauEau [i],  INPUT_PULLUP); == ETAT_CAPTEUR_AU_REPOS) {      // si le capteur ne détecte pas d'eau
      if (i < (nbEntrees + 1)) {              // si on n'est pas sur le dernier capteur
        if (digitalRead(entreesNiveauEau|i]) == ETAT_CAPTEUR_AU_REPOS) {  // si le capteur suivant ne détecte pas d'eau
          break;                // on sort de la boucle if
        }
      }
    }
    niveau++;
  }
  return niveau;
}


unsigned char mesurerNiveauEauSimple() {
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);
  unsigned char niveau = 0;

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    niveau = niveau * 2;                  // décalage bit à bit de un bit vers la gauche
    if (digitalRead entreesNiveauEau[i]) != ETAT_CAPTEUR_AU_REPOS) {      // si le capteur ne détecte pas d'eau
      niveau = niveau+1;                // positionne le bit le plus à droite à 1
    }
  }
  return niveau;
}



void setup(void){

  // configuration liée à la mesure de température
 DeviceAddress sensorDeviceAddress;   

pinMode(BROCHE_ALIMENTATION_ONE_WIRE, OUTPUT);                // configure la broche en sortie pour pouvoir alimenter le ds18b20
  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, HIGH);                   // alimente le ds18b20
  sleep(100);                       // attend 100ms pour permettre au ds18b20 de démarrer tranquillement (temps mis au pif, en cas de problème, vérifier dans le datasheet)

 sensors.begin();                       // Activation des capteurs
 sensors.getAddress(sensorDeviceAddress, 0);                // Récupère l'adresse du premier capteur du bus
 sensors.setResolution(sensorDeviceAddress, 12);              // Configure la résoluton de la mesure 

  // configuration liée à la mesure de niveau 
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    pinMode(entreesNiveauEau[i],  INPUT_PULLUP);            // configure la broche en entrée avec un pullup

  }
}



void presentation()
{
    // Emission du nom du module
    sendSketchInfo("Etat de la cuve d'eau", "1.0");

    // Presentation des fonctions
     present(CHILD_ID, S_WATER, "Niveau d'eau");
     present(CHILD_ID, S_TEMP, "Température d'eau");

}


void loop(void){

 float temperature;

  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, HIGH);                   // alimente le ds18b20
  sleep(100);                       // attend 100ms pour permettre au ds18b20 de démarrer tranquillement (temps mis au pif, en cas de problème, vérifier dans le datasheet)

 sensors.requestTemperatures();                   // Déclenche la lecture des capteurs 1wire
 temperature = sensors.getTempCByIndex(0);                // Récupère la température en celsius du premier capteur
 Serial.print("La température est: ");                  // Affichage dans la liaison de debug
 Serial.print(temperature);                 
 Serial.println(" C°");
 send(msg_niveau.set(temperature);                  // envoi de la valeur sur le résuea mysensors


 unsigned char niveauEau = mesurerNiveauEau();                // récupère le niveau d'eau
 Serial.print("Le niveau est : ");          
 Serial.print(niveauEau);   
 Serial.println(" C°");
 send(msg_niveau.set(niveauEau));

  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, LOW);                    // coupe l'alimentation du ds18b20 pour économiser la batterie
 Sleep(DUREE_VEILLE_EN_SECONDES * 1000);


}
voila le code

domdom
Messages : 70
Enregistré le : 20 mai 2016, 10:48
Localisation : Ille-et-Vilaine

Re: domotisation cuve 1000L

Message par domdom »

Bonsoir,

J'ai pris 2 minutes pour compiler le code dans un IDE arduino. Il y avait deu 2 ou 3 fautes de frappes et de copié/collé.

Le code qui compile correctement est le suivant :

Code : Tout sélectionner

#define MY_DEBUG 
#define MY_DEBUG_VERBOSE_SIGNING 
#define MY_NODE_LOCK_FEATURE 

// Enable and select radio type attached
#define MY_RADIO_NRF24 
//#define MY_RADIO_NRF5_ESB 
//#define MY_RADIO_RFM69 
//#define MY_RADIO_RFM95 

#include <MySensors.h>
#include <OneWire.h> 
#include <DallasTemperature.h> 



/************* Definitions liées à la fonction mysensors ***********************************/
#define DUREE_VEILLE_EN_SECONDES  3600

#define TEMPERATURE_CHILD_ID    1
#define NIVEAU_CHILD_ID     2

MyMessage msg_niveau(NIVEAU_CHILD_ID, V_VOLUME);    
MyMessage msg_temperature(TEMPERATURE_CHILD_ID, V_TEMP);


/************* Definitions liées à la fonction mesure de température ***********************************/
#define BROCHE_BUS_ONE_WIRE   12    // broche sur laquelle la broche data du DS18b20 est connectée sur l'arduino
#define BROCHE_ALIMENTATION_ONE_WIRE  13    // broche sur laquelle la broche VCC du DS18b20 est connectée sur l'arduino
#define MAX_ATTACHED_DS18B20  1

OneWire oneWire(BROCHE_BUS_ONE_WIRE);   
DallasTemperature sensors(&oneWire); 


/************* Definitions liées à la fonction mesure de niveau d'eau ***********************************/
#define BROCHE_NIVEAU_0   1     // broche sur laquelle le capteur le plus bas est connecté sur l'arduino
#define BROCHE_NIVEAU_1   4
#define BROCHE_NIVEAU_2   3
#define BROCHE_NIVEAU_3   7
#define BROCHE_NIVEAU_4   5
#define BROCHE_NIVEAU_5   6
#define BROCHE_NIVEAU_6   2
#define BROCHE_NIVEAU_7   8
#define BROCHE_NIVEAU_8   9
#define BROCHE_NIVEAU_9   10      // broche sur laquelle le capteur le plus haut est connecté sur l'arduino


unsigned char entreesNiveauEau[] = {      // tableau contenant la liste des entrées des capteurs de niveau
  BROCHE_NIVEAU_0, 
  BROCHE_NIVEAU_1, 
  BROCHE_NIVEAU_2, 
  BROCHE_NIVEAU_3, 
  BROCHE_NIVEAU_4, 
  BROCHE_NIVEAU_5, 
  BROCHE_NIVEAU_6, 
  BROCHE_NIVEAU_7, 
  BROCHE_NIVEAU_8, 
  BROCHE_NIVEAU_9 
};

// niveau logique sur la broche reliée au capteur de niveau lorsque celui-ci ne détecte pas d'eau
#define ETAT_CAPTEUR_AU_REPOS   HIGH


unsigned char mesurerNiveauEau() {
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);
  unsigned char niveau = 0;

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    if (digitalRead(entreesNiveauEau [i]) == ETAT_CAPTEUR_AU_REPOS) {      // si le capteur ne détecte pas d'eau
      if (i < (nbEntrees + 1)) {              // si on n'est pas sur le dernier capteur
        if (digitalRead(entreesNiveauEau[i]) == ETAT_CAPTEUR_AU_REPOS) {  // si le capteur suivant ne détecte pas d'eau
          break;                // on sort de la boucle if
        }
      }
    }
    niveau++;
  }
  return niveau;
}


unsigned char mesurerNiveauEauSimple() {
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);
  unsigned char niveau = 0;

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    niveau = niveau * 2;                  // décalage bit à bit de un bit vers la gauche
    if (digitalRead(entreesNiveauEau[i]) != ETAT_CAPTEUR_AU_REPOS) {      // si le capteur ne détecte pas d'eau
      niveau = niveau+1;                // positionne le bit le plus à droite à 1
    }
  }
  return niveau;
}



void setup(void){

  // configuration liée à la mesure de température
 DeviceAddress sensorDeviceAddress;   

pinMode(BROCHE_ALIMENTATION_ONE_WIRE, OUTPUT);                // configure la broche en sortie pour pouvoir alimenter le ds18b20
  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, HIGH);                   // alimente le ds18b20
  sleep(100);                       // attend 100ms pour permettre au ds18b20 de démarrer tranquillement (temps mis au pif, en cas de problème, vérifier dans le datasheet)

 sensors.begin();                       // Activation des capteurs
 sensors.getAddress(sensorDeviceAddress, 0);                // Récupère l'adresse du premier capteur du bus
 sensors.setResolution(sensorDeviceAddress, 12);              // Configure la résoluton de la mesure 

  // configuration liée à la mesure de niveau 
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    pinMode(entreesNiveauEau[i],  INPUT_PULLUP);            // configure la broche en entrée avec un pullup

  }
}



void presentation()
{
    // Emission du nom du module
    sendSketchInfo("Etat de la cuve d'eau", "1.0");

    // Presentation des fonctions
     present(NIVEAU_CHILD_ID, S_WATER, "Niveau d'eau");
     present(TEMPERATURE_CHILD_ID, S_TEMP, "Température d'eau");

}


void loop(void){

 float temperature;

  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, HIGH);                   // alimente le ds18b20
  sleep(100);                       // attend 100ms pour permettre au ds18b20 de démarrer tranquillement (temps mis au pif, en cas de problème, vérifier dans le datasheet)

 sensors.requestTemperatures();                   // Déclenche la lecture des capteurs 1wire
 temperature = sensors.getTempCByIndex(0);                // Récupère la température en celsius du premier capteur
 Serial.print("La température est: ");                  // Affichage dans la liaison de debug
 Serial.print(temperature);                 
 Serial.println(" C°");
 send(msg_niveau.set(temperature, 2));                  // envoi de la valeur sur le résuea mysensors


 unsigned char niveauEau = mesurerNiveauEau();                // récupère le niveau d'eau
 Serial.print("Le niveau est : ");          
 Serial.print(niveauEau);   
 Serial.println(" C°");
 send(msg_niveau.set(niveauEau));

  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, LOW);                    // coupe l'alimentation du ds18b20 pour économiser la batterie
 sleep(DUREE_VEILLE_EN_SECONDES * 1000);


}

Jeff
Messages : 791
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: domotisation cuve 1000L

Message par Jeff »

domdom a écrit : 22 sept. 2018, 23:09 Bonsoir,

J'ai pris 2 minutes pour compiler le code dans un IDE arduino. Il y avait deu 2 ou 3 fautes de frappes et de copié/collé.

Le code qui compile correctement est le suivant :

Code : Tout sélectionner

#define MY_DEBUG 
#define MY_DEBUG_VERBOSE_SIGNING 
#define MY_NODE_LOCK_FEATURE 

// Enable and select radio type attached
#define MY_RADIO_NRF24 
//#define MY_RADIO_NRF5_ESB 
//#define MY_RADIO_RFM69 
//#define MY_RADIO_RFM95 

#include <MySensors.h>
#include <OneWire.h> 
#include <DallasTemperature.h> 



/************* Definitions liées à la fonction mysensors ***********************************/
#define DUREE_VEILLE_EN_SECONDES  3600

#define TEMPERATURE_CHILD_ID    1
#define NIVEAU_CHILD_ID     2

MyMessage msg_niveau(NIVEAU_CHILD_ID, V_VOLUME);    
MyMessage msg_temperature(TEMPERATURE_CHILD_ID, V_TEMP);


/************* Definitions liées à la fonction mesure de température ***********************************/
#define BROCHE_BUS_ONE_WIRE   12    // broche sur laquelle la broche data du DS18b20 est connectée sur l'arduino
#define BROCHE_ALIMENTATION_ONE_WIRE  13    // broche sur laquelle la broche VCC du DS18b20 est connectée sur l'arduino
#define MAX_ATTACHED_DS18B20  1

OneWire oneWire(BROCHE_BUS_ONE_WIRE);   
DallasTemperature sensors(&oneWire); 


/************* Definitions liées à la fonction mesure de niveau d'eau ***********************************/
#define BROCHE_NIVEAU_0   1     // broche sur laquelle le capteur le plus bas est connecté sur l'arduino
#define BROCHE_NIVEAU_1   4
#define BROCHE_NIVEAU_2   3
#define BROCHE_NIVEAU_3   7
#define BROCHE_NIVEAU_4   5
#define BROCHE_NIVEAU_5   6
#define BROCHE_NIVEAU_6   2
#define BROCHE_NIVEAU_7   8
#define BROCHE_NIVEAU_8   9
#define BROCHE_NIVEAU_9   10      // broche sur laquelle le capteur le plus haut est connecté sur l'arduino


unsigned char entreesNiveauEau[] = {      // tableau contenant la liste des entrées des capteurs de niveau
  BROCHE_NIVEAU_0, 
  BROCHE_NIVEAU_1, 
  BROCHE_NIVEAU_2, 
  BROCHE_NIVEAU_3, 
  BROCHE_NIVEAU_4, 
  BROCHE_NIVEAU_5, 
  BROCHE_NIVEAU_6, 
  BROCHE_NIVEAU_7, 
  BROCHE_NIVEAU_8, 
  BROCHE_NIVEAU_9 
};

// niveau logique sur la broche reliée au capteur de niveau lorsque celui-ci ne détecte pas d'eau
#define ETAT_CAPTEUR_AU_REPOS   HIGH


unsigned char mesurerNiveauEau() {
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);
  unsigned char niveau = 0;

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    if (digitalRead(entreesNiveauEau [i]) == ETAT_CAPTEUR_AU_REPOS) {      // si le capteur ne détecte pas d'eau
      if (i < (nbEntrees + 1)) {              // si on n'est pas sur le dernier capteur
        if (digitalRead(entreesNiveauEau[i]) == ETAT_CAPTEUR_AU_REPOS) {  // si le capteur suivant ne détecte pas d'eau
          break;                // on sort de la boucle if
        }
      }
    }
    niveau++;
  }
  return niveau;
}


unsigned char mesurerNiveauEauSimple() {
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);
  unsigned char niveau = 0;

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    niveau = niveau * 2;                  // décalage bit à bit de un bit vers la gauche
    if (digitalRead(entreesNiveauEau[i]) != ETAT_CAPTEUR_AU_REPOS) {      // si le capteur ne détecte pas d'eau
      niveau = niveau+1;                // positionne le bit le plus à droite à 1
    }
  }
  return niveau;
}



void setup(void){

  // configuration liée à la mesure de température
 DeviceAddress sensorDeviceAddress;   

pinMode(BROCHE_ALIMENTATION_ONE_WIRE, OUTPUT);                // configure la broche en sortie pour pouvoir alimenter le ds18b20
  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, HIGH);                   // alimente le ds18b20
  sleep(100);                       // attend 100ms pour permettre au ds18b20 de démarrer tranquillement (temps mis au pif, en cas de problème, vérifier dans le datasheet)

 sensors.begin();                       // Activation des capteurs
 sensors.getAddress(sensorDeviceAddress, 0);                // Récupère l'adresse du premier capteur du bus
 sensors.setResolution(sensorDeviceAddress, 12);              // Configure la résoluton de la mesure 

  // configuration liée à la mesure de niveau 
  unsigned char nbEntrees = sizeof(entreesNiveauEau) / sizeof(entreesNiveauEau[0]);

  for (int i=0; i<nbEntrees; i++) {               // pour chaque capteur
    pinMode(entreesNiveauEau[i],  INPUT_PULLUP);            // configure la broche en entrée avec un pullup

  }
}



void presentation()
{
    // Emission du nom du module
    sendSketchInfo("Etat de la cuve d'eau", "1.0");

    // Presentation des fonctions
     present(NIVEAU_CHILD_ID, S_WATER, "Niveau d'eau");
     present(TEMPERATURE_CHILD_ID, S_TEMP, "Température d'eau");

}


void loop(void){

 float temperature;

  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, HIGH);                   // alimente le ds18b20
  sleep(100);                       // attend 100ms pour permettre au ds18b20 de démarrer tranquillement (temps mis au pif, en cas de problème, vérifier dans le datasheet)

 sensors.requestTemperatures();                   // Déclenche la lecture des capteurs 1wire
 temperature = sensors.getTempCByIndex(0);                // Récupère la température en celsius du premier capteur
 Serial.print("La température est: ");                  // Affichage dans la liaison de debug
 Serial.print(temperature);                 
 Serial.println(" C°");
 send(msg_niveau.set(temperature, 2));                  // envoi de la valeur sur le résuea mysensors


 unsigned char niveauEau = mesurerNiveauEau();                // récupère le niveau d'eau
 Serial.print("Le niveau est : ");          
 Serial.print(niveauEau);   
 Serial.println(" C°");
 send(msg_niveau.set(niveauEau));

  digitalWrite(BROCHE_ALIMENTATION_ONE_WIRE, LOW);                    // coupe l'alimentation du ds18b20 pour économiser la batterie
 sleep(DUREE_VEILLE_EN_SECONDES * 1000);


}
Tu es un gars super sympa le brétillien ;) tu ponds le code bien commenté tranquillou...
De là à ce que mysensors marche entre l'abri et la maison, ce sera une autre paire de manche :?
Version: 4.9700; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...), Zigbee2MQTT.

dd91
Messages : 101
Enregistré le : 18 nov. 2014, 13:06

Re: domotisation cuve 1000L

Message par dd91 »

bonjour

Super ça encode niquel, j'aimerai vraiment apprendre a coder comme ça mais bon :)

je vais tester le câblage maintenant

Une petite question, pour les capteurs il n'y a pas besoins de mettre de résistance en plus? juste de branché dessus le câble direct?

Maintenant reste plus qu'a tester sur domoticz quand je l'aurai réinstalle car j'ai été victime d'un décès de la carte SD (je n'avais pas mis les logs en ram)

Pour la distance entre la maison et de capteur j'utilise un NRF PA sur la gateway my sensors et j'ai prevu un câble ethernet dans le cabanon donc à voir

En tout cas un grand merci a vous tous pour l'aide donné :)

j'ai deux autres petit projet qui peuvent intéressé du monde mais toujours pareil niveau développement programme ça va être compliqué pour moi....

Répondre