from machine import Pin
import utime
import dht
sensor = dht.DHT22(Pin(14))
led = Pin(1, Pin.OUT) # LED de alerta
# Función 1: Leer temperatura desde el sensor
def leer_temperatura():
try:
sensor.measure()
return sensor.temperature()
except OSError as e:
print("Error al leer del sensor:", e)
return None
# Función 2: Evaluar estado de la temperatura
def evaluar_estado(temp):
if temp is None:
return "ERROR"
elif temp > 35:
return "ALTA"
else:
return "NORMAL"
# Función 3: Activar alerta con LED
def activar_alerta(estado):
if estado == "ALTA":
led.value(1) # Enciende LED
else:
led.value(0) # Apaga LED
# Función 4: Registrar evento en consola
def registrar_evento(temp, estado):
if temp is not None:
print("Temperatura: {:.1f} °C - Estado: {}".format(temp, estado))
else:
print("Lectura inválida del sensor")
# Bucle principal del sistema
while True:
temperatura = leer_temperatura()
estado = evaluar_estado(temperatura)
activar_alerta(estado)
registrar_evento(temperatura, estado)
utime.sleep(2) # Espera 2 segundos entre lecturas