Projet 5 – Activité 1

”Mesure de températures avec un
capteur TMP 36 ou LM 35 ”

 

 

 

Objectif

Dans cette activité, nous allons mesurer une température à l’aide d’un capteur TMP 36 ou LM 35.
La tension de sortie de ces capteurs est linéairement proportionnelle à la température.

 

Le programme

Le code de l’activité, en Python ou en langage Arduino, lit la valeur de la broche A0 (nombre entier entre 0 et 1023), convertit cette valeur en tension en V (nombre décimal entre 0 et 5 V) et affiche la température correspondante dans la fenêtre Python Shell ou le moniteur série.

Par défaut, le code est prévu pour un capteur TMP 36, mais le calcul de la température avec un LM 35 étant en commentaire, il suffit de modifier le code pour mesurer une température avec ce capteur.

 

. Programme en Python (”Projet5\Activity1\PY\Activity1.py”)

 

Déroulement du programme :

Importation des librairies et définition de fonctions :

. Le module ”ConnectToArduino.py”, contenant les fonctions de connexion à l’Arduino via le protocole ”Firmata Express”,

. Le module PymataExpressDef.Py” regroupant toutes les fonctions utiles à l’utilisation de Pymata-express” (fonction de déclaration des entrées et sorties, de lectures, d’écritures…),

. La bibliothèque time” pour la gestion des temps de pause.

Déclaration des constantes et variables :

. PinSensor = 0 (cst correspondant au n° de la broche A0 sur laquelle le capteur de température est connecté)

. ValSensor = 0 (variable pour stocker la valeur de la broche du capteur de température)

. tension = 0 (variable correspondant à la valeur de la tension en V de la broche du capteur de température)

. temperature = 0 (variable correspondant à la température en °C calculée à partir de la valeur de la broche du capteur)

.PortComArduino (port COM sur lequel l’Arduino est connecté) 

Connexion à l’Arduino :

. Détection du port COM, tentative d’ouverture du port COM sélectionné et connexion à l’Arduino:

PortComArduino = SelectPortCOM()

board = OpenPortCom(PortComArduino)

. Si la connexion à l’Arduino est réussie :

– Déclaration de la broche du capteur de température en entrée analogique :

Set_AnalogInput_Pin(board, PinSensor)

Boucle principale du programme (boucle ”while True”) :

. Lecture de la valeur de la broche du capteur de température :

        sensorVal = Analog_Read(board, PinSensor)

. Calcul de la tension en V de la broche du capteur de température :

        tension = (sensorVal/1023)*5

. Calcul de la température en °C correspondante (exemple pour un capteur TMP 36) :

        temperature = (tension – 0.5) * 100

. Affichage de ces 3 valeurs dans la fenêtre Python Shell.

. Attente de 100 ms avant une nouvelle mesure :

        time.sleep(0.1)

Fin du programme en appuyant sur Ctrl-C :

–> Le port COM est fermé.

 

Résultats dans la fenêtre Python Shell :

 


. Programme en langage Arduino (”Projet5\Activity1\INO\Activity1.ino”)

Le code de l’activité en langage Arduino a déjà été étudié dans la partie:
Activités pour les lycées / Températures / Activité 1