dht_temp.py

Raspberry Pi 5 (model-5) · Archivo : dht_temp.py · Lenguaje : Python · Uso : Relever température et humidité d'une pièce avec un capteur DHT11/DHT22

El módulo DHT de tres pines envía temperatura y humedad por un bus 1-Wire generado por software desde GPIO4 (pin 7). read_retry reintenta lecturas, caprichosas en placas de CPU modesto como la model-5. Imprime cada 2 s, ideal para invernadero o bodega.

Hardware

Una Raspberry Pi 5 (BCM2712 quad-core a 2,4 GHz, chip de E/S RP1, GPIO de 40 pines, alimentación USB-C de 5 V/5 A recomendada, dos puertos CSI de cámara). Un sensor DHT11 o DHT22, una resistencia de pull-up de 10k, cables dupont.

Cableado

VCC a 3,3 V, GND a GND, DATA a GPIO4 (pin 7) con resistencia de 10k a 3,3 V. Confirme en el esquema oficial de J8.

Funcionamiento

El script envía un pulso de inicio; el sensor responde con 40 bits. El timing por software depende de la carga de CPU, de ahí los reintentos.

Ejecución

Copia el script en la placa (scp) y ejecútalo con python3. En Bookworm, gpiozero 2.x controla los pines mediante el chip RP1; mantén gpiozero y python3-rpi.gpio actualizados (sudo apt full-upgrade). Se recomienda fuente de 5 V/5 A.

Variantes

DHT22 es más preciso (±0,5 °C) que DHT11; guarde en CSV para historial. Se recomienda una fuente de 27 W (5 V/5 A); sin ella, USB se limita a 600 mA en total.

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)

← Volver a la ficha