Explication d'une partie d'un programme ( thermistance NTC ou CTN )

a marqué ce sujet comme résolu.

Bonsoir tout le monde s'il vous plait j'ai trouvé ce programme mais j'arrive pas à comprendre une ligne de ce programme le programme et celui ci :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <math.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

double Thermister(int RawADC) {
 double Temp=0;
 Temp = log(((10240000/RawADC) - 10000));
 Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
 Temp = Temp - 273.15; // Convert Kelvin to Celcius

 return Temp;
}

void setup() {

  lcd.begin(16,2);
  lcd.clear();

 Serial.begin(115200);

Serial.begin(9600);



}

void loop() {
 Serial.println(int(Thermister(analogRead(1)))); // display Fahrenheit

lcd.print(int(Thermister(analogRead(1))));

lcd.print(" degress C");

delay(100);

lcd.clear();


} 

la ligne concerné est celle ci

1
Temp = log(((10240000/RawADC) - 10000));

Parce que dans ce cas présent le capteur de température n'est probablement pas linéaire mais plutôt logarithmique. Donc pour faire la conversion ADC<->temperature on passe par une formule plus complique.

Cela dit j'ai des doutes sur le code, surtout au niveau de la précision demandée sur les flottants.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte