SOMMAIRE ►
La connexion d’une thermistance à l’Arduino vous permet de mesurer la température ambiante avec une grande précision. Voyons la connexion de l’élément semi-conducteur au microcontrôleur, nous démonterons le programme de calibrage du capteur basé sur une thermistance ntc de 100 kOhm et nous construirons un circuit sur la carte Arduino Uno avec commutation automatique des LED en fonction de la température ambiante.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Arduino Nano / Arduino Mega
- thermistance 100 kOhm 3950 ntc
- LEDs et resistances
- breadboard
- fils de connexion
Matériel supplémentaire sur ce sujet:
Fonctionnement de la thermistor Arduino (datasheet)
Une thermistance est un semi-conducteur dont la résistance électrique varie en fonction de la température et qui est fabriqué à partir de matériaux ayant un coefficient de résistance à haute température. On distingue les thermistances à résistance à coefficient de température négatif (NTC – Negative Temperature Coefficient) et thermistances 100 kOhm 3950 à résistance à coefficient de température positif (PTC – Positive Temperature Coefficient).

Caractéristiques NTC 3950 100k
- Alimentation: max 36 V
- Valeurs de résistance à 25°C: 100 kOhm ± 1%
- Température de fonctionnement: -50°C à +260°C
Les thermistances de type NTC ont une résistance qui diminue avec l’augmentation de la température, tandis que les thermistances PTC ont une résistance qui augmente avec l’augmentation de la température. La résistance nominale des thermistances (indiquée par le fabricant) correspond à la résistance du semi-conducteur à 25°C. Comme le capteur de température LM35, la thermistor peut être calibrée en utilisant la formule de Steinhart-Hart.
Comment brancher thermistance Arduino Uno

Pour mesurer la température avec l’Arduino Uno, vous devez connaître la résistance nominale de la thermistance (nous avons utilisé 100kΩ), la résistance de la résistance (200kΩ dans notre exemple) et le coefficient NTC de la thermistance, qui est de 3950. Après avoir assemblé le circuit, spécifiez les paramètres requis dans le programme et chargez le code dans la carte. La température de l’air doit être affichée sur le moniteur du port Arduino IDE.
Programme pour mesurer température avec thermistance
#define B 3950 // ntc b constant #define RESISTOR 200000 // résistance de la résistance, 200 kOhm #define THERMISTOR 100000 // résistance nominale de la thermistor, 100 kOhm #define NOMINAL 25 // température nominale #define sensor A1 void setup() { Serial.begin(9600); pinMode(sensor, INPUT); } void loop() { int t = analogRead(sensor); float tr = 1023.0 / t - 1; tr = RESISTOR / tr; Serial.print("R="); Serial.print(tr); Serial.print(", t="); float steinhart; steinhart = tr / THERMISTOR; steinhart = log(steinhart); steinhart /= B; steinhart += 1.0 / (NOMINAL + 273.15); steinhart = 1.0 / steinhart; steinhart -= 273.15; Serial.println(steinhart); delay(100); }
Explication du code pour mesurer température avec thermistance:
- la résistance et la résistance de la thermistance doivent être spécifiées dans le code;
- le port série de l’Arduino IDE affichera la résistance de la thermistance 3950 ntc (thermistance) et la température de la pièce.

Programme pour allumer la LED en fonction de la température
#define B 3950 // ntc b constant #define RESISTOR 200000 // résistance de la résistance, 200 kOhm #define THERMISTOR 100000 // résistance nominale de la thermistor, 100 kOhm #define NOMINAL 25 // température nominale #define sensor A1 void setup() { Serial.begin(9600); pinMode(sensor, INPUT); pinMode(10, OUTPUT); pinMode(12, OUTPUT); } void loop() { int t = analogRead(sensor); float tr = 1023.0 / t - 1; tr = RESISTOR / tr; Serial.print("R="); Serial.print(tr); Serial.print(", t="); float steinhart; steinhart = tr / THERMISTOR; steinhart = log(steinhart); steinhart /= B; steinhart += 1.0 / (NOMINAL + 273.15); steinhart = 1.0 / steinhart; steinhart -= 273.15; Serial.println(steinhart); if (steinhart < 24) { digitalWrite(10, HIGH); digitalWrite(12, LOW); } if (steinhart >= 24) { digitalWrite(10, LOW); digitalWrite(12, HIGH); } delay(100); }
Explication du code pour allumer la LED en fonction de la température:
- en fonction de la température, l’une ou l’autre LED s’allume.
Conclusion. L’utilisation d’une NTC thermistance est l’un des moyens les plus simples et les moins chers de mesurer la température avec un microcontrôleur Arduino. La résistance de la thermistance varie en fonction de la température ambiante. Son utilisation est donc justifiée lorsqu’il n’y a pas de températures extrêmes et que la précision de la mesure n’est pas critique.








Laisser un commentaire