#Esta línea importan las bibliotecas necesarias.
from machine import Pin
import dht
import time

#Esta línea definen los pines utilizados.
DHT_PIN = 4
TEMP_LED_PIN = 14
HUM_LED_PIN = 15
BUTTON1_PIN = 26
BUTTON2_PIN = 27

#Esta línea definen la temperatura y la humedad.
TEMP_THRESHOLD = 45.0
HUM_LOW_THRESHOLD = 25.0
HUM_HIGH_THRESHOLD = 60.0

#Esta línea inician el sensor DHT22 y los pines para los LEDs y los botones.
sensor = dht.DHT22(Pin(DHT_PIN))
temp_led = Pin(TEMP_LED_PIN, Pin.OUT)
hum_led = Pin(HUM_LED_PIN, Pin.OUT)
button1 = Pin(BUTTON1_PIN, Pin.IN, Pin.PULL_UP)
button2 = Pin(BUTTON2_PIN, Pin.IN, Pin.PULL_UP)

#Este es el comienzo de un bucle
while True:
    #Esta línea miden la temperatura y la humedad. 
    try:
        sensor.measure()
        temperature = sensor.temperature()
        humidity = sensor.humidity()
        
        #Esta línea encienden el LED de temperatua
        if temperature > TEMP_THRESHOLD:
            temp_led.value(1)
        else:
            temp_led.value(0)

         #Esta línea encienden el LED de humedad
        if humidity < HUM_LOW_THRESHOLD or humidity > HUM_HIGH_THRESHOLD:
            hum_led.value(1)
        else:
            hum_led.value(0)

         #Esta línea verifican si alguno de los botones está presionado
        if button1.value() == 0 or button2.value() == 0:
            temp_led.value(0)
            hum_led.value(0)
        
        #Esta línea detiene la ejecución del bucle
        time.sleep(1)

        #Esta verifica si hay errores de entrada y salida
    except OSError as e:
        print('Error al leer el sensor DHT22:', e)