P2E-TMP36-FR
Introduction
Les capteurs de températures existent sous de très nombreuses formes. Certains sont prévu pour une utilisateur en milieu alimentaire, d'autres pour le milieu industriel et enfin quelques autres pour un usage générale. Les plages de températures dépendent aussi du modèle et du type d'application.
Les capteurs de températures les plus facile à utiliser sont analogiques car la tension de sortie est proportionnelle à la température et être lue directement avec une entrée analogique.
L'image ci-dessous présente un TMP36 et ainsi que son brochage.
- La masse (à droite),
- La sortie analogique (au center),
- L' alimentation (2.7 à 5.5V, à gauche).
Le TMP36 permet de mesurer une température entre -50°C et 125°C. La tension de sortie varie de 10 millivolts par degrés pour le TMP36 et commence à 500mV pour 0°C.
Comme de nombreux capteurs analogiques, le TMP36 est très sensible au bruit présent sur son alimentation. Ce bruit, s'il y en a, se retrouvera sur la sortie analogique et se traduira par une température fluctuante. |
Le graphique ci-dessous explicite la relation entre la température et la tension de sortie du TMP36 (courbe B pour 3.3V).
La formule :
Temp in °C = ( output_voltage_in_mV - 500) / 10
Donc, pour une tension de exactement 1 volt (1000 mV) nous devrions calculer la température suivante:
temp = (1000 - 500)/10 = 50 °C.
Capteur de température du Pico-2-Explorer
Le Pico-2-Explorer propose le capteur de température TMP36 dans sa section analogique.
Cas pratique
L'exemple ci-dessous se propose de relever la valeur de la tension du TMP36 sur du convertisseur analogique et de calculer la température en °C.
Branchement simplifié
Dans cet exemple, nous allons brancher la photo-résistance (notée LDR) sur l'entrée analogique A1 (GP27) pour lire la valeur sur le convertisseur analogique.
La LED rouge est branchée sur la broche GP20, tandis que la LED verte est branchée sur GP21. Ces broches sont configurées en sortie.
- La LED verte s'allume dès que la température atteint ou dépasse 19°C mais reste inférieure à 25°C
- La LED rouge s'allume dès que la température atteint ou dépasse 25°C (cas où la LED verte doit s'éteindre). C'est un bon indicateur signifiant qu'il faut aérer la pièce pour la rafraîchir.
Remarque: Si vous n'êtes pas encore familiarisé avec l'utilisation des entrées analogiques alors vous pouvez consulter le tutoriel sur les entrées analogiques.
Code
Le code ci-dessous peut être saisi dans une session REPL ou dans Thonny IDE.
Cet exemple est également disponible dans le dépôt analog-tmp36.py .
1 from machine import Pin, ADC
2 import time
3
4 # Désactive PowerSafe (lower ripple)
5 Pin( 23, Pin.OUT, value=True )
6 a1 = ADC( Pin( Pin.board.GP27 ) )
7 red = Pin( Pin.board.GP20, Pin.OUT )
8 green = Pin( Pin.board.GP21, Pin.OUT )
9
10 def calc_temp( millivolts ):
11 return (millivolts-500)/10
12
13 while True:
14 val = 0
15 for i in range( 10 ):
16 val += a1.read_u16()
17 val = val/10
18
19 mv = 3300*val/65535
20 temp = calc_temp( mv )
21 print( 'adc=%5i , mv=%5i, temp=%2.2f °C' % (val, mv, temp) )
22
23 green.value( 19<=temp<25 )
24 red.value( temp>= 25 )
25
26 time.sleep_ms( 300 )
Il ne reste plus qu'a tester la capteur. Il est possible d'augmenter la température en pinçant le capteur entre ses deux doigts. Le mouiller avec un peu d'alcool (isopropylique ou désinfectant) abaissera sa température tandis que l'alcool s'évaporera en emportant des calories.
Voici quelques explications concernant le script:
- Ligne 4: xxx.
Il est également possible de visualiser ces informations sous forme de graphique.
Un problème?
Pas de changement de valeur pour "adc=" ? (elle devrait varier entre 25000 et 55000)
- vérifier le raccordement entre GP27 et LDR
- Vérifier la déclaration de la broche a1 dans le script
- La photo-résistance est elle suffisamment masquée?
La valeur change subitement lorsque je pose le doigt sur la photo-résistance?
- La peau humaine présente également une résistance. Celle-ci perturbe la résistance de la photo-résistance si celle-ci expose des contacts métalliques.
La LED ne s'allume jamais!
- vérifier le branchement de la LED.
- vérifier que la valeur ADC tombe bien en dessous de 32000 lorsque la photo-résistance est masquée. Au besoin, augmenter la valeur de TURN_ON.
La LED ne s'éteint jamais!
- verifier si la valeur ADC passe au dessus de 32000 lorsque la photo-résistance est en pleine lumière. Au besoin abaisser la valeur de TURN_ON.
Le défi
Remplacer la valeur TURN_ON par celle obtenue par le potentiomètre branché sur A0 (GP26).
Le potentiomètre sert alors de consigne, un fonctionnement similaire à une lampe automatique pour jardin.
Encore plus
Brancher un TMP36
Voici comment brancher un capteur de température TMP36, sans oublier d'apporter la masse et la tension d'alimentation nécessaire.
Pour sa part, les LEDs sont équipée d'une résistance afin de limiter le courant.
Autres tutoriels
Ce wiki contient d'autres exemples autour de l'acquisition analogique.
Détecter la présence de lumière et la luminosité générale avec ce capteur analogique
Traduction augmentée réalisée par Meurisse. D pour shop.MCHobby.be - Licence CC-BY-SA.