Thermistance NTC 10 kΩ : mesurer une température avec un ESP32

Thermistance NTC 10k montée en pont diviseur avec une résistance sur une plaque d'essai, reliée à une carte microcontrôleur

Une thermistance NTC 10k est une résistance dont la valeur baisse quand la température monte : elle vaut 10 kΩ à 25 °C, environ 33 kΩ à 0 °C et environ 3,6 kΩ à 50 °C. Pour mesurer une température avec un ESP32, on la place dans un pont diviseur avec une résistance fixe de 10 kΩ, on lit la tension sur une entrée analogique, puis on convertit cette valeur en degrés avec l’équation Bêta.

C’est l’un des capteurs de température les plus simples et les moins chers : deux fils, une résistance, quelques lignes de code. Dans ce guide, on part de zéro : comment fonctionne une thermistance NTC 10k, comment la brancher sur un ESP32 sans se tromper de broche, quel code utiliser et comment obtenir une mesure fiable à ±1 °C près.

Thermistance NTC 10k : comment ça marche ?

« NTC » veut dire Negative Temperature Coefficient, en français CTN (coefficient de température négatif). Le principe est simple : plus il fait chaud, plus la résistance diminue. Le « 10k » indique sa valeur de référence : 10 000 ohms à 25 °C.

La variation n’est pas linéaire : la résistance change beaucoup près de 0 °C et beaucoup moins vers 100 °C. C’est pour ça qu’on ne peut pas faire une simple règle de trois. On utilise une formule qui dépend d’un paramètre appelé coefficient B (ou Bêta), donné dans la fiche technique. Pour beaucoup de thermistances 10 kΩ courantes, il se situe autour de 3 400 à 4 000 K ; la valeur 3 950 K est très répandue.

Voici les valeurs théoriques d’une thermistance NTC 10k avec B = 3 950 K, et la tension que l’ESP32 verra dans le montage décrit plus bas (alimentation 3,3 V, résistance fixe de 10 kΩ) :

TempératureRésistance de la NTCTension lue par l’ESP32
0 °C≈ 33,6 kΩ≈ 2,54 V
10 °C≈ 20,2 kΩ≈ 2,21 V
20 °C≈ 12,5 kΩ≈ 1,84 V
25 °C10 kΩ1,65 V
30 °C≈ 8,0 kΩ≈ 1,47 V
40 °C≈ 5,3 kΩ≈ 1,14 V
50 °C≈ 3,6 kΩ≈ 0,87 V
80 °C≈ 1,3 kΩ≈ 0,37 V

Ces chiffres sont calculés avec l’équation Bêta : votre thermistance réelle peut s’en écarter un peu selon sa tolérance. Pour convertir rapidement les résultats en Fahrenheit ou en Kelvin, utilisez notre convertisseur de température °C, °F et Kelvin.

Le matériel pour mesurer une température avec un ESP32

Retrouvez d’autres modèles dans nos catégories capteurs et cartes ESP32.

Brancher une thermistance NTC 10k sur un ESP32 en 5 étapes

Étape 1 : comprendre le pont diviseur

L’ESP32 ne mesure pas des ohms, il mesure des volts. On met donc la thermistance en série avec une résistance fixe de même valeur (10 kΩ) entre 3,3 V et la masse. Au point milieu, la tension change avec la température : à 25 °C les deux résistances sont égales et on lit exactement la moitié, soit 1,65 V. Vous pouvez vérifier d’autres cas avec notre calculateur de pont diviseur de tension.

Étape 2 : câbler le montage

  • Broche 3V3 de l’ESP32 → une patte de la résistance 10 kΩ.
  • L’autre patte de la résistance → une patte de la thermistance et l’entrée analogique de l’ESP32 (GPIO 34 sur un ESP32 DevKit V1, ou par exemple GPIO 4 sur un ESP32-S3).
  • L’autre patte de la thermistance → GND.
  • Facultatif : le condensateur de 100 nF entre l’entrée analogique et GND, au plus près de l’ESP32.

Attention : n’alimentez jamais le pont en 5 V. Les entrées de l’ESP32 acceptent au maximum 3,3 V ; une tension plus élevée peut abîmer la carte.

Étape 3 : choisir la bonne entrée analogique

Sur l’ESP32 classique, utilisez une broche de l’ADC1 (GPIO 32 à 39). Les broches de l’ADC2 ne fonctionnent pas quand le Wi-Fi est actif, ce qui pose problème dès qu’on veut envoyer la température sur Internet. Sur l’ESP32-S3, l’ADC1 correspond aux GPIO 1 à 10.

Étape 4 : téléverser le code

Ce programme pour l’environnement Arduino lit la tension 32 fois, fait la moyenne, calcule la résistance de la thermistance, puis la température avec l’équation Bêta. La fonction analogReadMilliVolts() utilise l’étalonnage de l’ESP32 et donne directement des millivolts, plus fiables qu’une simple valeur brute de 0 à 4095.

// Thermistance NTC 10k sur ESP32 - mesure de température
const int   PIN_NTC  = 34;       // ADC1 (ESP32 DevKit V1). ESP32-S3 : par ex. 4
const float VCC_MV   = 3300.0;   // tension réelle du 3V3 (à mesurer au multimètre)
const float R_FIXE   = 10000.0;  // résistance fixe du pont (ohms)
const float R0       = 10000.0;  // NTC à 25 °C (ohms)
const float T0       = 298.15;   // 25 °C en kelvins
const float BETA     = 3950.0;   // coefficient B de la fiche technique

void setup() {
  Serial.begin(115200);
  analogSetAttenuation(ADC_11db); // plage de mesure élargie
}

void loop() {
  uint32_t somme = 0;
  for (int i = 0; i < 32; i++) {
    somme += analogReadMilliVolts(PIN_NTC);
    delay(2);
  }
  float v = somme / 32.0;                      // tension moyenne en mV
  float r = R_FIXE * v / (VCC_MV - v);         // résistance de la NTC
  float tK = 1.0 / (1.0 / T0 + log(r / R0) / BETA);
  float tC = tK - 273.15;

  Serial.printf("Tension : %.0f mV | NTC : %.0f ohms | Temperature : %.1f Cn", v, r, tC);
  delay(1000);
}

Ouvrez le moniteur série à 115 200 bauds : vous devez voir une valeur proche de la température de la pièce. Pincez la thermistance entre vos doigts, la température doit monter en quelques secondes.

Étape 5 : étalonner pour gagner en précision

Comparez la mesure avec un thermomètre fiable. Si vous voyez un écart constant, corrigez d’abord VCC_MV avec la tension réelle mesurée au multimètre, puis la valeur BETA indiquée par le fabricant de votre thermistance. Pour aller plus loin, l’équation de Steinhart-Hart utilise trois mesures de référence (par exemple eau glacée, pièce, eau chaude) et donne une meilleure précision sur une large plage.

Les erreurs courantes avec une thermistance NTC 10k

  • Inverser la résistance et la NTC : la formule change. Avec le câblage ci-dessus (résistance côté 3,3 V), la tension baisse quand la température monte.
  • Utiliser une broche ADC2 avec le Wi-Fi : la lecture reste bloquée ou renvoie des valeurs fausses.
  • Se fier aux extrêmes de l’ADC : l’ESP32 mesure mal près de 0 V et près de 3,3 V. Le pont 10 kΩ / 10 kΩ place la plage utile au milieu, entre environ 0 °C et 60 °C.
  • Des fils longs sans filtrage : ajoutez le condensateur de 100 nF et faites une moyenne de plusieurs lectures.
  • Un mauvais contact thermique : la thermistance mesure sa propre température. Fixez-la bien sur la surface à surveiller (c’est l’intérêt d’un modèle à cosse).

Thermistance NTC 10k ou capteur numérique : lequel choisir ?

CritèreThermistance NTC 10kDS18B20BME280
Type de sortieAnalogique (tension)Numérique 1-WireNumérique I2C
Composants en plus1 résistance1 résistance de tirageAucun (module)
MesureTempératureTempératureTempérature, humidité, pression
Atout principalSimple, petit, réponse rapidePrécision sans étalonnage3 mesures en un

Pour une sonde étanche prête à l’emploi, la sonde étanche DS18B20 est une bonne alternative. Pour une station météo complète, suivez notre projet station météo connectée avec ESP32 et BME280. Et si vous surveillez la chauffe d’une carte, lisez aussi notre article sur l’effet de la température sur les composants.

Questions fréquentes sur la thermistance NTC 10k

Que signifie NTC 10k sur une thermistance ?

NTC signifie coefficient de température négatif : la résistance baisse quand la température monte. « 10k » veut dire que la thermistance vaut 10 kΩ à 25 °C.

Quelle résistance mettre avec une thermistance NTC 10k ?

Une résistance fixe de 10 kΩ, de préférence à 1 %. Avec la même valeur que la thermistance, la tension vaut la moitié de l’alimentation à 25 °C, là où la mesure est la plus sensible.

Peut-on brancher une thermistance NTC 10k directement sur un ESP32 ?

Non, il faut un pont diviseur : la thermistance en série avec une résistance de 10 kΩ entre 3,3 V et GND, le point milieu relié à une entrée de l’ADC1.

Quelle précision attendre d’une thermistance NTC 10k avec un ESP32 ?

Avec une résistance à 1 %, une moyenne de plusieurs lectures et un étalonnage simple, on obtient généralement environ ±1 °C entre 0 et 60 °C.

Quelle est la différence entre une thermistance NTC et PTC ?

Une NTC voit sa résistance baisser quand il fait plus chaud, une PTC voit la sienne augmenter. Les NTC servent surtout à mesurer, les PTC souvent à protéger un circuit.

Photo de couverture : thermistance montée en pont diviseur avec une résistance sur une plaque d’essai, reliée à une carte Arduino, par BlackforAesthetics, Wikimedia Commons, licence CC BY-SA 3.0, recadrée et redimensionnée.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise des cookies pour vous offrir une meilleure expérience de navigation. En naviguant sur ce site, vous acceptez notre utilisation des cookies.