Option 1: le capteur numérique DS18B20
Je me suis procuré sur eBay une sonde constituée d'un capteur DS18B20 enfermé dans une capsule métallique hermétique et muni d'un câble d'environ 1 mètre de long (cherchez "Digital Temperature Sensor Probe DS18B20").
Les branchements du capteur à l'Arduino sont extrêmement simples:
- fil rouge du capteur: 5 V de l'Arduino
- fil noir du capteur: GND de l'Arduino
- fil bleu du capteur: entrée numérique 8 de l'Arduino
- résistance de 4,7 K placée entre le fil rouge et le fil bleu
Le seul inconvénient que je pourrais y voir, c'est que le décodage du message numérique reçu en provenance du DS18B20 est à mon avis un peu plus compliqué qu'un traditionnel signal analogique, mais la librairie "OneWire" fait le gros du travail. Pour dire la vérité, je me suis contenté de modifier légèrement un sketch trouvé sur le site Hacktronics, sans me poser trop de questions sur la signification profonde du code. Pour bien comprendre ce qui se passe, je vous conseille plutôt cet excellent tutoriel en français.
En ce qui concerne les branchements de l'afficheur à cristaux liquides (LCD), vous pouvez vous référer au schéma publié ici.
Option 2: le capteur analogique LM35DZ
J'ai aussi essayé le LM35, qui est un capteur de température analogique: il émet une tension proportionnelle à la température en degrés Celsius (10,0 mV par degré). Il permet de mesurer des températures similaires au DS18B20: de -55°C à 150°C, avec une résolution de 0,5°C. Toutefois, la mesure d'une température négative avec un Arduino entraîne quelques complications, car on ne veut pas acheminer une tension négative à une entrée analogique...
J'ai fabriqué ma propre sonde hermétique en enfermant un LM35DZ dans une gaine thermorétractable et en ajoutant un peu de silicone.
En principe, les branchements à l'Arduino sont ridiculement simples:
- broche GND du LM35 : GND de l'Arduino
- broche Vout du LM35: Entrée analogique 0 de l'Arduino
- broche Vs du LM35: Sortie 5 V de l'Arduino
Autre précaution utile: puisque la tension qui provient à l'entrée analogique de l'Arduino ne dépassera guère 1 V, aussi bien utiliser une valeur de référence de 1,1 V plutôt que la valeur habituelle de 5 V (auquel cas l'appareil n'utiliserait que 20% de la plage disponible). C'est fait dans le sketch au moyen de l'instruction "analogReference(INTERNAL);".
En ce qui concerne les branchements de l'afficheur à cristaux liquides (LCD), vous pouvez vous référer au schéma publié ici.
D'autres options?
Le LM335 est un autre capteur analogique qui peut être utilisée à la place du LM35 (il s'agit d'une diode Zener dont la tension de rupture est proportionnelle à la température.
Un thermocouple pourrait aussi être utilisé si vous désirez mesurer des températures très élevées (dans un four, par exemple). Et il y a la bonne vieille thermistance, dont la résistance varie avec la température. Dans ces cas, le calcul d'une température exacte en degrés Celsius à partir du signal mesuré peut par contre se révéler assez complexe.
Yves Pelletier (Twitter: @ElectroAmateur)
Bonjour,
RépondreSupprimerpouvez-vous me dire à quoi correspond l'affichage sur le LCD 296K ???
Je suis un débutant. Merci
bin, en fait, il s'agit de la température en Kelvin, qui est une unité de température absolue.
RépondreSupprimerBonjour, l'afficheur LCD résiste t-il aux rayons uv ? merci d'avance.
RépondreSupprimer