Sujet : Probleme lecture capteur LM35DZ

Bonjour,
Pour un projet personnel, je cherche à utiliser une carte Esplora pour lire une température intérieure et une extérieure à l'aide d'un LM35DZ branché sur le port 8. Le but étant d'enregistrer ces données.
Le problème est que je n'arrive pas à lire correctement le capteur.

Voici le code utiliser:

/****************************************/
/* Programme d'acquisition de mesure de */
/*  temperature intérieure/exterieure   */
/*  MP2 - TP1  Ver 1.0  du 08/01/2016   */
/****************************************/

#include <Esplora.h>   // pour la carte ESPLORA
#include <SPI.h>      // pour le bus SPI
#include <TFT.h>     // pour l'écran TFT
#include<SD.h>      // pour le lecteur de carte SD

File index ;        // fichier pour ecrire dans la SD
double Temp_Int ;   //Températures interieure (sur platine) en degres Celcius
double Temp_Ext ;   //Températures exterieure (port/cable tinkerKit) en degres Celcius
int Mes_Int ;       //Mesure entière issue CAN de la temp ext
int minutes ;       // Temps en minutrs
byte channel = 8 ; // 8 pour tinkerkit in-A, 9 pour tinkerkit IN-B

void setup()
{
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  /*pinMode(A1, OUTPUT);  // les 4 bits en output
  pinMode(A2, OUTPUT);  //    pour selectionner
  pinMode(A4, OUTPUT);  //      la bonne
  pinMode(A8, OUTPUT);  //    entrée a convertir*/
 
  EsploraTFT.begin();   // pour l'ecran LCD
  SD.begin(8);          // initialisation du lecteur SD
 
  EsploraTFT.background(0,0,0);  // mise en place du fond noir

  minutes = 0 ;

}

void loop()
{
    minutes +=1;        // achaque tour on rajoute une minute
   
    Temp_Int = Esplora.readTemperature(DEGREES_C);  // Lit la température interieure de la platine
                                                    // directement en degres celcius
   
    digitalWrite (A0, 0 );    // les 4 bits pour
    digitalWrite (A1, 0 );    //  selectionner la bonne
    digitalWrite (A2, 0 );    //   entrée a convertir : 
    digitalWrite (A3, 1 );    //    la 8 = (0001) = Portin A TinkerKit

    Mes_Int = analogRead( A4 ) ;  // lecteur de la valeur temp en entier {0;1023}

    Temp_Ext = (Mes_Int * 500.0 / 1023)+4.7 ;  // conversion en °C
   
    EsploraTFT.stroke(255,255,255);     // Affichage tu temps :
    EsploraTFT.text("",5,15);
    EsploraTFT.setTextSize(1);
    EsploraTFT.print("Minutes : ");
    EsploraTFT.print(minutes);
    EsploraTFT.print("min");
   
    EsploraTFT.stroke(0,255,255);       // Affichage de la temperature Ext :
    EsploraTFT.text("",5,55);
    EsploraTFT.setTextSize(2);
    EsploraTFT.print("Ext : ");
    EsploraTFT.print(Temp_Ext);
    EsploraTFT.print(" C");
   
    EsploraTFT.stroke(255,55,0);       // Affichage de la temperature Int :
    EsploraTFT.text("",5,90);
    EsploraTFT.setTextSize(2);
    EsploraTFT.print("Int : ");
    EsploraTFT.print(Temp_Int);
    EsploraTFT.print(" C");
   
    Esplora.writeRGB(255,0,0);      // diode rouge = acces fichier SD
   
    index = SD.open("Gr4.txt", FILE_WRITE); //ouvrir le fichier
    index.print(minutes);
    index.print(";");
    index.print(Temp_Ext);
    index.print(";");
    index.println(Temp_Int);
    index.close();
   
    Esplora.writeRGB(0,255,0);      // diode vers = plus d'acces fichier SD
   
    delay(1000);
    /*delay(10000);
    delay(10000);
    delay(10000);       // attente d'une minute
    delay(10000);
    delay(10000);
    delay(10000);*/
   
    EsploraTFT.stroke(0,0,0);   // effacement du temps :
    EsploraTFT.text("",5,15);
    EsploraTFT.setTextSize(1);
    EsploraTFT.print("Minutes : ");
    EsploraTFT.print(minutes);
    EsploraTFT.print("min");
   
    EsploraTFT.stroke(0,0,0);   // effacement de la Temperature Ext :
    EsploraTFT.text("",5,55);
    EsploraTFT.setTextSize(2);
    EsploraTFT.print("Ext : ");
    EsploraTFT.print(Temp_Ext);
    EsploraTFT.print(" C");
   
    EsploraTFT.stroke(0,0,0);   // effacement de la temperature Int :
    EsploraTFT.text("",5,90);
    EsploraTFT.setTextSize(2);
    EsploraTFT.print("Int : ");
    EsploraTFT.print(Temp_Int);
    EsploraTFT.print(" C");

}


Merci d'avance pour votre reponse

Dernière modification par G00GL3 (11-01-2016 16:40:26)

2

Re : Probleme lecture capteur LM35DZ

Et il se passe quoi ?