5.Se analizan las variables ambientales. - Carvaa-7/Challenge1_IoT GitHub Wiki

Software

El software de HydroSentry fue desarrollado para controlar el funcionamiento del sistema desde el ESP32. Su principal función es recibir las mediciones obtenidas por los sensores, procesar esta información y determinar el estado en el que se encuentra el sistema.

El programa funciona de manera continua, realizando lecturas periódicas de las variables y actualizando la información mostrada al usuario.


Lectura y procesamiento de datos

El ESP32 recibe las mediciones de los diferentes sensores utilizados en el sistema. Estas mediciones son procesadas para obtener valores que puedan ser utilizados dentro de la lógica de HydroSentry.

Entre las variables procesadas se encuentran:

  • Nivel del agua.
  • Peso del almacenamiento.
  • Temperatura.
  • Humedad relativa.
  • Radiación solar estimada.
  • Presión atmosférica.

A partir de estos datos, el programa determina las condiciones actuales del sistema y calcula el porcentaje de riesgo hídrico.


Clasificación del riesgo

El porcentaje de riesgo obtenido se utiliza para clasificar el sistema en uno de los cuatro estados establecidos:

| 100 % – 60 % | 🟢 Normal | | 59 % – 20 % | 🟡 Preventivo | | 19 % – 5 % | 🟠 Alto | | 5 % – 0 % | 🔴 Crítico | Cada estado produce una respuesta diferente en los elementos de salida del sistema.


Visualización y alertas

El programa controla la información mostrada en el LCD y los indicadores de estado.

Los botones permiten navegar entre las diferentes pantallas de información. Sin embargo, cuando el sistema alcanza un nivel de riesgo alto o crítico, el programa cambia automáticamente a la pantalla correspondiente al riesgo.

Además, los LEDs permiten identificar visualmente el estado actual y el buzzer genera una alerta sonora cuando se alcanzan las condiciones de alerta establecidas.


Control del actuador

El software también controla la bomba de agua mediante el relé.

La activación y desactivación de la bomba se realiza de acuerdo con el nivel de agua:

  • Cuando el nivel llega a 19 % o menos, la bomba se activa.
  • Cuando el nivel alcanza 61 % o más, la bomba se desactiva.

La utilización de estos dos límites permite evitar cambios constantes entre encendido y apagado cuando el nivel se encuentra cerca de un mismo punto.


Flujo general del programa

El funcionamiento del software puede representarse mediante el siguiente flujo:

        INICIO
           ↓
   Inicializar sistema
           ↓
     Leer sensores
           ↓
  Procesar mediciones
           ↓
    Calcular riesgo
           ↓
   Determinar estado
           ↓
 ┌─────────┴─────────┐
 ↓                   ↓
Actualizar        ¿Riesgo alto
LCD y LEDs         o crítico?
                     ↓
              Activar alertas
                     ↓
              Controlar bomba
                     ↓
              Revisar botones
                     ↓
                Repetir