Utiliser une thermistance facilement : Guide étape par étape Arduino
Composants et fournitures
| Composant | Quantité |
|---|---|
| Thermistance NTC 10K | 1 |
| Résistance 10 kΩ | 1 |
| Arduino UNO | 1 |
| Fils de liaison (jumper wires) génériques | 1 |
| Plaque d'essai (breadboard) générique | 1 |
Applications et services en ligne
- Arduino IDE
- Arduino Web Editor
À propos du projet
Quelle est la simplicité d'utilisation d'une thermistance ?
Dans cet article, j'explique comment utiliser une thermistance. Tout d'abord, qu'est-ce qu'une thermistance ? Une thermistance est un type de résistance dont la résistance dépend de la température. Il existe deux types opposés :
- PTC (Coefficient de Température Positif) : la résistance augmente quand la température monte
- NTC (Coefficient de Température Négatif) : la résistance diminue quand la température monte
Ici, j'utilise une thermistance NTC.
Un peu de mathématiques
Pour calculer la résistance de la thermistance, on utilise une formule simple appelée équation avec paramètre B (uniquement pour thermistance NTC).
Où :
eest la base du logarithme népérienR0est la résistance de la thermistance mesurée à la température T0Best un coefficient constant dépendant des caractéristiques du matériau, exprimé en Kelvin (K), sa valeur est indiquée par les fabricants sur les fiches techniques
Pour calculer la température, nous devons connaître la résistance RT en utilisant les lois d'Ohm.

Version schématique du circuit.
RT = VRT / (VR / R)
Nous avons maintenant toutes les données pour calculer la température.
N'oubliez pas de convertir tous les paramètres (par exemple T0) en Kelvin avant les calculs, le résultat est également en Kelvin.
Voici le résultat


Code
Thermistance (Arduino)
// Thermomètre avec thermistance
/* Paramètres de la thermistance :
* RT0: 10 000 Ω
* B: 3977 K +- 0.75%
* T0: 25 °C
* +- 5%
*/
// Ces valeurs se trouvent dans la fiche technique
#define RT0 10000 // Ω
#define B 3977 // K
//--------------------------------------
#define VCC 5 // Tension d'alimentation
#define R 10000 // R=10KΩ
// Variables
float RT, VR, ln, TX, T0, VRT;
void setup() {
Serial.begin(9600);
T0 = 25 + 273.15; // Température T0 de la fiche technique, conversion Celsius vers Kelvin
}
void loop() {
VRT = analogRead(A0); // Acquisition valeur analogique de VRT
VRT = (5.00 / 1023.00) * VRT; // Conversion en tension
VR = VCC - VRT;
RT = VRT / (VR / R); // Résistance de RT
ln = log(RT / RT0);
TX = (1 / ((ln / B) + (1 / T0))); // Température depuis la thermistance
TX = TX - 273.15; // Conversion en Celsius
Serial.print("Température:");
Serial.print("\t");
Serial.print(TX);
Serial.print("C\t\t");
Serial.print(TX + 273.15); // Conversion en Kelvin
Serial.print("K\t\t");
Serial.print((TX * 1.8) + 32); // Conversion en Fahrenheit
Serial.println("F");
delay(500);
}
Schémas


Processus de fabrication
- Comment le molybdène façonne l'industrie moderne : usages, avantages et dynamiques d'approvisionnement
- Exploiter Azure DevOps : Pratiques Prouvées pour une Livraison Accélérée
- Utilisation des fonctions impures en VHDL : Améliorer la lisibilité et la maintenabilité des FSM
- Maîtriser les fonctions VHDL : Guide pratique pour un design efficace
- Utilisation des procédures en VHDL : Simplifiez votre design avec du code réutilisable
- Maîtriser les boucles While en VHDL : contrôle d'itération dynamique
- Maîtriser les boucles For en VHDL : guide pratique
- Mesurer la qualité de l'air avec OpenSensors : Guide Arduino et Python
- Maîtriser les techniques de la rectifieuse d'outils : guide pratique