Capteur de température - Raspberry Pi

Ce tutoriel vous montre comment utiliser le Raspberry Pi pour lire la température à partir du capteur de température étanche 1-fil DS18B20. Ce capteur est économique, simple à utiliser et possède une apparence attrayante.

Préparation du matériel

1×Raspberry Pi 4 Model B
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×4.7 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur de température One Wire - DS18B20

Le brochage du capteur de température

Le capteur de température DS18B20 a trois broches :

  • Broche GND : qui doit être connectée à GND (0V)
  • Broche VCC : qui doit être connectée à VCC (5V ou 3,3V)
  • Broche DATA : qui est le bus de données 1-wire et doit être connectée à une broche numérique sur Raspberry Pi.

Le capteur est généralement disponible sous deux formes : boîtier TO-92 (qui ressemble à un transistor) et sonde étanche. Pour ce tutoriel, nous utiliserons la forme de sonde étanche.

Broche du capteur de température DS18B20

Pour connecter un capteur de température DS18B20 à un Raspberry Pi, une résistance de pull-up est nécessaire, ce qui peut être un peu contraignant. Heureusement, certains fabricants simplifient le processus en proposant un adaptateur de câblage qui inclut une résistance de pull-up intégrée et un bornier à vis.

Diagramme de câblage

  • Schéma de câblage utilisant une plaque de prototypage.
Schéma de câblage du capteur de température Raspberry Pi

This image is created using Fritzing. Click to enlarge image

  • Schéma de câblage utilisant un adaptateur de câblage (recommandé).
Schéma de câblage Raspberry Pi DS18B20

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Nous recommandons d'acheter un capteur DS18B20 ainsi que son adaptateur de câblage associé pour une installation sans faille. Cet adaptateur inclut une résistance intégrée, éliminant le besoin d'une résistance supplémentaire dans le câblage. Nous l'avons également testé et cela a bien fonctionné.

Code Raspberry Pi

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Avant d'utiliser le capteur de température DS18B20 avec un Raspberry Pi, nous devons activer l'interface 1-Wire sur le Raspberry Pi. Voir Comment activer l'interface 1-Wire sur Raspberry Pi
  • Installez la bibliothèque pour le capteur de température DS18B20 en exécutant la commande suivante :
pip install w1thermsensor
  • Créez un fichier de script Python DS18B20.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/tutorials/raspberry-pi/raspberry-pi-temperature-sensor from w1thermsensor import W1ThermSensor import time # Find the connected DS18B20 sensor def find_ds18b20_sensor(): for sensor in W1ThermSensor.get_available_sensors(): if sensor.type == W1ThermSensor.THERM_SENSOR_DS18B20: return sensor return None # Read temperature from the sensor def read_temperature(sensor): temperature_celsius = sensor.get_temperature() temperature_fahrenheit = sensor.get_temperature(W1ThermSensor.DEGREES_F) return temperature_celsius, temperature_fahrenheit # Find DS18B20 sensor ds18b20_sensor = find_ds18b20_sensor() if ds18b20_sensor is not None: print(f"DS18B20 Sensor found: {ds18b20_sensor.id}") try: while True: # Read temperature temperature_c, temperature_f = read_temperature(ds18b20_sensor) print(f"Temperature: {temperature_c:.2f}°C | {temperature_f:.2f}°F") # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: print("Program terminated by user.") else: print("DS18B20 Sensor not found.")
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le Terminal :
python3 sensors.py
  • Placez le capteur dans de l'eau chaude et froide, ou tenez-le dans votre main.
  • Vérifiez la sortie sur le terminal.
PuTTY - Raspberry Pi
Temperature: 26.31°C | 79.36°F Temperature: 26.44°C | 79.59°F Temperature: 26.50°C | 79.70°F Temperature: 26.56°C | 79.81°F Temperature: 27.06°C | 80.71°F Temperature: 27.75°C | 81.95°F Temperature: 28.37°C | 83.07°F Temperature: 29.00°C | 84.20°F Temperature: 29.56°C | 85.21°F Temperature: 30.00°C | 86.00°F Temperature: 30.31°C | 86.56°F Temperature: 30.62°C | 87.12°F Temperature: 30.87°C | 87.57°F

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le Terminal.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!