Nous avons 44 invités et aucun membre en ligne

Mon thermomètre numérique a pour objectif de mesurer la température ambiante et de l’afficher sur un écran LCD.

Le montage est bâti autour du circuit intégré DS1631 qui est conçu pour mesurer la température ambiante entre – 55°C et + 125°C. Il peut transmettre en continu la valeur mesurée à un microcontrôleur via le protocole de communication I2C. J’ai choisi ce type de composant pour sa grande précision en comparaison du thermistor.

Si l’on utilise un thermistor, il faut l’insérer dans un pont diviseur de tension avec une résistance fixe. La précision de la mesure dépend, dans ce cas de figure, de la précision du convertisseur ADC utilisé. Le convertisseur DS1631, quant à lui, convertit en continu la température ambiante. Il est facile de récupérer cette information pour l’afficher sur l’écran LCD. L’avantage de ce circuit provient du large éventail du niveau de précision. Il est en effet possible d’obtenir une précision de 9, 10, 11 ou 12 bits. Bien évidemment, plus le niveau de précision est élevé et plus long sera le temps de conversion de la température. À titre d’exemple, avec une précision de 9 bits, il faut 93,75 ms au maximum pour obtenir la conversion de température alors que ce temps de conversion atteint 750 ms si l’on choisit une précision de 12 bits. Le choix de la précision doit donc être fonction du type d’application que vous souhaitez mettre en œuvre. Dans le cas qui nous intéresse, la seule fonction du projet est la lecture de température ; on a donc choisi d’utiliser le DS1631 à sa pleine capacité.

Dans les fichiers de programmation en C, vous constaterez que le programme permet l’affichage de la température avec une résolution de 11 et 12 bits. Il est également prévu d’afficher la température en degré Celsius et en degré Fahrenheit.

Le microcontrôleur utilisé est le PIC16F887 puisque le module I2C y est intégré. Il offre également l’avantage de la simplification de la programmation en C.

Sans abonnement Abonnés et Abonnés VIP
 <--- Schéma  <--- Schéma Complet
<--- Code en Hexa    <--- Code en C modifiable