sábado, 15 de febrero de 2020

ARDUINO-MAX30105-Opciones en tiempo real


ARDUINO

MAX30105

Opciones en tiempo real

Gambas(VB-Linux) - Visual Basic 6 - wxwidgets


Después de realizar el montaje con el  módulo MAX30105, utilicé Gambas (VB para Linux).
Al tener que hacer pruebas y pruebas, decidí crear otro programa que me permitiera cambiar muchas de las configuraciones del MAX30105 en tiempo real.
También este programa está realizado en Gambas -  Linux bajo la distribución Debian 9. Como he dicho en muchas ocasiones el que quiera lo puede traspasar a Visual Basic con poco trabajo.

Programa con muchas de las opciones de la librería SparkFun_MAX3010x.



VIDEO

PROGRAMA




Un amigo me dijo que estaba bien hacer el programa en Gambas, pero también me dijo que la mayoría tiene Windows, y era una pena no hacerlo para Windows.
Como yo soy muy bien mandado, me puse manos a la obra, y me lo programé para Windows con Visual Basic 6, es lo que tengo a mano.
Lo que si he notado es que se programa mucho mejor en Gambas que en VB6, autocompletado, busca automática de variables, etc... Me imagino que en versiones posteriores lo hayan mejorado.


Programa en Visual Basic.

PROGRAMA_VB6

  







Programa en Linux y Windows, ¿alguien distingue cual es cual?

Una vez puesto a programar, como todos los años, creo un programa multiplataforma (Linux y Windows).
Que mejor que realizar el  visualizador  de pulso con la librería wxwidgets.
Está programado utilizando la versión 3 de la librería
wxwidgets.
Primero se programa en Linux sobre Debian 9 , y luego se traslada a Windows.
Para que se compile en una plataforma u otra solo debemos modificar el archivo define.h  y  poner:
    #define YesWindows 0
o
    #define YesWindows 1
El que quiera ver mas programas realizados con esta librería que visite mi página wxseta.html.
En el fichero comprimido se incorporan la librerías *.dll necesarias para las versiones compiladas en dinámico.
La versiones compiladas en estático programa311s.exe no necesitan ninguna dll , pero su tamaño es mayor.
En Linux se necesitan librerías wx, las necesarias son:
    libwxbase3
    libwxgtk-webview3
    libwxgtk3
Estas librerías suelen estar instaladas, pero si no es así se instalan desde los repositorios.

PROGRAMA WX


Saludos.
Juan Galaz

Bibliografía:
https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library
https://desensores.com/sensores-arduino/tipos-de-sensores-arduino/sensor-de-frecuencia-cardiaca-max30102-para-arduino/
https://create.arduino.cc/projecthub/SurtrTech/measure-heart-rate-and-spo2-with-max30102-c2b4d8?ref=tag&ref_id=health&offset=2
https://polaridad.es/max30100-sensor-latido-corazon-oximetro-pulso-i2c-wearable-salud/

miércoles, 12 de febrero de 2020

ARDUINO - MAX30105 - Interface con librería SDL


ARDUINO

MAX30105

Interface con librería SDL


Cuando realice mi propio detector de pulso con un LED y un LDR,  y mas tarde haberlo hecho con el módulo MAX30105, el interface gráfico lo había realizado con Gambas (VB para Linux).
Toda la programación se había realizado en Linux bajo la distribución Debian 9.
Como en el mundo de los ordenadores el sistema que predomina es Windows, me propuse hacer un interface para Windows.
Lo mas fácil hubiese sido hacerlo en Visual Basic, pero lo que quería es que la misma programación funcionara lo mismo en Linux y Windows. La solución que he tomado es hacerla en una librería para juegos llamada SDL.
Para esta librería he creado una especie de elementos gráficos que facilitan su utilización.

Programa bajo Windows y con el módulo MAX30105,


Programa bajo Linux y con detector LED-LDR.

Para que funcione en Windows necesitamos la LIBRERIA SDL.


PROGRAMA

Saludos.
Juan Galaz

Bibliografía:
https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library
https://desensores.com/sensores-arduino/tipos-de-sensores-arduino/sensor-de-frecuencia-cardiaca-max30102-para-arduino/
https://create.arduino.cc/projecthub/SurtrTech/measure-heart-rate-and-spo2-with-max30102-c2b4d8?ref=tag&ref_id=health&offset=2
https://polaridad.es/max30100-sensor-latido-corazon-oximetro-pulso-i2c-wearable-salud/

martes, 11 de febrero de 2020

ARDUINO - MAX30105


ARDUINO

MAX30105

Detector de pulso sanguíneo.

Latidos del corazón.


Después de haber realizado mi propio detector de pulso con un LED y un LDR, nos toca utilizar el módulo MAX30105.
El MAX30105 dispone de 3 emisores de LED, Rojo, Verde, y Led IR.
El sistema de detección es el mismo que el que yo he empleado en mi anterior montaje.
Se emite una luz al dedo, y se lee los cambios de luminosidad dependiendo del flujo sanguíneo.
La utilización de diferentes tipos de luces, roja, verde, o infrarroja, nos proporciona diferentes tipos de datos, como por ejemplo el porcentaje de oxigeno en la sangre.

MAX30105


Esquema del módulo.

La transmisión de datos entre el arduino y el módulo MA30105 se realiza mediante el protocolo I2C.
El programa lee constantemente los datos del detector intensidad de flujo y los manda junto con el detector de pulsos por segundo y del detector de pulso.
Los 3 datos se mandan a través de la interface serie al PC.
Estos datos se representan en el programa realizado en Gambas (VB linux), este es el mismo programa que realice en mi anterior montaje.



Circuito montado. Para detector MAX30105 y para el LED-LDR.


Dispositivo para el MAX30105


Dispositivo para mi anterior circuito, LED y LDR

Forma de onda en el programa realizado en Gambas (VB para Linux)

Para hacer funcionar el MAX30105 he empleado la librería  https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library.
Como podemos observar la forma de onda es menos estilizada que en el anterior montaje.
Lo bueno de emplear el MAX30105 es lo fácil y barato que resulta el montaje, el módulo puede conseguirse por menos de 2€.
También existe la posibilidad de medir el Oxigeno en sangre, aunque en las prueba que yo he realizado los resultados no fueron buenos, por lo cual no dado ningún resultado.
El MAX30105 tiene muchas opciones, por lo que espero hacer otros montajes que extraigan  todo el potencial de este chip.

PROGRAMA

Saludos.
Juan Galaz

Bibliografía:
https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library
https://desensores.com/sensores-arduino/tipos-de-sensores-arduino/sensor-de-frecuencia-cardiaca-max30102-para-arduino/
https://create.arduino.cc/projecthub/SurtrTech/measure-heart-rate-and-spo2-with-max30102-c2b4d8?ref=tag&ref_id=health&offset=2
https://polaridad.es/max30100-sensor-latido-corazon-oximetro-pulso-i2c-wearable-salud/

martes, 4 de febrero de 2020

ARDUINO-GAMBAS-Detector de pulso sanguíneo


ARDUINO

GAMBAS

Detector de pulso sanguíneo.


Intentado realizar un interface  para mi anterior proyecto de medidor de pulso, se me ocurrió utilizar GAMBAS (Visual Basic para Linux).



PROGRAMA

VIDEO










Saludos.
Juan Galaz