Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème code Arduino

    27 décembre 2023 à 15:53:54

    Bonjour,

    Je teste actuellement un code sur Arduino pour mesurer une température avec une CTN 3950.

    J'ai crée le code qui se compile correctement.

    Il se lance, je lis la valeur de N avec analogRead(A0) (qui varie).

    Mais quand je calcule la valeur de tension associée ou la température, la même valeur s'affiche constamment : 25°C (alors qu'il fait 20, même en chauffant la CTN).

    Pouvez-vous m'aider svp ?

    Le code :

    #include <math.h> // inclure biblio maths (ln = log)
    int N ; // N
    float Um; // Tension CTN
    float Rc; // Résistance CTN
    float Ro ; // Résistance CTN
    float T; // Température en °C
    int B ; // valeur de la constante B
    float To ; // valeur de To
    int Vcc ; // valeur de la tension d'entrée
    
    
    void setup() {
      // put your setup code here, to run once:
      Ro=10000;
      B=3950 ;
      Vcc=5 ;
      To=298.15 ;
       Serial.begin(9600); // Paramétrage du port série
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
       N = analogRead(A0);
       Serial.print("N = ");
       Serial.println(N) ;
       Um= Vcc*N/1024; // calcul de Um
       Serial.print("Um = "); // afficher Um
       Serial.print(Um);
       Serial.println(" V");
       Rc=Um*(Ro/(Vcc-Um));// calcul de Rc
       Serial.print("Rc= "); // afficher RC
       Serial.print(Rc);
       Serial.println(" Ohms");
       T=(1/((1/To) + (1/B)*log(Rc/Ro))) - 273.15 ; // calcul de T
       Serial.print("T= "); // afficher T
       Serial.print(T);
       Serial.println(" °C");
       delay(3000); // attendre 3 s
       
       
    }



    • Partager sur Facebook
    • Partager sur Twitter
      27 décembre 2023 à 19:47:28

      Puisque B est un int, le résultat de 1/B est toujours 0. Soit B devrait être de type float, soit il faut écrire 1.f / B pour avoir un résultat sous forme de flottant.

      • Partager sur Facebook
      • Partager sur Twitter

      Problème code Arduino

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown