Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Abstract—In the present practice the MPU6050 sensor was • Manejo apropiado del módulo de conversión análoga
used to show the number of squats performed by a person and the digital por múltiple canal usando el módulo ADC - DMA.
MAX30102 was used as a pulse oximeter, that is to say to measure • Fortalecer las competencias en el uso del módulo I2C.
the number of beats per minute and the oxygen saturation. All
this was implemented with the STM32 microprocessor and the • Encontrar una librerı́a apropiada para el MAX30102 para
data was displayed on a 128x64 oled display. su correcto funcionamiento.
Keywords: Pulse oximeter, inertial sensor, STM32, oled display.
III. M ARCO T EORICO
Resumen—En la presente práctica se usó el sensor MPU6050 En el presente apartado daremos a conocer unas consi-
para mostrar la cantidad de sentadillas realizadas por una deraciones teoricas en las que sustentamos este preinforme
persona y se utilizó el MAX30102 como pulsioximetro, es decir de laboratorio, aclarando el funcionamiento de los sensores
para medir la cantidad de latidos por minuto y la saturación de
oxigeno. Todo esto se implemento con el microprocesador STM32
MPU6050 y el MAX30102, además del oled y sus conexiones
y se mostraron los datos en una pantalla oled de 128x64. con el microcontrolador stm32.
Palabras clave: Pulsioximetro, Sensor inercial, STM32, panta-
lla oled. A. STMCUBEMX:
Es una herramienta gráfica y software ST el cual nos ayuda
I. I NTRODUCCI ÓN en la generacion del codigo de proyecto para el IDE (keil)
La tercera practica de laboratorio busca que el estudiante en que lo vamos a desarrollar, además, nos permite una
haga un manejo apropiado del módulo de conversión análoga configuración sencilla de microcontroladores y microprocesa-
digital por múltiple canal usando el módulo ADC - DMA, dores ’STM32’. Proporciona herramientas como la inclusión
algo que ya se ha venido realizando en practicas anteriores; de librerı́as ( GPIO, HAL etc), asignación de roles a los pines
el objetivo de esta práctica es implementar un sistema que del micro, configuración de relojes, etc. El software posee
permita la medición de diferentes variables como la posición caracteristicas y ventajas tales como:
angular de la rodilla, latidos por minuto, porcentaje de oxı́geno • Selección intuitiva de microcontrolador y microprocesa-
(en estos dos ultimos se debe de hacer uso del pulsioximetro dor STM32.
MAX30102) durante una actividad fı́sica determinada, los • Generación de proyecto de código C de inicialización,
valores optenidos por los sensores deben tener una respectiva compatible con MDK-ARM y STM32CubeIDE (compi-
gráfica en una OLED128X64F. ladores GCC).
Finalmente, el objetivo primordial de la practica es el
fortalecer las competencias en el uso del módulo I2C.
Los módulos I2C suelen incluir caracterı́sticas como cambio
de nivel de voltaje, resistencias pull-up y opciones de direccio-
namiento para facilitar la comunicación entre dispositivos en
un bus I2C. También pueden tener funcionalidades adicionales
como la extensión del reloj, que permite que los dispositivos
ralenticen el proceso de comunicación para acomodar dispo-
sitivos más lentos.
Figura 1. Microcontrolador STM32.
II. O BJETIVOS
Los objetivos de la presente practica vienen condensados en
la introducción previa, pero mas especificos son los siguientes: B. Sensor MPU6050:
• Implementar un sistema que permita la medición de dife- El MPU6050 es un sensor de movimiento de 6 ejes que
rentes variables durante una actividad fı́sica determinada. combina un acelerómetro de tres ejes y un giroscopio de tres
ejes. A continuación se presentan algunas de las caracterı́sticas
más importantes del sensor MPU6050:
Alta precisión: El MPU6050 tiene una alta precisión en la
medición de la aceleración y la velocidad angular en los tres
ejes. La resolución de la aceleración es de hasta 16 bits y la
resolución del giroscopio es de hasta 16.4 LSB/°/s.
Integración de 6 ejes: La combinación del acelerómetro y
el giroscopio en un solo sensor permite una medición más
precisa del movimiento y la orientación de un objeto.
Filtro digital de paso bajo: El MPU6050 cuenta con un Figura 3. Max30102
filtro digital de paso bajo que reduce el ruido en la señal del
giroscopio y mejora la precisión de la medición.
Comunicación de alta velocidad: El sensor se comunica con
un microcontrolador a través de un bus I2C de alta velocidad,
lo que permite una transmisión de datos rápida y eficiente.
Figura 2. MPU6050
teniendo en cuenta la posición de los ejes en X, Y y Z. Este
sensor se conectó como se muestra en la figura 5.
C. Sensor MAX30102:
El MAX30102 es un sensor óptico de frecuencia cardı́aca
y oximetrı́a de pulso que se utiliza para medir la frecuencia
cardı́aca y la saturación de oxı́geno en la sangre de una perso-
na. A continuación se presentan algunas de las caracterı́sticas
más importantes del sensor MAX30102:
Alta sensibilidad: El MAX30102 tiene una alta sensibilidad
para la detección de señales ópticas, lo que lo hace adecuado
para la medición de la frecuencia cardı́aca y la oximetrı́a de
pulso.
Detección de movimiento y artefactos: El sensor cuenta
con una función de detección de movimiento y artefactos que
ayuda a eliminar las señales de interferencia de la actividad
fı́sica y el movimiento del usuario.
Filtro de paso bajo: El MAX30102 tiene un filtro de paso
bajo que ayuda a eliminar las señales de interferencia de alta Figura 5. Esquematico MPU.
frecuencia, lo que mejora la calidad de la señal.
Comunicación de alta velocidad: El sensor se comunica con
un microcontrolador a través de un bus I2C de alta velocidad,
lo que permite una transmisión de datos rápida y eficiente.
IV. P ROCEDIMIENTO
En primer lugar se realizó la programación de los pines que
reciben los datos enviados por los sensores en el programa
STMCUBEMX, como se muestra en la figura 4.
Una vez se configuraron la salida de los pines, se dividió
el trabajo en 2, en primero lugar para hacer las sentadillas
con el MPU6050, el cual se programó para contar sentadillas
La ejecución del programa permite contar la cantidad de
sentadillas que hace una persona. Y en segundo lugar se
intentó, por medio de un arduino, hacer un pulsioximetro con
el MAX30102 conectandolo como se muestra en la figura 6,
aunque lo ideal era conectarlo a la stm32, no se encontraron
librerias para realizar el codigo de forma correcta.
Figura 8. Plano.
V. C ÓDIGO
A. Sentadillas STM - Keil
Para este laboratorio es necesario programar un codigo que
permita compilar los datos que brindan el MPU6050 y que
estos datos se puedan leer en la OLED, como cantidad de
sentadillas, para ello, se ideo el siguiente código:
B.