Saltar al contenido

Sistema Software

    Utilizamos clases de C/C++ en el Arduino IDE para implementar el sistema de software para el Ventmex, así como un par de librerías de uso de sensores, pantallas, motores de paso y codificador de posición del motor.

    En la sección de Archivos, puedes encontrar los enlaces y descargas necesarias.

    • Software y Libs de Arduino para VentMex
      • Se incluye Librería de encoder del AMS-AS5048B
      • VMConstantes.h son las constantes y funciones básicas del sistema
      • VMPresion.h y VMFlujo.h son las clase de presión, flujo y volúmen comandado con filtro circular revolvente de 200/200/10 para calibracióny 100/50 para lecturas.
    • Librerías necesarias que se deben de instalar son:
      • AccelStepper (Última Versión)
      • U8g2 (Última Versión)
      • SparkFun MAX30101x (Última Versión)

    Toda la lógica del sistema, aunque comenzamos programándola con protothreads para tener mejor control de controles paralelos de motor, display y alarmas, decidimos después de pruebas y por tema de sincronía de eventos, hacer todo en el ciclo de respiración, y así controlar mas exactamente lo que sucede en el ventilador. La velocidad de hecho se incrementó, ya que implementamos funciones “non-blocking” en muchos lugares críticos.

     

    Se puede seguir muy fácilmente las funciones dentro del código, donde ahi explicamos toda la lógica como en las diferentes secciones de diseño.

    Las especificaciones normales de este programa nos arrojan los siguientes métricas interesantes después de su compilación: (53 Kbytes (20% de espacio total) de tamaño de ejecutable con 2.5Kbytes libres de memoria para variables locales aproximadamente )

    Sketch uses 53728 bytes (20%) of program storage space. Maximum is 253952 bytes.
    Global variables use 5616 bytes (68%) of dynamic memory, leaving 2576 bytes for local variables. Maximum is 8192 bytes.