KY-013 Capteur de température CTN
Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. Une thermistance NTC (Negative Temperature Coefficient) a la particularité de voir sa résistance diminuer lorsque la température augmente. Cette modification de la valeur de la résistance permet de calculer la température correspondante.
La relation entre la température et la résistance n'est pas linéaire, mais peut être approchée mathématiquement. L'utilisation d'un diviseur de tension permet de déterminer la variation de la résistance. Un diviseur de tension se compose d'une résistance fixe connue et de la résistance variable de la thermistance. Lorsqu'une tension est appliquée au diviseur de tension, la tension se divise en fonction des valeurs de la résistance. En mesurant la tension aux bornes de la thermistance, il est possible de calculer la résistance actuelle.
Ces valeurs de résistance peuvent ensuite être converties en températures. La méthode de calcul exacte et l'approche mathématique pour déterminer la température sont décrites dans les exemples de code ci-joints. Ce module est idéal pour les applications qui nécessitent des mesures de température précises, comme les commandes de climatisation, les systèmes de surveillance et autres processus dépendant de la température. Grâce à sa grande précision et à sa large plage de mesure, il constitue une solution fiable pour de nombreuses tâches de mesure de la température.
Données techniques | |
---|---|
Comprend un NTC | |
Plage de mesure | -55°C à +125°C |
Résistance connue | 10kΩ |
Résistance spécifique du NTC | 3950Ω |
Affectation des broches
Arduino | Capteur |
---|---|
A1 | Signal |
5 V | +V |
GND | GND |
On peut aussi utiliser un ADC comme le KY-053. Cet ADC a une résolution plus élevée que l'ADC interne de l'Arduino, ce qui permet d'évaluer le capteur avec plus de précision.
Exemple de code
Le programme mesure la valeur de la tension actuelle au niveau de la CTN, calcule la température et traduit le résultat en °C pour la sortie série.
Pour charger l'exemple de code suivant sur votre Arduino, nous vous recommandons d'utiliser l'IDE Arduino. Dans l'IDE, vous pouvez choisir le port et la carte qui conviennent à votre appareil.
Copiez le code ci-dessous dans votre IDE. Pour télécharger le code sur votre Arduino, il vous suffit de cliquer sur le bouton " Upload ".
int ntc = A1; // Déclaration de la broche d'entrée du capteur
// Déclaration de variables temporaires
double raw_value;
double voltage;
double temperature;
void setup () {
pinMode(ntc, INPUT); // Initialisation de la broche du capteur
Serial.begin(9600); // Initialisation du moniteur sériel
Serial.println("KY-013 Test de température NTC");
}
void loop () {
// Lire la valeur analogique
raw_value = analogRead(ntc);
// Lire la tension au moyen d'une valeur analogique
voltage = raw_value * 5.0 / 1023.0;
// Calcul de la température au moyen de la tension
temperature = ((voltage / 5.0) * 10000.0) / (1.0 - (voltage / 5.0));
temperature = 1.0 / ((1.0 / 298.15) + (1.0 / 3950.0) * log(temperature / 10000.0));
temperature = temperature - 273.15;
// Sortie de la valeur de mesure
Serial.println("Température: " + String(temperature) + " °C");
delay(1000); // attendre 1 seconde la prochaine mesure
}
Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. Une thermistance NTC (Negative Temperature Coefficient) a la particularité de voir sa résistance diminuer lorsque la température augmente. Cette modification de la valeur de la résistance permet de calculer la température correspondante.
La relation entre la température et la résistance n'est pas linéaire, mais peut être approchée mathématiquement. L'utilisation d'un diviseur de tension permet de déterminer la variation de la résistance. Un diviseur de tension se compose d'une résistance fixe connue et de la résistance variable de la thermistance. Lorsqu'une tension est appliquée au diviseur de tension, la tension se divise en fonction des valeurs de la résistance. En mesurant la tension aux bornes de la thermistance, il est possible de calculer la résistance actuelle.
Ces valeurs de résistance peuvent ensuite être converties en températures. La méthode de calcul exacte et l'approche mathématique pour déterminer la température sont décrites dans les exemples de code ci-joints. Ce module est idéal pour les applications qui nécessitent des mesures de température précises, comme les commandes de climatisation, les systèmes de surveillance et autres processus dépendant de la température. Grâce à sa grande précision et à sa large plage de mesure, il constitue une solution fiable pour de nombreuses tâches de mesure de la température.
Données techniques | |
---|---|
Comprend un NTC | |
Plage de mesure | -55°C à +125°C |
Résistance connue | 10kΩ |
Résistance spécifique du NTC | 3950Ω |
Affectation des broches
Raspberry Pi | Capteur |
---|---|
- | Signal |
3,3 V [Pin 1] | +V |
GND [Pin 6] | GND |
Capteur | KY-053 |
---|---|
Signal | A0 |
+V | - |
GND | - |
Raspberry Pi | KY-053 |
---|---|
GPIO 3 [Pin 5] | SCL |
Gpio 2 [Pin 3] | SDA |
3,3 V [Pin 1] | VDD |
GND [Pin 6] | GND |
Il s'agit d'un programme d'exemple similaire, à la différence qu'ici, aucune LED n'est allumée, mais quelque chose est émis dans la console lorsqu'un signal est détecté.
Capteur analogique, il faut donc respecter les points suivants.
Contrairement à l'Arduino, le Raspberry Pi n'a pas d'entrées analogiques ou il n'y a pas d'ADC (convertisseur analogique numérique) intégré dans la puce du Raspberry Pi. Cela limite le Raspberry Pi, si vous voulez utiliser des capteurs, où les valeurs de sortie ne sont pas numériques [valeur de tension dépassée -> valeur numérique ON | valeur de tension sous-cotée -> valeur numérique OFF | exemple : bouton enfoncé [ON] bouton relâché [OFF]], mais il doit s'agir d'une valeur variable continue (exemple : potentiomètre -> autre position = autre valeur de tension).
Pour éviter ce problème, notre kit de capteur X40 a le KY-053, un module avec ADC précis de 16 bits, que vous pouvez utiliser sur le Raspberry pour l'étendre avec 4 entrées analogiques. Il est connecté au Raspberry Pi via I2C, prend en charge la mesure analogique et transmet la valeur numérique au Raspberry Pi.
Ainsi, nous recommandons de connecter le module KY-053 avec ledit ADC entre les capteurs analogiques de cet ensemble. Pour plus d'informations, veuillez consulter la page d'information sur le convertisseur analogique-numérique KY-053.
Exemple de code
Le programme utilise les bibliothèques Python ADS1x15 et I2C correspondantes d'Adafruit pour piloter l'ADC ADS1115. Ceux-ci ont été publiés au lien suivant https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15 sous la licence MIT. Les bibliothèques requises ne sont pas incluses dans le paquet de téléchargement ci-dessous.
Le programme utilise l'ADC ADS1115 pour mesurer la valeur de la tension actuelle au niveau de l'ADC, l'utilise pour calculer la résistance actuelle de la CTN, utilise les valeurs déterminées à l'avance pour ce capteur pour calculer la température, et envoie le tout à la console.
Veuillez noter que vous devez activer l'I2C sur votre Raspberry Pi avant d'utiliser cet exemple.
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
import math
# Créer le bus I2C
i2c = busio.I2C(board.SCL, board.SDA)
# Créer l'objet ADC avec le bus I2C
ads = ADS.ADS1115(i2c)
# Définir la tension maximale possible (en fonction de la tension de référence)
voltageMax = 3.3
# Créer des entrées individuelles sur les canaux
chan0 = AnalogIn(ads, ADS.P0)
chan1 = AnalogIn(ads, ADS.P1)
chan2 = AnalogIn(ads, ADS.P2)
chan3 = AnalogIn(ads, ADS.P3)
# Boucle du programme principal
while True:
# Calcul de la température par l'intermédiaire d'une résistance NTC
ntc_resistance = ((chan0.voltage / voltageMax) * 10000) / (1 - (chan0.voltage / voltageMax))
temperatur = 1 / ((1 / 298.15) + (1 / 3950) * math.log(ntc_resistance / 10000))
temperatur -= 273.15 # Conversion de Kelvin en Celsius
print("Temperatur: {:.2f} °C".format(temperatur))
print("---------------------------------------------------")
time.sleep(1)
Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. Une thermistance NTC (Negative Temperature Coefficient) a la particularité de voir sa résistance diminuer lorsque la température augmente. Cette modification de la valeur de la résistance permet de calculer la température correspondante.
La relation entre la température et la résistance n'est pas linéaire, mais peut être approchée mathématiquement. L'utilisation d'un diviseur de tension permet de déterminer la variation de la résistance. Un diviseur de tension se compose d'une résistance fixe connue et de la résistance variable de la thermistance. Lorsqu'une tension est appliquée au diviseur de tension, la tension se divise en fonction des valeurs de la résistance. En mesurant la tension aux bornes de la thermistance, il est possible de calculer la résistance actuelle.
Ces valeurs de résistance peuvent ensuite être converties en températures. La méthode de calcul exacte et l'approche mathématique pour déterminer la température sont décrites dans les exemples de code ci-joints. Ce module est idéal pour les applications qui nécessitent des mesures de température précises, comme les commandes de climatisation, les systèmes de surveillance et autres processus dépendant de la température. Grâce à sa grande précision et à sa large plage de mesure, il constitue une solution fiable pour de nombreuses tâches de mesure de la température.
Données techniques | |
---|---|
Comprend un NTC | |
Plage de mesure | -55°C à +125°C |
Résistance connue | 10kΩ |
Résistance spécifique du NTC | 3950Ω |
Affectation des broches
Micro:Bit | Capteur |
---|---|
- | Signal |
3 V | +V |
GND | GND |
Capteur | KY-053 |
---|---|
Signal | A0 |
+V | - |
GND | - |
Micro:Bit | KY-053 |
---|---|
Pin 19 | SCL |
Pin 20 | SDA |
3 V | VDD |
GND | GND |
Capteur analogique, il faut donc respecter les points suivants: Le Micro:Bit dispose d'entrées analogiques ou d'un ADC (convertisseur analogique-numérique) intégré dans la puce du Micro:Bit. Cependant, ceux-ci ne sont limités qu'à 10 bits et n'offrent donc qu'une précision assez faible pour les mesures analogiques.
Pour éviter ce problème, notre kit de capteur X40 contient le KY-053, un module avec un ADC de 16 bits, que vous pouvez utiliser sur le Micro:Bit pour l'étendre de 4 entrées analogiques. Celui-ci est connecté au Micro:Bit via I2C, prend en charge la mesure analogique et transfère la valeur numériquement au Micro:Bit.
Par conséquent, nous recommandons de connecter le module KY-053 avec le CAN mentionné entre les capteurs analogiques de ce jeu. Plus d'informations peuvent être trouvées sur la page d'information du convertisseur analogique numérique Convertisseur analogique numérique KY-053.
Exemple de code
Le programme utilise la bibliothèque correspondante de notre part pour contrôler l'ADC ADS1115. Ceci a été publié sous le lien suivant pxt-ads1115 sous la licence MIT.
let _2 = 0
let temperature = 0
ADS1115.setMode(mode.Multi)
ADS1115.setRate(rate.Rate6)
ADS1115.setGain(gain.One)
ADS1115.initADS1115(userInI2C.Gnd)
basic.forever(function () {
_2 = ADS1115.raw_to_v(ADS1115.read(0))
temperature = _2 / 3.3 * 10000 / (1 - _2 / 3.3)
temperature = 1 / (1 / 298.15 + 1 / 3950 * Math.log(temperature / 10000))
temperature = temperature - 273.15
serial.writeLine("" + (temperature))
basic.pause(1000)
})
Téléchargement d'un exemple de programme
Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. Une thermistance NTC (Negative Temperature Coefficient) a la particularité de voir sa résistance diminuer lorsque la température augmente. Cette modification de la valeur de la résistance permet de calculer la température correspondante.
La relation entre la température et la résistance n'est pas linéaire, mais peut être approchée mathématiquement. L'utilisation d'un diviseur de tension permet de déterminer la variation de la résistance. Un diviseur de tension se compose d'une résistance fixe connue et de la résistance variable de la thermistance. Lorsqu'une tension est appliquée au diviseur de tension, la tension se divise en fonction des valeurs de la résistance. En mesurant la tension aux bornes de la thermistance, il est possible de calculer la résistance actuelle.
Ces valeurs de résistance peuvent ensuite être converties en températures. La méthode de calcul exacte et l'approche mathématique pour déterminer la température sont décrites dans les exemples de code ci-joints. Ce module est idéal pour les applications qui nécessitent des mesures de température précises, comme les commandes de climatisation, les systèmes de surveillance et autres processus dépendant de la température. Grâce à sa grande précision et à sa large plage de mesure, il constitue une solution fiable pour de nombreuses tâches de mesure de la température.
Données techniques | |
---|---|
Comprend un NTC | |
Plage de mesure | -55°C à +125°C |
Résistance connue | 10kΩ |
Résistance spécifique du NTC | 3950Ω |
Affectation des broches
Raspberry Pi Pico | Capteur |
---|---|
3,3 V | +V |
GND | GND |
GPIO26 (A0) | Signal |
On peut aussi utiliser un ADC comme le KY-053. Cet ADC a une résolution plus élevée que l'ADC interne de l'Raspberry Pi Pico, ce qui permet d'évaluer le capteur avec plus de précision.
Exemple de code
Le programme mesure la valeur de tension actuelle sur la NTC, calcule la température et traduit le résultat en °C pour la sortie série.
Pour charger l'exemple de code suivant sur votre Pico, nous vous recommandons d'utiliser l'IDE Thonny. Il vous suffit de commencer par sélectionner Run > Configure interpreter ... > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico).
Copiez maintenant le code ci-dessous dans votre IDE et cliquez sur Run.
# Charger des bibliothèques
from machine import ADC
import math
from time import sleep
# Initialisation de l'ADC0 (GPIO26)
adc = ADC(0)
print("KY-013 Mesure de la température")
while True:
# Lire ADC0 comme un nombre décimal
read = adc.read_u16()
# Calculer la tension
voltage = read * 3.3 / 65536
# Conversion de tension en température
temperature = ((voltage / 3.3) * 10000) / (1 - (voltage / 3.3))
temperature = 1 / ((1 / 298.15) + (1 / 3950) * math.log(temperature / 10000))
temperature = temperature - 273.15
# Sortie sérielle de la température calculée
print("Température: " + str(temperature) + " °C")
sleep(1)