"""
import dht
import machine
import time
global temp
global hum
d = dht.DHT22(machine.Pin(16))
while(True):
#time.sleep(1)
d.measure()
temp = d.temperature()
hum = d.humidity()
print(f"Temperatura: {temp} , Humedad: {hum}")
#print(f"Humedad: {hum}")
time.sleep(.5)
"""
"""
# FORMA MÁS ACORDE A LO QUE HE APRENDIDO
from machine import Pin
from time import sleep
from dht import DHT22
#SETEO DE PINES
led_temp = Pin(10,Pin.OUT)
led_hum = Pin(11,Pin.OUT)
boton = Pin(15,Pin.IN,Pin.PULL_UP)
lect = DHT22(machine.Pin(16)) # LEE EL GPIO 16
while(True):
sleep(.5)
lect.measure()
temp = lect.temperature()
hum = lect.humidity()
print(f"Temperatura: {temp} , Humedad: {hum} ")
if temp > 10:
print("temperatura supero 10 ºC")
led_temp.value(1)
else:
led_temp.value(0)
if hum > 60:
print("Humedad supero 60%")
led_hum.value(1)
else:
led_hum.value(0)
"""
# ******************************************************
# COPILOT
"""
from machine import Pin
import dht
import time
# Inicializar el sensor DHT22
sensor = dht.DHT22(Pin(16))
# Inicializar los LEDs
led_temp = Pin(10, Pin.OUT)
led_hum = Pin(11, Pin.OUT)
# Umbral de temperatura y humedad
umbral_temp = 50.0 # 50 grados Celsius
umbral_hum = 60.0 # 60 por ciento
while True:
try:
# Leer la temperatura y humedad
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
# Imprimir los valores en la consola
print(f'Temperatura: {temp:.2f}°C, Humedad: {hum:.2f}%')
# Encender LED si la temperatura es mayor al umbral
if temp > umbral_temp:
led_temp.on()
print(f'Alerta: Temperatura alta {temp:.2f}°C')
else:
led_temp.off()
# Encender LED si la humedad es mayor al umbral
if hum > umbral_hum:
led_hum.on()
print(f'Alerta: Humedad alta {hum:.2f}%')
else:
led_hum.off()
# Esperar 2 segundos antes de la próxima lectura
time.sleep(2)
except OSError as e:
print('Error al leer el sensor DHT22.')
"""
# CHAT GPT CON FUNCIONES
"""
import machine
import dht
from time import sleep
# Configurar el sensor DHT22 en el pin GPIO 16
dht_sensor = dht.DHT22(machine.Pin(16))
# Configurar los pines de los LEDs
LED_temp_pin = machine.Pin(10, machine.Pin.OUT)
LED_hum_pin = machine.Pin(11, machine.Pin.OUT)
# Umbral de temperatura y humedad
umbral_temp = 50 # Umbral de temperatura en grados Celsius
umbral_hum = 60 # Umbral de humedad en porcentaje
def leer_temperatura_humedad():
dht_sensor.measure() # Realizar la lectura del sensor
temperatura = dht_sensor.temperature()
humedad = dht_sensor.humidity()
return temperatura, humedad
def encender_LED(LED_pin):
LED_pin.value(1) # Encender el LED
def apagar_LED(LED_pin):
LED_pin.value(0) # Apagar el LED
# Bucle principal del programa
while True:
temperatura, humedad = leer_temperatura_humedad()
# Mostrar los valores de temperatura y humedad por consola
print(f'Temperatura: {temperatura} °C, Humedad: {humedad} %')
# Verificar si la temperatura supera el umbral
if temperatura > umbral_temp:
print("¡Alerta! La temperatura ha superado el umbral.")
encender_LED(LED_temp_pin)
else:
apagar_LED(LED_temp_pin)
# Verificar si la humedad supera el umbral
if humedad > umbral_hum:
print("¡Alerta! La humedad ha superado el umbral.")
encender_LED(LED_hum_pin)
else:
apagar_LED(LED_hum_pin)
# Esperar 2 segundos antes de la siguiente lectura
sleep(2)
"""
# COPILOT CON FUNCIONES
from machine import Pin
import dht
import time
# Definir los umbrales
UMBRAL_TEMP = 50.0 # 50 grados Celsius
UMBRAL_HUM = 60.0 # 60 por ciento
# Inicializar el sensor DHT22 y los LEDs
sensor = dht.DHT22(Pin(16))
led_temp = Pin(10, Pin.OUT)
led_hum = Pin(11, Pin.OUT)
def leer_sensor():
"""Lee la temperatura y humedad del sensor DHT22."""
sensor.measure()
return sensor.temperature(), sensor.humidity()
def actualizar_leds(temp, hum):
"""Actualiza el estado de los LEDs basado en la temperatura y humedad."""
if temp > UMBRAL_TEMP:
led_temp.on()
print(f'Alerta: Temperatura alta {temp:.2f}°C')
else:
led_temp.off()
if hum > UMBRAL_HUM:
led_hum.on()
print(f'Alerta: Humedad alta {hum:.2f}%')
else:
led_hum.off()
def imprimir_valores(temp, hum):
"""Imprime los valores de temperatura y humedad."""
print(f'Temperatura: {temp:.2f}°C, Humedad: {hum:.2f}%')
def main():
"""Función principal que ejecuta el programa."""
while True:
try:
temp, hum = leer_sensor()
imprimir_valores(temp, hum)
actualizar_leds(temp, hum)
time.sleep(2)
except OSError as e:
print('Error al leer el sensor DHT22.')
# Ejecutar el programa
if __name__ == '__main__':
main()