Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2
Publié : 02 janv. 2017, 22:20
Bonsoir,
Je viens de me rendre compte que le sketch (merci Vil1driver pour ce sketch amélioré, c'est TOP) renvoie (pour un DS18B20) -0.1°C quand le DS18B20 est retiré (comme en cas d'erreur de capteur). Il me semble qu'en cas d'erreur du capteur il ne devrait pas émettre ou alors émettre les -127° pour dire qu'il ya une erreur ? Peut être plutot émettre -127° comme ça on sait que le problème ne vient pas de l'émetteur 433 ou de l'AtTiny85 mais bien du DS18B20 ?
C'est à cet endroit du code:
------------------------------------------------------------------------------------
// Fonction récupérant la température
// Retourne true si tout va bien, ou false en cas d'erreur
boolean getTemperature(float *temp){
#ifdef DS18B20
byte present = 0;
byte data[9];
byte addr[8];
// data : Données lues depuis le scratchpad
// addr : adresse du module 1-Wire détecté
if (!ds.search(addr)) { // Recherche un module 1-Wire
ds.reset_search(); // Réinitialise la recherche de module
delay(250);
//return false; // Retourne une erreur
}
------------------------------------------------------------------------------------
Il suffit de décommenter le "retrun false" ici pour ne rien émettre en cas de problème avec le DS18B20:
------------------------------------------------------------------------------------
//return false; // Retourne une erreur
------------------------------------------------------------------------------------
Ou alors ceci pour renvoyer "-127" (et donc faire un test au niveau du thermomètre pour afficher "erreur capteur")
------------------------------------------------------------------------------------
if (!ds.search(addr)) { // Recherche un module 1-Wire
ds.reset_search(); // Réinitialise la recherche de module
delay(250);
*temp = -127; // Retourne -127° donc une erreur
return true; // Retourne Ok
------------------------------------------------------------------------------------
Voila c'était My2cent en espérant que ça ai pu aider modestement
Je viens de me rendre compte que le sketch (merci Vil1driver pour ce sketch amélioré, c'est TOP) renvoie (pour un DS18B20) -0.1°C quand le DS18B20 est retiré (comme en cas d'erreur de capteur). Il me semble qu'en cas d'erreur du capteur il ne devrait pas émettre ou alors émettre les -127° pour dire qu'il ya une erreur ? Peut être plutot émettre -127° comme ça on sait que le problème ne vient pas de l'émetteur 433 ou de l'AtTiny85 mais bien du DS18B20 ?
C'est à cet endroit du code:
------------------------------------------------------------------------------------
// Fonction récupérant la température
// Retourne true si tout va bien, ou false en cas d'erreur
boolean getTemperature(float *temp){
#ifdef DS18B20
byte present = 0;
byte data[9];
byte addr[8];
// data : Données lues depuis le scratchpad
// addr : adresse du module 1-Wire détecté
if (!ds.search(addr)) { // Recherche un module 1-Wire
ds.reset_search(); // Réinitialise la recherche de module
delay(250);
//return false; // Retourne une erreur
}
------------------------------------------------------------------------------------
Il suffit de décommenter le "retrun false" ici pour ne rien émettre en cas de problème avec le DS18B20:
------------------------------------------------------------------------------------
//return false; // Retourne une erreur
------------------------------------------------------------------------------------
Ou alors ceci pour renvoyer "-127" (et donc faire un test au niveau du thermomètre pour afficher "erreur capteur")
------------------------------------------------------------------------------------
if (!ds.search(addr)) { // Recherche un module 1-Wire
ds.reset_search(); // Réinitialise la recherche de module
delay(250);
*temp = -127; // Retourne -127° donc une erreur
return true; // Retourne Ok
------------------------------------------------------------------------------------
Voila c'était My2cent en espérant que ça ai pu aider modestement