capteur-dht.py

Raspberry Pi Pico W · Archivo : capteur-dht.py · Lenguaje : Python · Uso : Relever température et humidité avec un capteur DHT

El módulo dht incluido en MicroPython controla sensores DHT11/DHT22 en cualquier pin. El script mide cada 2 s (cadencia mínima del sensor), captura errores de trama e imprime temperatura y humedad.

Hardware

Una Raspberry Pi Pico W (RP2040 + chip radio Wi-Fi de 2,4 GHz) con MicroPython instalado, alimentada por USB. 1 sensor DHT22 (o DHT11) en carcasa de 3 o 4 pines + resistencia de 10 kΩ si está suelto.

Cableado

VDD a 3V3 (o 5 V según sensor), GND, DATA a GP4 con pull-up de 10 kΩ a VDD. En módulos de 3 pines la resistencia viene integrada.

Funcionamiento

capteur.measure() envía el impulso de arranque y decodifica la trama de 1 hilo; temperature()/humidity() devuelven los últimos valores. Un OSError indica una trama perdida, reintentada en el ciclo siguiente.

Ejecución

Instala la versión MicroPython « Pico W » (BOOTSEL + .uf2) y copia el script vía Thonny. Como el LED de usuario lo gestiona el chip de radio, los ejemplos de salida usan un LED externo.

Variantes

Cambia al DHT11 (menos preciso pero más barato) modificando la clase, o registra las medidas en CSV con el script de registro.

capteur-dht.py

# Temperature + humidite avec DHT11/DHT22 via le module dht de MicroPython.
import dht
import machine
import time

# DHT22 sur GP4 (remplacer par dht.DHT11 pour un DHT11).
capteur = dht.DHT22(machine.Pin(4))

print("Lecture toutes les 2 s (Ctrl-C pour arreter)")

while True:
    try:
        capteur.measure()   # declenche la trame 1-fil
        t = capteur.temperature()      # degres Celsius
        h = capteur.humidity()         # % HR
        print("T = %.1f C | HR = %.1f %%" % (t, h))
    except OSError:
        # Trame corrompue (capteur occupe, cabling, alim instable).
        print("Echec de lecture, nouvelle tentative...")
    time.sleep(2)  # le DHT22 demande >= 2 s entre deux mesures

# Le module dht est inclus dans les images MicroPython officielles : 
# aucune bibliotheque externe a installer.

← Volver a la ficha