Para llevar un registro de las estadísticas vitales básicas, antes era necesario acudir al médico, donde se le sometía a un equipo costoso que no podía ni siquiera imaginarse entender. Pero ahora, con el auge de la electrónica modular y en kit, puede construir algunos de esos dispositivos directamente en su escritorio utilizando unmicrocontrolador como Arduinoo Raspberry Pi Pico. Con la vuelta del invierno y el aumento de las enfermedades respiratorias, puede resultar beneficioso tener un oxímetro de pulso de fácil acceso. Es cierto que no obtendrá una precisión de nivel médico con su oxímetro de pulso fabricado en casa, pero ¿cuándo ha sido la perfección un obstáculo para un buen proyecto? (Tenemos bastantes, si le interesa).

Relacionado
Aquí hay 15 proyectos ingeniosos que puedes construir con un Arduino

Desde impresoras 3D caseras hasta drones FPV, hay muchas cosas que puedes hacer con tu microcontrolador Arduino

Lo que necesitarás

632771_223214_01_front_zoom Fondo eliminado
Raspberry Pi Pico

Raspberry Pi Pico es una placa de microcontrolador de 4 dólares con el chip RP2040 basado en ARM de Raspberry. Es programable en C y MicroPython y cuenta con opciones de E/S como I2C, SPI y PIO.

Cómo montar el oxímetro de pulso

Usando la placa de pruebas para construir un oxímetro de pulso

Comienza colocando tu Raspberry Pi Pico en tu placa de pruebas, a horcajadas sobre el canal central con el puerto micro USB hacia el borde. El puerto debe estar en el borde porque necesitarás un acceso fácil a él para la alimentación. Si lo colocas en el medio del borde, maximizarás la cantidad de orificios disponibles para trabajar.

Esquema de Raspberry Pi Pico en placa de pruebas
Fuente: Fritzing

A continuación, coloca la pantalla OLED y el módulo del oxímetro de pulso. En realidad, no importa dónde los coloques, pero algunos lugares son mejores que otros. El OLED queda mejor en la fila más baja de la mitad superior de la placa, de modo que reciba apoyo y aún deje cuatro filas de orificios, para que los cables de puente no queden apretados. El módulo del oxímetro de pulso queda mejor hacia la parte inferior de la placa porque es más fácil conseguir un buen contacto con el dedo.

Raspberry Pi Pico y componentes en placa de pruebas
Fuente: Fritzing

Ahora que todos los componentes están en su lugar, es momento de conectarlos. Esto se puede hacer en cualquier orden, pero a mí me gusta empezar con la alimentación.

  1. Pase un cable puente desde el pin 3,3 V del Pico a uno de los rieles de alimentación positivos en el borde de la placa de pruebas.
    Pico en placa de pruebas con alimentación al riel
    Fuente: Fritzing
  2. Conecte los pines de alimentación de sus componentes al riel de alimentación.
    Pico y componentes conectados a la alimentación
    Fuente: Fritzing
  3. Pase un cable puente desde uno de los pines de tierra de su Pico a un riel de alimentación negativo.
    Pico con conexión a tierra mediante riel
    Fuente: Fritzing
  4. Conecte los pines de tierra de sus componentes al riel de alimentación negativo.
    Pico y componentes conectados a tierra
    Fuente: Fritzing

A la hora de gestionar los datos de estos sensores, vamos a utilizar el protocolo I²C, que permitirá que varios dispositivos se comuniquen a través de los mismos pines GPIO, lo que simplifica nuestras necesidades de cableado. Para utilizar la funcionalidad I²C, se necesitan dos pines: un pin de datos (SDA) para la información entrante y saliente, y un pin de reloj (SCL) para coordinar cuándo hablar con cada dispositivo. Vamos a configurarlo.

  1. Comience conectando los pines SDA y SCL de su OLED a los pines 8 y 9 del Pico.
    OLED conectado a pines Pico I2C
    Fuente: Fritzing
  2. Conecte los pines SDA y SCL del MAX30102 a su fila correspondiente encima del OLED.
    Todos los componentes están conectados a los pines I2C de Pico.
    Fuente: Fritzing

Puedes tener cada dispositivo conectado a su propio par de pines I²C, pero hacerlo de esta manera simplificará tu vida si alguna vez decides convertir esto de un proyecto a un dispositivo.

Dependiendo de la calidad y antigüedad de tu placa de pruebas, es posible que tengas que hacer algunos ajustes a las conexiones (yo lo hice).

Cómo armar el software para su oxímetro de pulso

La forma más sencilla de ejecutar el software en tu Raspberry Pi Pico esdescargar Thonny, un IDE de Python de código abierto. Thonny te permitirá agregar y eliminar archivos de tu Pico sin demasiados problemas. Una vez que esté instalado, puedes agregar los archivos de Python que necesitarás.

Instalación de MicroPython en Raspberry Pi Pico

  1. Mientras mantienes presionado el botón BOOTSEL, utiliza un cable micro USB a USB-A para conectar tu Pico a la computadora. Esto hará que tu Pico aparezca como un dispositivo USB y te permitirá interactuar con él a través de Thonny.
    Raspberry Pi Pico con BOOTSEL destacado
    Fuente: Raspberry Pi
  2. Abre Thonny y mira en la esquina inferior derecha de la ventana. Te muestra qué versión de Python estás usando actualmente. Haz clic en el texto de esa esquina y seleccionaInstalar MicroPython.
    Thonny Instalar MicroPython menú
  3. En la ventana emergente, seleccione la opciónRaspberry Pi • Pico / Pico Hdel menú desplegablede variantes y, a continuación, haga clic enInstalar. Esto instalará el firmware MicroPython en su Pico a través del cable USB conectado.
    Cuadro de diálogo de instalación de MicroPython de Thonny
  4. Una vez completada la instalación, haga clic enCerrar.
  5. Vuelve a comprobar la versión de Python en la esquina inferior derecha. Debería estar configurada enMicroPython (Raspberry Pi Pico). Si no es así, cámbiala.

MicroPython es un firmware que ejecutará los programas Python que instales en Pico. Ahora que lo tenemos, vamos a introducirle algo de código.

Instalación del software del oxímetro de pulso en Raspberry Pi Pico

  1. Primero, debes agregar las bibliotecas de Python que se usan para interactuar con los componentes de pantalla y sensor. En el menú de la parte superior de la ventana de Thonny, haz clic enHerramientasy luego seleccionaAdministrar paquetesen el menú desplegable.
    Resaltado del menú de herramientas de Thonny Administrar paquetes
  2. El código del oxímetro de pulso necesita dos bibliotecas para funcionar: micropython-max30102 y micropython-ssd1306. Ingresemicropython-max30102en la barra de búsqueda y presioneEntero haga clic enBuscar en PyPI.
    Resultados de búsqueda de paquetes Thonny para el sensor MAX30102
  3. El resultado principal debería ser micropython-max30102. Haga clic en ese resultado y luego enInstalar.
    Ventana de instalación de la biblioteca Thonny micropython-max30102

    Si no ha configurado su versión de Python en MicroPython, la instalación fallará. Si eso sucede, vuelva a verificar su versión en la esquina inferior derecha y cámbiela si es necesario.

  4. Repita este proceso para instalar la bibliotecamicropython-ssd1306.
  5. Descargue elarchivo pulse-oximeter.py de GitHub.
    Página de código en GitHub que resalta el botón de descarga
  6. Abra el archivo con Thonny seleccionandoArchivoen el menú, luego haciendo clic enAbriryluego elija abrir desdeEsta computadora.
  7. Seleccione el archivo que ha descargado y luego haga clic enAbrir.
    Thonny abre la ventana de archivo

Si todas las piezas están ensambladas, puede iniciar el oxímetro de pulso presionando elbotón verde de reproducción, seleccionandoEjecutar secuencia de comandos actualen el menúEjecutaro presionandoF5. Por último, si desea que este proyecto se ejecute sin usar Thonny, guarde esta secuencia de comandos como “main.py” en su Pico.

Resaltado del menú Ejecutar de Thonny Ejecutar el script actual
  1. SeleccioneArchivoy luego haga clic enGuardar como.
    Menú Archivo Thonny resaltando Guardar como
  2. Cuando se le pregunte dónde guardar, seleccioneRaspberry Pi Pico.
    Thonny Dónde guardar en modal

    Si su script aún se está ejecutando, deberá detenerlo antes de poder guardar su archivo en Pico.

  3. Nombre su archivo “main.py” y seleccioneAceptar.
    Thonny Guardar como ventana

Ahora, cuando encienda su Pico, ejecutará el script del oxímetro de pulso.

Haz tuyo el oxímetro de pulso

Ahora que tienes un oxímetro de pulso en funcionamiento, puedes buscar en el código Python y personalizarlo. Una solución fácil es cambiar los pines que utilizas en el Pico. La única restricción es que la señal SDA debe ir a un pin SDA y la señal SCL debe ir a un pin SCL.

También es posible que quieras experimentar con la fórmula de SpO² (puedes ver en el código que probé algunas fórmulas). Medir la saturación de oxígeno en sangre es básicamente un arte extraño y la calibración "adecuada" no es algo que puedas hacer tú mismo en tu taller. De todos modos, no dejes que la corrección te detenga, experimenta con el código y diviértete. Y al final del día, tendrás información valiosa sobre tu salud personal disponible con solo tocar un dedo.

Relacionado
Hice una cámara de seguimiento infrarroja con una Raspberry Pi para poder ver lo que ha estado defecando en mi patio trasero.

Aproveche el poder de la tecnología para espiar la naturaleza

2