from time import sleep
from machine import Pin, I2C
import dht
from servo import Servo
# Inicialización de pines y componentes
servo_pin = Pin(4)
my_servo = Servo(servo_pin)
sensor = dht.DHT22(Pin(2))
boton = Pin(15, Pin.IN, Pin.PULL_UP)
led_red = Pin(5, Pin.OUT)
led_green = Pin(18, Pin.OUT)
def actualizar_leds(temp):
if temp > 30:
led_red.on()
led_green.off()
print("Alerta: Temperatura alta!")
elif temp <= 30 and temp > 0:
led_red.off()
led_green.on()
else:
led_red.off()
led_green.off()
def actualizar_servo(hum):
if hum > 50:
my_servo.write_angle(0)
else:
my_servo.write_angle(180)
def leer_sensor():
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
return temp, hum
def mostrar_datos():
temp, hum = leer_sensor()
return temp, hum
def manejar_boton():
if boton.value() == 0:
temp, hum = leer_sensor()
print("\nEstado del botón: "+ str(boton.value()))
print("Temp= " + str(temp))
print("Hum= " + str(hum))
else:
print("Estado del botón: "+ str(boton.value()))
while True:
temp, hum = mostrar_datos()
actualizar_leds(temp)
actualizar_servo(hum)
manejar_boton()
sleep(2)