import network # se importa la librería de red
import time #se importa la librería de tiempo
from machine import Pin # de la librería máquina se importa solo el manejo de los pines
import dht #se importa la librería para el manejo del sensor de temperatura.
import ujson # se importa la ibreria de JavaScript para usar su notación de objetos.
sensor = dht.DHT22(Pin(21)) # a la variable sensor se le asigna el pin 21 conectado al DHT
boton_temp = Pin(26, Pin.IN) #Configura el pin 15 como entrada para leer el botón
boton_hum = Pin(27, Pin.IN) #Configura el pin 15 como entrada para leer el botón
led_temp = Pin(15, Pin.OUT)
led_hum = Pin(14, Pin.OUT)
prev_weather = "" # Inicializa variable para almacenar el estado anterior del clima.
while True: #Inicio de bucle indefinido para la medición constante
print("Midiendo condiciones del ambiente... ", end="") #Imprime mensaje
sensor.measure() # Realiza la medición de las condiciones meteorológicas.
temperatura = sensor.temperature()
humedad = sensor.humidity()
message = ujson.dumps({ # almacena en la variable mensaje
"temperatura": temperatura, #medida de temperatura del sensor
"humedad": humedad, #medida de humedad del sensor
}) # Convierte los datos de temperatura y humedad a formato JSON.
if message != prev_weather: #Si hay un cambio en las condiciones del clima.
print("¡Actualizado!") # Imprime "¡Actualizado!"
prev_weather = message # Actualiza el estado anterior del mensaje.
else: # Caso que no exista cambios en los valores medidos
print("Sin cambios") #Imprime sin cambios
time.sleep(1) #Espera 1 segundo antes de realizar la siguiente medición.
led_temp.off()
led_hum.off()
if (temperatura > 45) and (boton_temp.value() != 1):
led_temp.on()
sensor.measure() # toma de datos con el sensor
temperatura = sensor.temperature() # actualiza la variable temperatura
print("temperatura:") #imprime valores de temperatura
print(temperatura) #imprime valores de temperatura
if ((humedad < 25) or (humedad > 60)) and (boton_hum.value() != 1):
led_hum.on()
sensor.measure() # toma de datos con el sensor
humedad = sensor.humidity() # actualiza la variable humedad
print("humedad:") #imprime valores de humedad
print(humedad) #imprime valores de humedad