Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Oxímetro de Pulso Portátil para Uso Emergencial Durante COVID-19

Componentes e materiais

ComponenteQuantidade
Arduino Nano R31
Maxim Integrated MAX301001
Display OLED SSD1306 128x32 i2c1
Protoboard1
Clipe de dedo por Peter Smith1

Ferramentas necessárias

Sobre o projeto

Este projeto simples quer ajudar pessoas e instituições nesta emergência. A difícil reposição de dispositivos fundamentais que em situações padrão são a base em todos os hospitais é um grande problema, assim como a escassez de dispositivos de proteção pessoal.

Open source como base para replicação e difusão rápida

O "pacote base" desta primeira versão visa produzir um dispositivo funcional com todas as partes:

1 - O Hardware

Uma lista curta com todas as peças necessárias, hardware comum e barato com enorme potencial: Arduino Nano (próximos micro e outros), sensor de pulso-oxímetro MAX30100, tela OLED 128x32, "placa de emergência".

2 - Invólucros impressos em 3D

Uma caixa simples impressa em 3D para proteger hardware e conexões.

3 - Clipe de dedo impresso em 3D

Um "invólucro de sensor de dedo" open-source e já disponível é a forma rápida de compartilhar o projeto. Encontre no repositório Thingiverse. É um "Pulse Oximeter Clip" para usar com placa MAX30100 desenhado por Peter_Smith.

4 - Placa de emergência simples

Para conectar eletricamente e suportar todas as partes, uma "baseboard" simples é construída com uma placa de circuito protótipo (próximo nível será circuito impresso). Dessa forma, conectar placa Arduino, sensor e tela OLED é rápido.

5 - O Código

Nesta versão preliminar, uma configuração base é construída para ter visão clara da frequência cardíaca e da oximetria, com monitoramento em tempo real. A configuração base e os parâmetros foram definidos para uso geral, algumas mudanças simples podem ser necessárias para situações específicas.

6 - As Instruções

Desenhos simples, instruções passo a passo e informações base para montagem e debug. Links para download de bibliotecas e repositório Thingiverse. Nada mais é necessário nesta fase.

AVISO LEGAL
Por favor, considere que esta aplicação, sensores e dispositivo funcional NÃO são testados para fins médicos e as peças individuais não são calibradas e não são certificadas. Use este dispositivo simples para fins preventivos e para monitorar pacientes apenas em situações de emergência quando nenhum outro dispositivo médico e oxímetros de pulso estiverem disponíveis. Todo uso fora deste escopo será por sua própria conta e risco, toda modificação ou alteração será por sua própria responsabilidade.

Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU como publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior. Este programa é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; sem nem mesmo a garantia implícita de COMERCIABILIDADE ou ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO. Veja a Licença Pública Geral GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este programa. Se não, veja gnu.org/licenses. Copyright © 2020, CEREBRUM™ srl

Baixar pelo menos um único arquivo ou usar qualquer conteúdo ou instrução referente a este trabalho significa aceitar o aviso legal e aceitar a intenção deste projeto, lançado sob situação de emergência de "doença Covid-19".

Código

CE_Pulse-Oxi_dev2.4.ino

/* This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later version.
 * Copyright 2020, CEREBRUM srl
 * Please consider that this application, sensors and functional device are NOT tested for
 * medical purpose and the single parts aren't calibrated and aren't certified.
 * CEREBRUM-oximeter dev. 2.4 - version 1.1 // April, 6 2020
 * Arduino NANO - 3,3v | i2c A4 (SDA) , A5 (SCL)
 * MAX30100 - PulseOximeter board (+3.3v | GND | SCA/SCL)
 * OLED SSD1306 128x32 (+3.3v | GND | SCA/SCL)
 */
#include 
#include "MAX30100_PulseOximeter.h"
#include "MAX30100.h"
#include 

#define REPORTING_PERIOD_MS 1000
#define PULSE_WIDTH MAX30100_SPC_PW_1600US_16BITS
#define IR_LED_CURRENT MAX30100_LED_CURR_40MA
#define LED_CURRENT MAX30100_LED_CURR_20_8MA
#define SAMPLING_RATE MAX30100_SAMPRATE_100HZ

U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);
PulseOximeter pox;
MAX30100 sensor;
uint32_t tsLastReport = 0;
uint32_t last_beat = 0;
bool initialized = false;
int HRclean;
int SpO2;

void onBeatDetected() {
  show_beat();
  last_beat = millis();
}

void show_beat() {
  u8g2.setFont(u8g2_font_cursor_tr);
  u8g2.setCursor(118, 10);
  u8g2.print("_");
  u8g2.sendBuffer();
}

void initial_display() {
  if (!initialized) {
    u8g2.clearBuffer();
    u8g2.setCursor(15, 12);
    u8g2.setFont(u8g2_font_crox2hb_tr);
    u8g2.print("CEREBRUM.it");
    u8g2.setFont(u8g2_font_crox2h_tr);
    u8g2.setCursor(30, 29);
    u8g2.print("Inicializando...");
    u8g2.sendBuffer();
    delay(4000);
    initialized = true;
    u8g2.clearBuffer();
    u8g2.setFont(u8g2_font_crox2hb_tr);
    if (!pox.begin()) {
      u8g2.setCursor(40, 12);
      u8g2.print("FALHOU");
      u8g2.setCursor(15, 29);
      u8g2.print("Verifique Sensor!");
      u8g2.sendBuffer();
      for(;;);
    } else {
      u8g2.setCursor(20, 12);
      u8g2.print("INICIALIZADO");
      u8g2.setCursor(0, 29);
      u8g2.print("Use o Sensor...");
      u8g2.sendBuffer();
    }
    delay(2000);
  }
}

void setup() {
  u8g2.begin();
  initial_display();
  pox.begin();
  pox.setOnBeatDetectedCallback(onBeatDetected);
  pox.setIRLedCurrent(LED_CURRENT);
  sensor.setMode(MAX30100_MODE_SPO2_HR);
  sensor.setLedsPulseWidth(PULSE_WIDTH);
  sensor.setSamplingRate(SAMPLING_RATE);
}

void loop() {
  pox.update();
  HRclean = pox.getHeartRate();
  SpO2 = pox.getSpO2();
  if ((millis() - tsLastReport > REPORTING_PERIOD_MS) && (HRclean > 30 && HRclean < 220 && SpO2 > 30 && SpO2 < 100)) {
    u8g2.clearBuffer();
    u8g2.setFont(u8g2_font_crox2h_tr);
    u8g2.setCursor(0, 12);
    u8g2.print("FC");
    u8g2.setCursor(75, 12);
    u8g2.print("bpm");
    u8g2.setCursor(0, 30);
    u8g2.print("SpO2 ");
    u8g2.setCursor(75, 30);
    u8g2.print("%");
    u8g2.setFont(u8g2_font_fub11_tf);
    u8g2.setCursor(45, 12);
    u8g2.print(HRclean);
    u8g2.setCursor(45, 30);
    u8g2.print(SpO2);
    u8g2.setFont(u8g2_font_cursor_tr);
    u8g2.setCursor(118, 10);
    u8g2.print("^");
    u8g2.sendBuffer();
    tsLastReport = millis();
  }
}

Peças personalizadas e invólucros

Esquemáticos

Processo de manufatura

  1. Impressão 3D de Metal: 5 Aplicações de Ponta Transformando a Indústria
  2. Por que Checklists Impulsionam a Eficiência da Planta: Benefícios Comprovados e Implementação Prática
  3. COVID-19: Estratégias-Chave para um Plano Eficaz de Resposta Emergencial da Cadeia de Suprimentos
  4. Construa um Dispositivo de Levitação Ultrassônica com Arduino – Guia Passo a Passo
  5. Health Band: Pulseira Inteligente para Monitoramento de Idosos com Arduino Nano e DPS310
  6. Guia Especializado para Seleção de Decks de Arame para Porta-Paletes Confiáveis
  7. 5 Casos de Uso Poderosos para Impressão 3D
  8. Soluções Premium de Fundição em Areia para Aplicações Industriais
  9. Bomba de Água Elétrica para Uso Residencial – Confiável, Eficiente e Fácil de Instalar
  10. Top Máquinas CNC EDM para Usinagem de Precisão