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

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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));
+0 -0

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.

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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