Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Probleme Capteur temperature
#6
(24-07-2024, 09:07 PM)tupolev89 a écrit : Bonsoir j'ai bien sélectionné capteur interne, mais aucun changement, j'ai aussi essayé en multi sinus et même train de sinus, aucune amélioration pour ma part ??

Bonjour,

A tout hasard 

la sonde n'est elle pas HS ? 

Est il possible qu'il y ai une inversion de câblage dans la sonde ?

Peux tu la tester sur un autre EPS32 ?

J'ai trouvé ce programme qui permet de tester la sonde, il scanne le bus avec adresse et température jusqu’à 10 sondes

Code :
/* Test des Sondes DS18B20 sur la Pin 6
  Modif JNM du 17/08/2017
*/
#include <OneWire.h>
#include <DallasTemperature.h>
byte OneWirePin = 6;                    // sondes DS18B20 sur pin 6
OneWire  oneWire(OneWirePin);           // bus pour com avec les sondes
DallasTemperature sensors(&oneWire);
byte addr[8];                           // pour reconnaissance adresses des sondes
// Déclaration des variables des sondes de temperature
float temp[10];
byte  nbrSondes = 0;                    // 0 sonde au démarrage
// Relever les adresses des Sondes et les mettre dans le tableau
DeviceAddress Sonde0 = { 0x28, 0xFF, 0x2A, 0x85, 0xA6, 0x16, 0x03, 0xD6 }; //adresse propre à chaque sonde
DeviceAddress Sonde1 = { 0x28, 0xFF, 0x46, 0xA3, 0xA5, 0x16, 0x05, 0xA6 }; //
DeviceAddress Sonde2 = { 0x28, 0xFF, 0x05, 0x25, 0xA6, 0x16, 0x04, 0x6B }; //
DeviceAddress Sonde3 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
DeviceAddress Sonde4 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
DeviceAddress Sonde5 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
DeviceAddress Sonde6 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
DeviceAddress Sonde7 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
DeviceAddress Sonde8 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
DeviceAddress Sonde9 = { 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; //
// Initialisation
void setup()
{
 Serial.begin(9600);
 sensors.begin();
 // Recherche le nombres de sondes disponible
 nbrSondes = sensors.getDeviceCount();
 Serial.println();
 Serial.print("Nombre de capteurs trouves sur le BUS = ");
 Serial.println(nbrSondes);
 Serial.println(" aux adresses: ");
 for (byte s = 0; s <= nbrSondes; s++)
 {
   if (!oneWire.search(addr))
   {
     Serial.println("Pas d'autres sondes trouvées.");
     oneWire.reset_search();
     delay(250);
     return;
   }
   Serial.print("Sonde Numéro : ");
   Serial.print(s);
   Serial.print(" à l'adresse  {");
   for (byte i = 0; i < 8; i++)
   {
     Serial.print("0x");
     Serial.print(addr[i], HEX);
     if (i < 7)
     {
       Serial.print(", ");
     }
   }
   Serial.println("}");
 }
 // Fixe la résolution des capteurs à 10 bits (choix entre 9 et 12)
 sensors.setResolution(Sonde0, 10);
 sensors.setResolution(Sonde1, 10);
 sensors.setResolution(Sonde2, 10);
 sensors.setResolution(Sonde3, 10);
 sensors.setResolution(Sonde4, 10);
 sensors.setResolution(Sonde5, 10);
 sensors.setResolution(Sonde6, 10);
 sensors.setResolution(Sonde7, 10);
 sensors.setResolution(Sonde8, 10);
 sensors.setResolution(Sonde9, 10);
 Serial.println("Fin du set up.");
}
// Programme principale
void loop()
{
 Serial.println();
 Serial.println("Lecture des temperatures en cours...");
 sensors.requestTemperatures();
 temp[0] = printTemperature(Sonde0, 0);
 temp[1] = printTemperature(Sonde1, 1);
 temp[2] = printTemperature(Sonde2, 2);
 temp[3] = printTemperature(Sonde3, 3);
 temp[4] = printTemperature(Sonde4, 4);
 temp[5] = printTemperature(Sonde5, 5);
 temp[6] = printTemperature(Sonde6, 6);
 temp[7] = printTemperature(Sonde7, 7);
 temp[8] = printTemperature(Sonde8, 8);
 temp[9] = printTemperature(Sonde9, 9);
 delay(5000);
}
// Affichage des Températures
float printTemperature(DeviceAddress deviceAddress, byte cptSondes)
{
 float tempC = sensors.getTempC(deviceAddress);//lecture des sondes
 if (tempC == -127.00)                         //Vérifications si erreurs
 {
   if (cptSondes < nbrSondes)
   {
     Serial.print("Problème de sonde numéro : ");
     Serial.println(cptSondes);
   }
   tempC = 0;
 }
 else                                          //affichage temperature
 {
   Serial.print("Sonde numéro : ");
   Serial.print(cptSondes);
   Serial.print(" mésuré à : ");
   Serial.print(tempC);
   Serial.println(" °C.");
 }
 return tempC;
}

@+
Répondre


Messages dans ce sujet
Probleme Capteur temperature - par tupolev89 - 24-07-2024, 04:13 PM
RE: Probleme Capteur temperature - par lucky - 24-07-2024, 05:32 PM
RE: Probleme Capteur temperature - par regisarnaud - 24-07-2024, 05:39 PM
RE: Probleme Capteur temperature - par Padawan34 - 24-07-2024, 07:21 PM
RE: Probleme Capteur temperature - par tupolev89 - 24-07-2024, 09:07 PM
RE: Probleme Capteur temperature - par fazer31 - 24-07-2024, 10:16 PM
RE: Probleme Capteur temperature - par tupolev89 - 24-07-2024, 11:26 PM
RE: Probleme Capteur temperature - par fazer31 - 25-07-2024, 08:10 PM
RE: Probleme Capteur temperature - par Padawan34 - 25-07-2024, 10:47 AM
RE: Probleme Capteur temperature - par tupolev89 - 25-07-2024, 08:38 PM
RE: Probleme Capteur temperature - par tupolev89 - 26-07-2024, 07:08 PM

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)