Raspberry Pi - Capteur de Température Humidité - OLED

Ce tutoriel vous apprend à utiliser le Raspberry Pi pour lire la température et l'humidité à partir d'un capteur DHT11/DHT22 et les afficher sur un écran OLED.

Capteur de température et d'humidité DHT11/DHT22 pour Raspberry Pi avec affichage 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 et humidité DHT11
1×Fils de connexion

You can use DHT22 sensor instead of DHT11 sensor.

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.

À propos de l'affichage OLED, capteur de température et d'humidité DHT11 et DHT22

Si vous n'êtes pas familier avec l'affichage OLED, les capteurs de température et d'humidité DHT11 et DHT22 (y compris le brochage, la fonctionnalité, la programmation, etc.), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Raspberry Pi - Câblage du module DHT11 à l'écran LCD

Schéma de câblage Raspberry Pi DHT11 Sensor OLED

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

Raspberry Pi - Câblage du module DHT22 avec LCD

Schéma de câblage Raspberry Pi DHT22 Sensor 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

Code Raspberry Pi - Capteur DHT11 - 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 que vous avez 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
pip install Adafruit-SSD1306
  • Installez la bibliothèque pour le capteur de température et d'humidité DHT11 en exécutant la commande suivante :
sudo pip3 install Adafruit_DHT
  • Créez un fichier de script Python dht11_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-humidity-sensor-oled import Adafruit_DHT import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont import time # Set up the DHT11 sensor DHT_SENSOR = Adafruit_DHT.DHT11 DHT_PIN = 20 # GPIO pin where the DHT11 sensor is connected # 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 font = ImageFont.load_default() while True: # Read temperature and humidity from DHT11 sensor humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) # Clear the OLED display OLED.clear() # Display temperature and humidity on OLED OLED.draw.text((5, 5), f'Temp: {temperature:.1f} C', font=font, fill=255) OLED.draw.text((5, 20), f'Humidity: {humidity:.1f}%', font=font, fill=255) # Update the OLED display 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 entrant la commande suivante dans le terminal :
python3 dht11_oled.py

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

  • Faites chauffer l'environnement autour du capteur de température ou tenez le capteur dans votre main.
  • Consultez les résultats sur l'affichage OLED.

Code Raspberry Pi - Capteur DHT22 - OLED

# 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-humidity-sensor-oled import Adafruit_DHT import Adafruit_SSD1306 from PIL import Image, ImageDraw, ImageFont import time # Set up the DHT22 sensor DHT_SENSOR = Adafruit_DHT.DHT22 DHT_PIN = 20 # GPIO pin where the DHT22 sensor is connected # 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 font = ImageFont.load_default() while True: # Read temperature and humidity from DHT22 sensor humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN) # Clear the OLED display OLED.clear() # Display temperature and humidity on OLED OLED.draw.text((5, 5), f'Temp: {temperature:.1f} C', font=font, fill=255) OLED.draw.text((5, 20), f'Humidity: {humidity:.1f}%', font=font, fill=255) # Update the OLED display 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.")

※ 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 !