Comment lire la température avec un DS18B20 sur Raspberry Pi 2
Bienvenue ! Ce guide vous montre comment connecter un capteur de température numérique DS18B20 à un Raspberry Pi 2 et lire la température ambiante avec précision.
Ce dont vous aurez besoin
- Capteur DS18B20 étanche (acheter en ligne)
- Résistance de tirage 4,7 kΩ (jaune-violet-rouge-or)
- Fils de liaison (jumper wires)
- Raspberry Pi 2 (tout modèle avec GPIO)
Étape 1 – Câblage du capteur
Le DS18B20 utilise une interface 1-Wire. Connectez-le comme suit :
- Fil rouge (VDD) → rail 3,3 V sur le Pi
- Fil noir (GND) → rail de masse sur le Pi
- Fil jaune (DQ) → GPIO 4 (broche physique 7)
Placez la résistance de 4,7 kΩ entre la ligne 3,3 V et la ligne DQ pour agir comme tirage (pull-up). L'extrémité « 3,3 V » de la résistance doit toucher le côté rouge (VDD).
Étape 2 – Activer l'interface 1-Wire
1. Éditez le fichier de configuration de démarrage :
sudo nano /boot/config.txt
2. Ajoutez ou décommentez la ligne :
dtoverlay=w1-gpio
3. Sauvegardez et quittez, puis redémarrez :
sudo reboot
Étape 3 – Charger les modules noyau
Après le redémarrage du Pi, chargez les pilotes 1-Wire :
sudo modprobe w1-gpio sudo modprobe w1_therm
Étape 4 – Vérifier que le capteur est détecté
Vérifiez l'arborescence des périphériques pour l'ID du capteur :
ls -l /sys/bus/w1/devices/
Vous devriez voir un dossier commençant par 28-, par exemple 28-000006dfa76c.
Étape 5 – Lire la température
Chaque capteur expose ses données via w1_slave. Affichez-le avec :
cat /sys/bus/w1/devices/28-000006dfa76c/w1_slave
La sortie contient deux lignes ; la seconde se termine par t=XXXXX, où XXXXX est la température en millièmes de degré Celsius. Par exemple, t=23450 équivaut à 23,450 °C.
Optionnel – Analyser la valeur avec un script
Voici un extrait Python rapide pour convertir la lecture brute en °C :
#!/usr/bin/env python3 import time, glob sensor = glob.glob('/sys/bus/w1/devices/28-*/w1_slave')[0] while True: with open(sensor, 'r') as f: lines = f.readlines() if lines[0].strip().endswith('YES'): temp_raw = lines[1].split('t=')[1] temp_c = float(temp_raw) / 1000.0 print(f"Temperature: {temp_c:.3f} °C") else: print("Reading error") time.sleep(2)
Sauvegardez ceci sous temp_read.py, rendez-le exécutable, et lancez-le pour obtenir des mises à jour de température en direct.
En suivant ces étapes, vous aurez un moniteur de température fiable fonctionnant sur votre Raspberry Pi 2.
Pour des insights plus profonds, voir le guide Adafruit DS18B20.
Processus de fabrication
- Système de contrôle d'accès intégré QR, RFID et vérification de température
- Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
- Profilage température Raspberry Pi précis avec Python, SQLite et LabVIEW
- Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
- Moniteur réseau température et humidité Raspberry Pi — Guide de configuration DIY
- Surveillance de température professionnelle sur Raspberry Pi avec DS18B20
- Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
- Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
- Surveillance transparente température et humidité sur Raspberry Pi avec EzTemp