Un thermomètre pour les lycéens

Projet réalisé par Stéphane LAURENT professeur de physique-chimie et Sylvie BERNARD-VILLAIN technicienne de laboratoire au lycée Valin de La Rochelle.

Présentation

Pour tracer des courbes de changement d'état avec nos élèves, nous avons fabriqué des thermomètres à partir d'un microcontrôleur Arduino Uno et d'un capteur de température DS18B20.

Une interface graphique permet l'acquisition des températures et le tracé en direct de la température en fonction du temps. Elle peut gérer jusqu’à trois thermomètres simultanément. Elle est téléchargeable gratuitement sur cette page.




Exemple d'utilisation


Le graphique obtenu dans l'interface graphique pour la vaporisation


Le graphique obtenu pour la fusion après exportation dans Regressi


L'utilisation de Regressi n'est absolument pas obligatoire. C'est juste pour montrer qu'il est très facile d'exporter les mesures acquises par l'interface graphique.



Conception du thermomètre

Les composants

Pour simplifier au maximum la conception de ce thermomètre, nous utiliserons un module base shield Grove, évitant ainsi les soudures.

arduino.jpg
Arduino Uno
23,90 €
Module Grove base shield
4,80 €
Ecran LCD 2×16 Grove
7,15 €
Capteur de température Grove
9,30 €
Câbles Grove
2,95 €

Sur l'une des photos de présentation ci-dessus, l'Arduino est installé dans un boitier noir. L'avantage est qu'il est bien protégé, l'inconvénient c'est qu'il n'est pas utilisable pour un autre usage.

Le montage

Si vous utilisez le thermomètre uniquement avec l'interface graphique, l'écran n'est pas indispensable .

Sur les photos, nous utilisons une plaque rassemblant différents modules Grove.
Elle n'est absolument pas indispensable. Cliquez ici pour plus de renseignements sur cette plaque.

L'interface graphique "Thermomètre"

Le thermomètre doit être relié par un câble USB avec l’ordinateur. Ensuite il suffit d'ouvrir « Thermomètre.exe ».



Un clique sur le graphique permet de l'afficher en plein écran

Démarre / Arrête l'acquisition des températures. Un point rouge s'allume devant la date lorsque la température est enregistrée.

Permet de sélectionner les options.



Efface les mesures et le graphique en cours.


Exporte les mesures soit vers le presse-papiers, soit vers Excel, soit au format csv. Le graphique peut être enregistré aux formats png, jpg, svg ou pdf.

Un exemple d'exportation vers Excel :


Téléchargements

L'interface graphique


L'interface graphique est téléchargeable ici, quel que soit le nombre de capteurs de température utilisés.

Attention, certains antivirus déclarent comme faux positif le fichier principal de l'interface graphique !
Vous devez alors intervenir sur l'antivirus pour éviter son effacement.


Les codes Arduino pour le thermomètre (capteur de température et écran LCD Grove)

Le code Arduino n'est pas le même suivant si vous utilisez un, deux ou trois capteurs de température :

1 capteur 2 capteurs 3 capteurs

Code Arduino


Télécharger

Télécharger

Télécharger



Broche(s) à utiliser

D5


D5 et D6


D5, D6 et D7

Vous pouvez éventuellement calibrer le capteur de température de manière “logiciel” en utilisant un thermomètre étalon ou par des mesures de référence (température d'ébullition de l'eau par exemple). Il faudra alors modifier la ligne suivante :

float calibration1 = 0;  // valeur de la calibration du thermomètre 1


Deux bibliothèques doivent être installées avant de téléverser le code Arduino. Voir plus bas.



Fabrication du thermomètre sans matériel Grove

Ce thermomètre peut aussi être fabriqué sans matériel Grove. Le capteur de température est toujours un DS18B20 et l'écran est un écran LCD 16×2 I2C. Il faut ajouter une résistance de 4700 Ω.

Schéma du circuit


Les codes Arduino pour le thermomètre (non Grove)

Le code Arduino n'est pas le même suivant si vous utilisez un, deux ou trois capteurs de température :

1 capteur 2 capteurs 3 capteurs

Code Arduino


Télécharger

Télécharger

Télécharger

Broche(s) à utiliser

7


6 et 7


5, 6 et 7

Pour les thermomètres précédents (non Grove), nous avons utilisé une broche par capteur de température. Or en utilisant un bus 1-Wire ou (OneWire), les capteurs DS18B20 peuvent s'associer sur une même broche. Le montage et le code Arduino sont alors différents. Pour plus d'information cliquez ici.



Rappel sur l'installation d'une bibliothèque

Le code Arduino précédent utilise des bibliothèques. Elles doivent être installées avant le téléversement du code dans l'Arduino.