Mesurer la température avec un capteur de température Raspberry Pi (1 fil)

L’une des nombreuses applications d’un Raspberry Pi est la mesure de la température. Dans des projets comme les stations météorologiques, vous voulez connaître la valeur exacte. L’utilisation d’un capteur de température Raspberry Pi à 1 fil facilite la lecture et vous n’aurez besoin que d’une broche GPIO.

Dans ce didacticiel, il est décrit comment utiliser le capteur de température DS18B20 Raspberry Pi et le logiciel dont vous aurez besoin. Dans d’autres projets, vous pouvez utiliser ce capteur même comme déclencheur pour refroidir votre boîtier Raspberry Pi et allumer un ventilateur.

Composants

Pour ce tutoriel, j’ai utilisé les parties suivantes:

Le capteur de température DS18B20 est également disponible en version étanche.

Si vous voulez un capteur plus avancé, qui peut également mesurer l’humidité, vous devriez jeter un œil au capteur DHT11 ou DHT22, qui mesure à la fois la température et l’humidité.

Description du capteur de température Raspberry Pi 1 fil

Le capteur de température renvoie une valeur longue de 9 à 12 bits qui peut être lue et convertie. Cependant, cela (jusqu’à présent) n’est possible que sur la broche 4 du GPIO (broche 7). Mais vous pouvez également commuter plusieurs capteurs en série (car il est basé sur le Protocole 1 fil).

Câblage du capteur de température

Le câblage ou le capteur de température DS18B20, y compris une résistance, est illustré. J’ai pris une pré-résistance de 4,7k Ω:

Raspberry Pi Temperature Sensor DS18B20 1 Wire Setup

Si tout est câblé en conséquence, nous pouvons activer le protocole 1-Wire avec lui:

sudo modprobe w1-gpio
sudo modprobe w1-therm

Nous pouvons savoir si cela a fonctionné en entrant les informations suivantes:

lsmod

Les modules doivent maintenant être répertoriés, si aucune broche GPIO autre que 4 n’est utilisée ou si une erreur s’est produite lors de l’activation.

Pour que les modules soient chargés à chaque démarrage, nous les entrons dans le fichier / etc / modules:

sudo nano /etc/modules

et enfin ajoutez les deux lignes suivantes:

w1_gpio
w1_therm

Pour l’étape suivante, nous avons d’abord besoin de l’ID du capteur. Si vous prévoyez de connecter plusieurs en série, il est préférable de tester chacun individuellement et de noter l’ID afin de ne pas le confondre plus tard.

Nous changeons le répertoire et imprimons les fichiers

cd /sys/bus/w1/devices/
ls

L’un des fichiers s’appelle 10-000802b4ba0e (différent pour vous) et est l’ID que nous utilisons pour interroger le capteur (veuillez ajuster l’ID):

cat /sys/bus/w1/devices/10-000802b4ba0e/w1_slave

Dans la sortie, nous voyons la dernière indication de la température (en «milli degré»)

31 00 4b 46 ff ff 05 10 1c : crc=1c YES
31 00 4b 46 ff ff 05 10 1c t=24437

Divisé par 1000, cela fait 24,437 ° C.

Script pour extraire la valeur de température du DS18B20

Pour lire la température plus facilement (par exemple en l’utilisant dans des projets de maison intelligente comme openHAB), j’ai écrit un petit script. Si vous souhaitez plus tard obtenir la sortie en tapant simplement Température, vous devez le mettre / usr / bin /:

sudo nano /usr/bin/temperature

Le contenu:

Donnez maintenant les droits appropriés:

sudo chmod +x /usr/bin/temperature

et maintenant si vous allez à la console et tapez

temperature

puis, la température actuellement mesurée apparaît. Si un message d’erreur apparaît, vous devez installer bc.

sudo apt-get install bc

Enfin, un petit conseil: si vous souhaitez mesurer avec le capteur à l’extérieur (par exemple, suspendu à la fenêtre) et que vous ne pouvez pas utiliser de gros fils à travers la mer de la fenêtre, un câble ruban convient également (ancien IDE ou câble de lecteur de disquette). ). Bien emballé dans un sac étirable, le tout est ensuite résistant aux intempéries (laissez l’air s’échapper et collez bien, cela affecte la mesure même minime). Ou vous achetez simplement un capteur étanche, vous pouvez par exemple mesurer également la température de votre chaudière à eau.

Articles similaires

Bouton retour en haut de la page
Fermer