dht_temp.py

Raspberry Pi 4 Model B (2019) — Fiche carte · Fichier : dht_temp.py · Langage : Python · Usage : Relever température et humidité d'une pièce avec un capteur DHT11/DHT22

Le module DHT (trois broches) transmet température et humidité sur un bus 1-Wire bit-bangé en logiciel depuis GPIO4 (broche 7). read_retry retente la lecture, capricieuse sur les cartes à petit CPU comme model-4b. Sortie toutes les 2 s, idéale pour un suivi de serre ou de cave à vin.

Matériel requis

Une Raspberry Pi 4 Model B (BCM2711 quad-core 1,5 GHz, USB-C 5 V/3 A, double micro-HDMI, Wi-Fi 5 GHz, GPIO 40 broches). Un capteur DHT11 ou DHT22, une résistance de 10 kΩ (pull-up), fils dupont.

Câblage

VCC sur 3,3 V, GND sur GND, DATA sur GPIO4 (broche 7) avec résistance 10 kΩ vers 3,3 V. Brochage à confirmer sur le schéma officiel J8.

Fonctionnement

Le script envoie un start, le capteur répond par 40 bits ; le timing logiciel dépend de la charge CPU, d'où les retries.

Exécution

Copiez le script sur la carte (scp), puis lancez-le avec python3 (ou bash). Raspberry Pi OS Bookworm inclut gpiozero ; sinon sudo apt install python3-gpiozero. Utilisez une alimentation USB-C 5 V/3 A pour éviter les bridages.

Variantes

DHT22 plus précis (±0,5 °C) que DHT11 ; enregistrer dans un CSV pour un historique. Utilisez l'alimentation officielle USB-C 5 V/3 A : sinon les ports USB 3 sont bridés.

dht_temp.py

# dht_temp.py — lit temperature et humidite (DHT11/DHT22).
# Deps: pip3 install Adafruit_DHT (ou depot officiel)
import time
import Adafruit_DHT

SENSOR = Adafruit_DHT.DHT22   # DHT11 sur les petits modules bleus
PIN = 4                        # GPIO4, broche 7

while True:
    humidity, temperature = Adafruit_DHT.read_retry(SENSOR, PIN)
    if humidity is not None and temperature is not None:
        print(f"T={temperature:0.1f}C  H={humidity:0.1f}%")
    else:
        print("Lecture rate: verifier cablage, pull-up 10k et alimentation")
    time.sleep(2)

← Retour à la fiche