Como construir um monitor de saúde portátil

O equipamento médico para monitorização da saúde é normalmente caro, mas existe uma opção. Se você deseja simplesmente ficar atento à sua frequência cardíaca ou está cuidando de alguém com problemas de saúde que devem ser monitorados, existe uma opção que você mesmo pode criar.

Neste projeto, projetaremos um monitor de saúde portátil que pode ser usado para monitorar os sinais vitais. O dispositivo pode ser usado em casa ou em viagens. Ele é construído usando o seguinte:

  • Sensor AD8232 ECG
  • Sensor de temperatura corporal MLX90614
  • Oxímetro de pulso MAX30100
  • Sensor de frequência cardíaca

Todos esses sensores são relativamente baratos e facilmente disponíveis. O microcontrolador utilizado no projeto é o ESP32. Alternativamente, Arduino NANO 33 IoT ou qualquer microcontrolador capaz de formato pequeno pode ser usado. Os sinais vitais monitorados pelos sensores são exibidos em uma tela OLED SSD1306.

O dispositivo é prototipado em uma protoboard. Ele pode ser conectado a um painel perfurado e colocado em uma caixa adequada para ser usado como um dispositivo portátil.

Componentes necessários

  1. ESP32 x1
  2. Sensor AD8232 ECG x1
  3. Sensor de temperatura corporal MLX90614
  4. Sensor de oxímetro de pulso MAX30100
  5. Tábua de ensaio
  6. Conectando fios ou fios Dupont

Sensor AD8232 ECG
AD8232 é um sensor de eletrocardiograma (ECG ou EKG) de derivação única projetado para monitorar a atividade cardíaca. Desenvolvido pela Analog Devices, o AD8232 é comumente usado em diversas aplicações, incluindo dispositivos de saúde e fitness, equipamentos de monitoramento médico e tecnologia vestível. Ele foi projetado para monitoramento de ECG de derivação única e é adequado para monitoramento básico de frequência cardíaca e análise de ritmo.

O sensor de baixa potência inclui circuito integrado de condicionamento de sinal analógico, que filtra e amplifica o sinal bruto de ECG. O sensor suporta várias configurações de eletrodos, dos quais eletrodos adesivos no tórax ou em outros locais convenientes para medição de ECG de derivação única são os mais comuns. O sensor se comunica com um microcontrolador por meio de uma interface SPI.

AD8232 é um sensor de eletrocardiograma (ECG ou EKG) de derivação única projetado para monitorar a atividade cardíaca

Sensor de temperatura corporal MLX90614
MLX90614 é um sensor termômetro infravermelho desenvolvido pela Melexis para medições de temperatura sem contato, incluindo temperatura corporal. O sensor é usado em muitas aplicações, incluindo dispositivos médicos, detecção de temperatura industrial e eletrônicos de consumo.

O MLX90614 inclui um sensor de termopilha para medir a temperatura e um sensor de temperatura ambiente separado. Ambos os sensores funcionam para compensar a temperatura ambiente, aumentando a precisão das medições de temperatura. O sensor vem calibrado de fábrica, simplificando o processo de integração para fácil uso. O sensor se comunica com um microcontrolador por meio da interface I2C.

Sensor termômetro infravermelho MLX90614 para medições de temperatura sem contato.

Sensor de oxímetro de pulso MAX30100
Desenvolvido pela Maxim Integrated, o MAX30100 é um módulo sensor versátil para oximetria de pulso e monitoramento de frequência cardíaca. Sua função principal é medir a frequência cardíaca e a saturação de oxigênio no sangue (SpO2). Ele usa um LED vermelho para medir a frequência cardíaca e um LED infravermelho (IR) para medir a SpO2.

Um fotodetector recebe a luz transmitida ou refletida pela pele do usuário. Os algoritmos de cancelamento de luz ambiente eliminam a interferência de fontes de luz externas, garantindo leituras precisas. O sensor se comunica com um microcontrolador através de uma interface I2C.

Módulo sensor MAX30100 projetado para oximetria de pulso e monitoramento de frequência cardíaca.

Conexões de circuito
Para construir este dispositivo de monitoramento, devemos fazer a interface do sensor de ECG AD8232, do sensor de temperatura corporal MLX90614 e do sensor de oxímetro de pulso MAX30100 com ESP32. O OLED SSD1306 deve ter interface com o microcontrolador para exibir os sinais vitais do usuário. O sensor AD8232 possui uma saída analógica, enquanto MLX90614 e MAX30100 comunicam os dados do sensor por meio de uma interface I2C.

Para fazer a interface do sensor de ECG AD8232, conecte seus pinos 3,3V e GND aos pinos 3,3V e GND do ESPE32. Em seguida, conecte o terminal de saída do sensor a um dos pinos de entrada analógica do ESP32, como A0.

Para fazer a interface do sensor MLX90614, conecte seus pinos 3,3V e GND aos pinos 3,3V e GND do ESP32. Conecte os pinos SDA e SCL do MLX90614 aos pinos D21 e D22 do ESP32. Agora repita estes mesmos passos para os sensores MAX30100 e SSD1306 (com interface I2C).

Essas conexões são demonstradas no diagrama de circuito abaixo.

As bibliotecas necessárias
Felizmente já temos bibliotecas para trabalhar com os sensores MAX30100 e MLX90614. As outras bibliotecas necessárias incluem:

  • A biblioteca Adafruit MLX90614 é necessária para o sensor MLX90614.
  • A biblioteca MAX30100_PulseOximeter para o MAX30100.
  • As bibliotecas Adafruit_SSD1306 e Adafruit_GFX são necessárias para funcionar com o display OLED SSD1306.

Se você ainda não possui essas bibliotecas instaladas, vá em Ferramentas-> Gerenciar Bibliotecas no Arduino IDE. Talvez seja necessário baixar a biblioteca MAX30100_PulseOximeter do GitHub (use esse link) e instale a biblioteca acessando Sketch-> Incluir Biblioteca -> Adicionar Biblioteca .ZIP.

Para sua conveniência, a biblioteca MAX30100_PulseOximeter está anexada abaixo como um arquivo zip.
Arduino-MAX30100-mestre

Esboço do Arduino

Como funciona
O monitor de saúde portátil rastreia a frequência cardíaca, o nível de oxigênio, a temperatura corporal e a frequência cardíaca do usuário. O ESP32 recebe o valor bruto do ECG do terminal de saída do sensor de ECG AD8232. Esse valor é obtido no pino de entrada analógico do ESP32. Os sensores MLX90614 e MAX30100 comunicam seus valores por meio da interface I2C.

Os valores recebidos de ambos os sensores são recuperados através de funções de suas respectivas bibliotecas. O MLX90614 transmite a temperatura corporal em Celsius, e o MAX30100 transmite os valores de SPO2 (em porcentagem) e frequência cardíaca (em BPM). O ESP32 mede todos os sinais vitais de uma pessoa através desses sensores. Eles são transmitidos para o console serial e exibidos na tela OLED do SSD1306

O código
O esboço começa importando as bibliotecas Wire.h, Adafruit_GFX.h, Adafruit_SSD1306.h, MAX30100_PulseOximeter.h e Adafruit_MLX90614.h. As bibliotecas devem primeiro ser instaladas através do gerenciador de bibliotecas no Arduino IDE ou como ZIP. Wire.h é necessário para lidar com a comunicação de dados pela interface I2C. As bibliotecas Adafruit_GFX.h e Adafruit_SSD1306.h são usadas para o display OLED SSD1306. O MAX30100_PulseOximeter.h é a biblioteca para o sensor de temperatura corporal MAX30100, e o Adafruit_MLX90614.h funciona com o sensor de oxímetro MLX90614.

As variáveis ​​são declaradas para a atribuição de pinos com o sensor AD8232 e o OLED SSD1306. É instanciado um objeto da classe Adafruit_SSD1306, seguido da instanciação de objetos das classes PulseOximeter e Adafruit_MLX90614.

Na função setup , a taxa de transmissão para depuração serial é definida como 115200 bps. O OLED SSD1306 e o ​​sensor MLX90614 são inicializados e, se estiverem funcionando corretamente, uma mensagem é transmitida ao console serial. Finalmente, o oxímetro de pulso é inicializado.

Na função loop , ESP32 lê valores de AD8232, MAX30100 e MLX90614. Os valores de temperatura, frequência cardíaca, nível de oxigênio e ECG (bruto) são transmitidos ao console serial. Os mesmos valores são exibidos no SSD1306 OLED.

Resultados

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.