dht_temp.py
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-b-plus. Imprime cada 2 s, ideal para invernadero o bodega.
Hardware
Una Raspberry Pi Model B+ (BCM2835, conector GPIO de 40 pines, alimentación micro-USB, audio de 3,5 mm 4 polos). 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 (o bash). Instala gpiozero con sudo apt install python3-gpiozero si falta. El brochage de 40 pines está en el esquema oficial y en la web de Raspberry Pi.
Variantes
DHT22 es más preciso (±0,5 °C) que DHT11; guarde en CSV para historial. Sin Wi-Fi integrado: use Ethernet o un dongle USB; alimentación micro-USB de 5 V/1,2 A.
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)