Arduino DS18B20

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Partie électronique

Le composant

Le DS18B20 peut être trouvé tel quel ou déjà monté sur une platine. C'est sous cette deuxième forme que nous allons l'utiliser.

DS18B20.jpg
DS18B20 mounted.jpg

Ce composant utilise le protocole 1-Wire propriétaire à Dallas, la firme qui le fabrique. L'avantage de ce protocole est de n'utiliser qu'un fil pour la communication (avec la masse) et que sur ce fil peuvent être connecté plusieurs sondes de la marque Dallas (jusqu'à 127 exactement).

Un autre avantage est que ce composant possède un registre qui permet de modifier la précision de la valeur renvoyée.

Mode Résolution Temps de conversion
9 bits 0.5°C 93.75 ms
10 bits 0.25°C 187.5 ms
11 bits 0.125°C 375 ms
12 bits 0.0625°C 750 ms

Le montage

Le montage suivant prévoit une résistance de pull-up sur le lien 1-Wire. Si vous utilisez la version avec la platine, la résistance est déjà présente, il ne reste plus qu'à brancher la broche data directement à l'Arduino.

DS18B20 diagram.jpg

Partie logicielle

Import de la librairie 1-Wire

Avant de continuer, il faut importer la librairie nécessaire à l'utilisation du protocole 1-Wire.

Arduino IDE 1Wire install.png

Récupérer la température

Tout d'abord un code qui permet de récupérer la température