/* Mesure de la température ambiante avec une CTN Bibliothèque math.h : https://www.arduino.cc/en/math/h */ // Constantes //------------------------------------------------------ // CTN const int Beta = 4300; // Kelvin const float T0 = 298.15; // Kelvin (25°C) const int R0 = 10000; // Résistance du capteur à 25°C // Diviseur de tension const int Vcc = 5; // Volt const int R1 = 12000; // Ohm // CAN const int n = 10; const int VPE = 5; // Variables //------------------------------------------------------ int CTN = A0; // La CTN et son conditionneur sont connectés sur la broche A0 int N = 0; // Image de la température, sortie du CAN double temperature = 0.0; // Résultat du calcul de la température : temperature=f(N) // Coefficient du CAN float kcan = pow(2, n) / VPE; // Coefficients utilisés pour simplifier le calcul de la température // k0, a double k0 = kcan * Vcc * R1; double a = R0 / exp(Beta / T0); // k1, k2 double k1 = k0 / a; double k2 = R1 / a; //------------------------------------------------------ void setup() { Serial.begin(9600); // Fenêtre "serial" pour la mise au point } //------------------------------------------------------ void loop() { N = analogRead(CTN); temperature = Beta / log((k1 / N) - k2) - 273.15; Serial.println(temperature); }