import time
from dhtsensor_controller import DHTSensor
from ledbar_controller import LedbarController
from oleddisplay_controller import OledDisplayController
from led_controller import ControladorLed
def main():
sensor_dht = DHTSensor(pin=4)
led_bar = LedbarController(pins=[19, 20, 21, 47, 48, 45, 0, 35, 36, 37])
oled_display = OledDisplayController(16, 17)
led_peligro = ControladorLed(39)
HUM_MIN = 20
HUM_MAX = 80
TEMP_MIN = 15
TEMP_MAX = 30
while True:
temperatura, humedad = sensor_dht.leer_datos()
if temperatura is None or humedad is None:
time.sleep(2)
continue
oled_display.limpiar_pantalla()
oled_display.escribir_texto("Estado Ambiental", 0, 0)
oled_display.escribir_texto(f"Temp: {temperatura:.1f}C", 0, 10)
oled_display.escribir_texto(f"Humedad: {humedad:.1f}%", 0, 20)
oled_display.escribir_texto(f"MIN: {HUM_MIN}%", 0, 30)
oled_display.escribir_texto(f"MAX: {HUM_MAX}%", 0, 40)
if humedad < HUM_MIN:
oled_display.escribir_texto("Humedad baja!", 0, 50)
led_peligro.apagar_led()
elif humedad > HUM_MAX:
oled_display.escribir_texto("Humedad alta!", 0, 50)
led_peligro.encender_led()
elif temperatura < TEMP_MIN:
oled_display.escribir_texto("Temp baja!", 0, 50)
led_peligro.encender_led()
elif temperatura > TEMP_MAX:
oled_display.escribir_texto("Temp alta!", 0, 50)
led_peligro.encender_led()
else:
oled_display.escribir_texto("todo ok", 0, 50)
led_peligro.apagar_led()
porcentaje_humedad = (humedad - HUM_MIN) / (HUM_MAX - HUM_MIN) * 100
led_bar.update(porcentaje_humedad)
oled_display.mostrar_pantalla()
time.sleep(2)
if __name__ == "__main__":
print("Iniciando sistema de control ambiental...")
main()