Raspberry Pi - Capteur de température - OLED

Ce tutoriel vous explique comment utiliser un Raspberry Pi pour acquérir la température à partir d'un capteur à un fil DS18B20, puis l'afficher sur un écran OLED.

Préparation du matériel

1×Raspberry Pi 5
1×Écran OLED I2C SSD1306 128x64
1×Écran OLED I2C SSD1306 128x32
1×Capteur de température DS18B20 (avec adaptateur)
1×Capteur de température DS18B20 (sans adaptateur)
1×4.7 kΩ Resistor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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.

Note d'achat: De nombreux capteurs DS18B20 sur le marché sont de faible qualité. Nous recommandons vivement d'acheter le capteur de la marque DIYables en utilisant le lien ci-dessus. Nous l'avons testé et il a bien fonctionné.

À propos de l'OLED et du capteur de température DS18B20

Si vous n'êtes pas familier avec l'OLED et le capteur de température DS18B20 (y compris l'attribution des broches, le fonctionnement, la programmation, etc.), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage du capteur de température DS18B20 Raspberry Pi OLED

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi

Nous recommandons d'acheter un capteur DS18B20 avec son adaptateur de câblage correspondant pour une installation sans accroc. Cet adaptateur inclut une résistance intégrée, éliminant ainsi le besoin d'une résistance supplémentaire dans le câblage.

Code Raspberry Pi - Température à partir du capteur de température DS18B20 et affichage sur OLED

É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 devez 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. Si ce n'est pas le cas, 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
pip install Adafruit-SSD1306
  • Créez un fichier de script Python DS18B20_OLED.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-oled import time from w1thermsensor import W1ThermSensor import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont # Set up the DS18B20 sensor DS18B20 = W1ThermSensor() # Set up the SSD1306 OLED display RST = None OLED = Adafruit_SSD1306.SSD1306_128_64(rst=RST) OLED.begin() OLED.clear() OLED.display() # Set up fonts and drawing width = OLED.width height = OLED.height image = Image.new('1', (width, height)) draw = ImageDraw.Draw(image) font = ImageFont.load_default() while True: # Read temperature from DS18B20 sensor temperature = DS18B20.get_temperature() # Clear the OLED display draw.rectangle((0, 0, width, height), outline=0, fill=0) # Display temperature on OLED draw.text((5, 5), f'Temperature: {temperature:.2f} C', font=font, fill=255) # Update the OLED display OLED.image(image) OLED.display() # Wait for a moment before reading again time.sleep(2) except KeyboardInterrupt: # Clean up code before exiting the script OLED.clear() OLED.display() print("\nExiting the script.")
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 DS18B20_OLED.py

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

  • Positionnez le capteur au-dessus de l'eau chaude et froide, ou tenez-le dans votre main.
  • Vérifiez le résultat sur l'écran OLED.

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !