• 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. La valeur de la résistance diminue à des températures plus élevées. À des températures plus élevées, la valeur de la résistance diminue.

Cette variation de résistance peut être mathématiquement approchée et convertie en une courbe linéaire et le coefficient de température (dépendance de la variation de résistance par rapport à la variation de température) peut être déterminé. À l'aide de ceux-ci, il est toujours possible de calculer la température du courant si la résistance du courant est connue.

Cette résistance peut être déterminée à l'aide d'un diviseur de tension, où une tension connue est répartie sur une résistance connue et une résistance inconnue (variable). En utilisant cette tension mesurée, la résistance peut alors être calculée - le calcul exact est donné dans les exemples de code ci-dessous.

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

Exemple de code Arduino

Affectation des broches Arduino

Arduino Sensor
- Signal
5 V +V
GND GND
Sensor KY-053
Signal A0
+V -
GND -
Arduino KY-053
5 V VDD
GND GND
Pin A5 SCL
Pin A4 SDA

L'exemple de code suivant nécessite une bibliothèque supplémentaire :

Adafruit_ADS1x15 par Adafruit publié sous la Licence BSD.

L'exemple ci-dessous utilise ladite bibliothèque - pour cela, nous vous recommandons de la télécharger depuis Github, de la décompresser et de la copier dans le dossier de la bibliothèque Arduino, qui se trouve par défaut à l'adresse (C:\User[nom d'utilisateur]\Documents\Arduino\libraries), afin qu'elle soit disponible pour cet exemple de code et les projets suivants. Alternativement, ceci est également inclus dans le paquet de téléchargement ci-dessous.

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.

#include <Adafruit_ADS1X15.h>
#include <math.h>

Adafruit_ADS1115 ads;

void setup(void)
{
  Serial.begin(9600);
  
  Serial.println("Les valeurs de l'entrée analogique A1 de l'ADS1115 sont lues et sorties.");
  Serial.println("Gamme ADC: +/- 4.096V 1 bit = 0.125mV");
  
  // Te module dispose d'amplificateurs de signaux sur ses entrées analogiques, 
  // dont l'amplification peut être configurée par logiciel dans les plages ci-dessous.
  // Ceci est souhaité dans le cas où une certaine plage de tension est attendue 
  // comme résultat de mesure et une plage est attendue comme résultat de mesure 
  // et ainsi une résolution plus élevée du signal est obtenue.
  // ADS1115
  // -------
  // ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain +/- 6.144V 1 bit = 0.1875mV
  // ads.setGain(GAIN_ONE); // 1x gain +/- 4.096V 1 bit = 0.125mV
  // ads.setGain(GAIN_TWO); // 2x gain +/- 2.048V 1 bit = 0.0625mV
  // ads.setGain(GAIN_FOUR); // 4x gain +/- 1.024V 1 bit = 0.03125mV
  // ads.setGain(GAIN_EIGHT); // 8x gain +/- 0.512V 1 bit = 0.015625mV
  // ads.setGain(GAIN_SIXTEEN); // 16x gain +/- 0.256V 1 bit = 0.0078125mV
  
  ads.begin();
}

void loop(void)
{
  uint16_t adc1;
  float voltage1;
  float gain_conversion_factor;
  
  // La commande "ads.readADC_SingleEnded(0)" est l'opération réelle qui lance la mesure dans l'ADC.
  // Le "0" comme variable pour cette fonction définit le canal utilisé qui doit être mesuré.
  // Si, par exemple, le troisième canal doit être mesuré, cette variable doit être remplacée par "3".
  adc1 = ads.readADC_SingleEnded(1);
  
  // Conversion des valeurs enregistrées en une tension.
  voltage1 = ads.computeVolts(adc1);
  
  // Sortir les valeurs sur l'interface série
  Serial.print("Entrée analogique 1: "); Serial.print(voltage1); Serial.println(" V");
 
  double Temp;
  Temp = ((voltage1 / 3300) * 10000) / (1 - (voltage1 / 3300));
  Temp = 1 / ((1/298.15) + (1 / 3950.0) * log(Temp / 10000));
  Temp = Temp - 273.15;
  
  Serial.print("La température actuelle est:");
  Serial.print(Temp);
  Serial.println("°C");
  Serial.println("---------------------------------------");

  delay(1000);
}

Télécharger l'exemple de programme

KY013-Arduino.zip

Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. La valeur de la résistance diminue à des températures plus élevées. À des températures plus élevées, la valeur de la résistance diminue.

Cette variation de résistance peut être mathématiquement approchée et convertie en une courbe linéaire et le coefficient de température (dépendance de la variation de résistance par rapport à la variation de température) peut être déterminé. À l'aide de ceux-ci, il est toujours possible de calculer la température du courant si la résistance du courant est connue.

Cette résistance peut être déterminée à l'aide d'un diviseur de tension, où une tension connue est répartie sur une résistance connue et une résistance inconnue (variable). En utilisant cette tension mesurée, la résistance peut alors être calculée - le calcul exact est donné dans les exemples de code ci-dessous.

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

Exemple de code Raspberry Pi

Affectation des broches Raspberry Pi

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.

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)

Exemple de téléchargement de programme

KY013-RPi.zip

Pour commencer avec la commande :

sudo python3 KY013-mit-KY053.py

Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. La valeur de la résistance diminue à des températures plus élevées. À des températures plus élevées, la valeur de la résistance diminue.

Cette variation de résistance peut être mathématiquement approchée et convertie en une courbe linéaire et le coefficient de température (dépendance de la variation de résistance par rapport à la variation de température) peut être déterminé. À l'aide de ceux-ci, il est toujours possible de calculer la température du courant si la résistance du courant est connue.

Cette résistance peut être déterminée à l'aide d'un diviseur de tension, où une tension connue est répartie sur une résistance connue et une résistance inconnue (variable). En utilisant cette tension mesurée, la résistance peut alors être calculée - le calcul exact est donné dans les exemples de code ci-dessous.

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

Exemple de code Micro:Bit

Affectation des broches Micro:Bit :

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.

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.

Téléchargement d'un exemple de programme

microbit-KY-013.zip

Ce module contient une thermistance NTC qui peut mesurer des températures comprises entre -55°C et +125°C. La valeur de la résistance diminue à des températures plus élevées. À des températures plus élevées, la valeur de la résistance diminue.

Cette variation de résistance peut être mathématiquement approchée et convertie en une courbe linéaire et le coefficient de température (dépendance de la variation de résistance par rapport à la variation de température) peut être déterminé. À l'aide de ceux-ci, il est toujours possible de calculer la température du courant si la résistance du courant est connue.

Cette résistance peut être déterminée à l'aide d'un diviseur de tension, où une tension connue est répartie sur une résistance connue et une résistance inconnue (variable). En utilisant cette tension mesurée, la résistance peut alors être calculée - le calcul exact est donné dans les exemples de code ci-dessous.

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

Exemple de code Raspberry Pi Pico

Affectation des broches Raspberry Pi Pico

Raspberry Pi Pico Capteur
3,3 V +V
GND GND
- Signal
Capteur KY-053
Signal A0
+V -
GND -
Raspberry Pi Pico KY-053
GPIO 1 SCL
GPIO 0 SDA
3,3 V VDD
GND GND

Capteur analogique, il faut donc respecter ce qui suit

Le Raspberry Pi Pico dispose d'entrées analogiques pour l'ADC (convertisseur analogique numérique) interne dans la puce du Raspberry Pi Pico, mais cet ADC n'a qu'une résolution de 12 bits.

Pour contourner cet ADC de 12 bits, notre kit de capteur X40 avec le KY-053 dispose d'un module avec ADC précis de 16 bits, que vous pouvez utiliser sur le Raspberry Pi Pico pour l'étendre avec 4 entrées analogiques. Ce module est connecté au Raspberry Pi Pico via I2C, prend en charge la mesure analogique et transmet la valeur numériquement au Raspberry Pi Pico.

Par conséquent, nous recommandons de connecter le module KY-053 avec le convertisseur analogique-numérique mentionné entre les capteurs analogiques de cet ensemble. Plus d'informations peuvent être trouvées sur la page d'information pour le convertisseur analogique numérique KY-053.

Le programme utilise la bibliothèque ADS1115-Micropython correspondante de Joy-IT pour contrôler l'ADS1115 ADC. Il a été publié sous le lien suivant https://github.com/joy-it/ADS1115-Micropython sous la licence MIT. La bibliothèque requise est incluse dans le paquet de téléchargement ci-dessous.

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.

# Charger des bibliothèques
from machine import Pin
from time import sleep
import ADS1115
import math

# Initialisation de l'ADC
ADS1115.init(0x48, 1, 4, False)

# Boucle infinie pour lire l'ADC
while True:
    Volt = ADS1115.raw_to_v(ADS1115.read(0))
    print(str(Volt) + " V")
    # Conversion de tension en température
    temp = ((Volt / 3.3) * 10000) / (1 - (Volt / 3.3))
    temp = 1 / ((1/298.15) + (1 / 3950) * math.log(temp / 10000))
    temp = temp - 273.15

    # Sortie sérielle de la température calculée
    print("La température est de: " + str(temp) + " °C")
    print("---------------------------")

    sleep(2)

Exemple de téléchargement de programme

KY013-Pico.zip