Capteur de temperature pour Arduino (KY-013)

Capteur de temperature pour Arduino (KY-013)

Photo


ky-013.jpg


Données techniques / Description sommaire


Module basé sur une thermistance CTN permettant de mesurer une t° sur un plage de: -55°C / +125°C



La résistance de ce capteur CTN (coefficient de température négatif) diminue quand la température augmente. 


KY-013.png


Cette variation de résistance peut être déterminée mathématiquement et permet de déterminer le coefficient de température (en fonction de la variation de la résistance aux changements de température). Vous pouvez donc connaître la température si vous connaissez la résistance du capteur.


Cette résistance peut être déterminée à l'aide d'un diviseur de tension comme dans le schéma ci-dessous. Au moyen de la tension mesurée au point milieu, on peut alors calculer la résistance de la CTN (le calcul exact est repris dans les exemples de code ci-dessous).


KY-013 VoltDivide.jpg


Brochage


3 V G S.png


Exemple de code pour Arduino


Le programme mesure la valeur de tension continue aux bornes de la CTN, il calcule la température et envoie le résultat en ° C vers la sortie série.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <math.h>
int sensorPin = A5; // Déclaration de la broche d'entrée
 
// Cette fonction convertit la valeur analogique lue en température en °C
double Thermistor(int RawADC)
{
    double Temp;
    Temp = log(10000.0 * ((1024.0 / RawADC - 1)));
    Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );
    Temp = Temp - 273.15;            // conversion de degrés Kelvin en °C
    return Temp;
}
 
// Sortie série à 9600 bauds
void setup()
{
    Serial.begin(9600);
}
 
// le programme mesure la valeur de tension continue à la CTN et convertit le résultat en ° C pour la sortie série
void loop()
{
    int readVal = analogRead(sensorPin);
    double temp =  Thermistor(readVal);
 
    // Sortie vers l'interface série
    Serial.print("La temperature actuelle est:");
    Serial.print(temp);
        Serial.print(char(186)); //Impression du symbole <°>
    Serial.println("C");
    Serial.println("---------------------------------------");
 
    delay(500);
}


Affectation des broches Arduino:


Sensor +V = [Pin 5V]
Sensor GND = [Pin GND]
Sensor Signal = [Pin A5]


Exemple de programme à télécharger


KY-013.zip


Exemple de code pour Raspberry Pi


!! Attention !! Capteur analogique  !! Attention !!


Contrairement à une carte Arduino, la Raspberry Pi ne dispose pas d'entrées analogiques ni de convertisseur ADC (Analog Digital Converter) intégré. Cela pose problème lorsque vous voulez utiliser des capteurs analogiques avec une carte Raspberry.


Pour contourner ce problème, Sensorkit X40 inclut le module KY-053 qui possède un module convertisseur ADC de 16 bits et qui peut être raccordé sur la Raspberry pour lui procurer 4 entrées analogiques. Ce module se raccorde à la Raspberry via le bus I2C. Il mesure la tension (analogique) et envoie une valeur numérique à la Raspberry.


Vous trouverez de plus amples informations à ce sujet dans la description du module KY-053.


!!Attention !! Capteur analogique !! Attention !!



Ce programme utilise des librairies Python de la société Adafruit pour piloter les circuits ADS1115 (ADC) et ADS1x15 (I2C). 


Celles-ci se trouvent à la page https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code sous licence BSD


Le programme mesure la tension à l'aide du convertisseur ADS1115. Il calcule la résistance de la CTN, calcule la température et la transmet à la console. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/python
# coding=utf-8
   

#############################################################################################################
### Copyright by Joy-IT
### Published under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
### Commercial use only after permission is requested and granted
### Programme traduit par Go tronic
###
### KY-013 RPi TempSensor - Raspberry Pi Python Code Example
###
#############################################################################################################
# Ce code utilise les librairies Python ADS1115 et I2C pour la Raspberry Pi
# Ces librairies sont publiées sous licence BSD sur le lien ci-dessous
from Adafruit_ADS1x15 import ADS1x15
from time import sleep
  
# Les modules nécessaires sont importés et mis en place
import time, signal, sys, os, math
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
  
# Les variables utilisées sont initialisées
delayTime = 0.2
  
# attribution d'adresse ADS1x15 ADC
  
ADS1015 = 0x00  # 12-bit ADC
ADS1115 = 0x01  # 16-bit
  
# Choix du gain
gain = 4096  # +/- 4.096V
# gain = 2048  # +/- 2.048V
# gain = 1024  # +/- 1.024V
# gain = 512   # +/- 0.512V
# gain = 256   # +/- 0.256V
  
# Choix de la fréquence d'échantillonnage ADC (SampleRate)
# sps = 8    # 8 échantillons par seconde
# sps = 16   # 16 échantillons par seconde
# sps = 32   # 32 échantillons par seconde
# sps = 64   # 64 échantillons par seconde
# sps = 128  # 128 échantillons par seconde
# sps = 250  # 250 échantillons par seconde
# sps = 475  # 475 échantillons par seconde
sps = 860  # 860 échantillons par seconde
  
# choix du canal ADC (1-4)
adc_channel = 0    # Canal 0
# adc_channel = 1    # Canal 1
# adc_channel = 2    # Canal 2
# adc_channel = 3    # Canal 3
  
# initialisation du convertisseur
adc = ADS1x15(ic=ADS1115)
  
#############################################################################################################
  
# ########
# boucle de programme principale
# ########
# Le programme mesure la tension à l'aide du convertisseur ADS1115.
# Il calcule la résistance de la CTN, calcule la température et la transmet à la console.
  
try:
        while True:
                #Les valeurs actuelles sont enregistrées...
                voltage = adc.readADCSingleEnded(adc_channel, gain, sps)
                # ... converties ...
                temp = math.log((10000/voltage)*(3300-voltage))
                temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * temp * temp)) * temp);
                temp = temp - 273.15;
                # ... et affichées
                print "Température:", temp,"°C"
                print "---------------------------------------"
                # Delay
                time.sleep(delayTime)
  
  
  
except KeyboardInterrupt:
        GPIO.cleanup()


Brochage Raspberry Pi:


Capteur


+V=3,3V [Pin 1 (RPi)]
GND=Masse [Pin 06 (RPi)]
Signal analogique=Analog 0 [Pin A0 (ADS1115 - KY-053)]



ADS1115 - KY-053:


VDD = 3,3V [Pin 17]
GND = Masse [Pin 09]
SCL = GPIO03 / SCL [Pin 05]
SDA = GPIO02 / SDA [Pin 03]
A0 = s.o. [Capteur: signal analogique]


Exemple de programme à télécharger


KY-013_RPi_TemperaturSensor.zip


Commande pour lancer le programme:


1sudo python KY-013_RPi_TempSensor.py


Écrire une critique

Remarque: HTML n`est pas traduit!
    Mal           Bien
Captcha
  • : 1055
  • Code produit: KY-013
  • Disponibilité: En stock
  • $1.49