Skip to content

Latest commit

 

History

History
226 lines (167 loc) · 9.71 KB

File metadata and controls

226 lines (167 loc) · 9.71 KB

Sistema de Monitoramento de Batimentos Cardíacos com Alerta Sonoro

Descrição: O tutorial ensinará como desenvolver um sistema simples para monitorar os batimentos cardíacos com alerta sonoro usando o Arduino, ideal para iniciantes visualizarem aplicações do Arduino ou similares na área da saúde.


Índice


Introdução

Este circuito tem como finalidade simular uma situação recorrente hospitais que é a variação da frenquência cardíaca dos pacientes, onde se os valores dos batimentos por minuto (BPM) chegarem a determinados valores críticos enviasse informações como um alerta sono, isso pode ser facilmente escalável para o envio de notificações diretamente para os médicos e enfermeiros responsáveis, mas o intuito deste tutorial é a introdução de conhecimentos básicos a iniciantes e sua ambientação com as ferramentas, então será trabalhado um circuito mais simples.


Requisitos

Hardware

  • Placa: Arduino Uno
  • Sensores: Sensor de batimentos cardíacos(Sensor de Pulso)
  • Atuadores: Buzzer(emissão de alerta sonoro)
  • Outros componentes: Protoboard, 1 resistor de 1kΩ(depende do modelo do buzzer) e 5 jumpers

Software

  • Linguagens: C/C++ para Arduino.
  • IDE: Arduino IDE.
  • Bibliotecas:PulseSensor Playground

Configuração do Ambiente

Passo 1: Instalação do Software

  • Arduino IDE: Faça o download do software Arduino IDE que no tutorial a partir do link https://www.arduino.cc/en/software.

  • Bibliotecas: Para instalação da biblioteca necessária siga as etapas abaixo:

  1. Após realizar a instalação do Arduino IDE procure pelo icone que são vários livros um ao lado do outro: Etapa 1
  2. Agora na área de texto digite "PulseSensor Playground" e clique em "INSTALL" para instalar a única opção disponível. Etapa 2

Passo 2: Configuração das Placas

  • Arduino: Passo a passo para configuração da placa e porta que será utilizada.
  1. Conecte o arduino ao seu conputador utilizando o cabo USB.
  2. Clique na parte destacada: Etapa 1
  3. Após clicar em "Select Board" clique em: Etapa 2
  4. Na área de texto pesquise por "arduino uno", clique na opção de mesmo nome e no final clique em "OK" para confirmar: Etapa 3

Montagem do Circuito

Abaixo segue as instruções para montagem:

  1. Preparação da Protoboard e Conexão do GND
  • Conecte o pino GND do Arduino à linha de alimentação negativa (linha preta) da protoboard.
  1. Conexão da Linha Positiva da Protoboard
  • Conecte o pino 5V do Arduino à linha positiva (linha vermelha) da protoboard.
  1. Conexão do Sensor de Batimentos Cardíacos
  • GND do sensor(fio preto) conecta na linha negativa (linha preta) da protoboard a que tá conectada o GND do arduino.
  • VCC do sensor(fio vermelho) à linha positiva (linha vermelha) da protoboard.
  • Sinal do sensor ao pino A0 do Arduino (entrada analógica).
  1. Conexão do Buzzer
  • Conecte o pino positivo (normalmente marcado com um sinal "+" ou na cor vermelha) do buzzer a um pino digital do Arduino o pino 9.
  • Caso o modelo necessite coloque um resistor de 1kΩ a linha do pino positivo do buzzer e na outra ponta use para fazer a ligação com a pino 9.
  • Conecte o pino negativo (normalmente marcado com um sinal "-" ou na cor preta) do buzzer à linha negativa (linha preta) da protoboard, que está conectada ao GND do Arduino.

Dica: Tenha bastante atenção ao conectar as portas, ao fazer os caminhos dos cabos, revise todas as conexões e recomendo não fazer alterações com o arduino ligado ao computador.

Abaixo a imagem com o circuito totalmente montado: Imagem Circuito


Programação

Passo 1: Configuração do Sensor de Batimentos Cardíacos e do Buzzer

  • Primeiro, configuramos o pino do sensor de batimentos cardíacos e o pino do buzzer como entradas e saídas, respectivamente:
// Definição dos pinos
const int PulseSensorPin = A0; // Pino analógico do sensor de batimentos cardíacos
const int BuzzerPin = 9;       // Pino digital do buzzer

void setup() {
  // Configuração do pino do buzzer como saída
  pinMode(BuzzerPin, OUTPUT);
  
  // Configuração do pino do sensor como entrada
  pinMode(PulseSensorPin, INPUT);
}

Passo 2: Leitura dos Batimentos Cardíacos e Lógica de Alerta

  • Agora, lemos os batimentos cardíacos do sensor e verificamos se o valor está dentro da faixa normal. Se não estiver, acionamos o buzzer como alerta.
// Limites críticos dos batimentos cardíacos (BPM)
const int CriticalLow = 40;    // Limite inferior crítico (BPM)
const int CriticalHigh = 120;  // Limite superior crítico (BPM)

void loop() {
  int bpm = analogRead(PulseSensorPin);  // Lê os valores do sensor (batimentos cardíacos)
  
  // Converte o valor analógico para BPM
  bpm = map(bpm, 0, 1023, 40, 180); // A mapeação pode variar dependendo do sensor
  
  // Verifica se os batimentos estão fora da faixa normal
  if (bpm < CriticalLow || bpm > CriticalHigh) {
    digitalWrite(BuzzerPin, HIGH);   // Aciona o buzzer se os batimentos estiverem fora da faixa crítica
  } else {
    digitalWrite(BuzzerPin, LOW);    // Desativa o buzzer se os batimentos estiverem dentro da faixa normal
  }

  delay(500);  // Aguarda meio segundo antes de realizar uma nova leitura
}

Explicação do Fluxo do Código

  • Configuração dos Pinos:

  • O pino A0 é configurado como entrada para receber os dados do sensor de batimentos cardíacos.

  • O pino 9 é configurado como saída para controlar o buzzer, que emitirá o alerta sonoro.

  • Leitura e Mapeamento:

  • O código lê os valores do sensor de batimentos cardíacos e converte esses valores de uma leitura analógica para batimentos por minuto (BPM) utilizando a função map().

  • Lógica de Alerta:

  • Se os batimentos por minuto (BPM) estiverem fora da faixa crítica (abaixo de 40 BPM ou acima de 120 BPM), o buzzer será acionado, alertando que a frequência cardíaca está fora dos parâmetros normais.

  • Caso os batimentos estejam dentro da faixa normal, o buzzer permanecerá desligado.

Código completo

#include <PulseSensorPlayground.h>

const int PulseSensorPin = A0; // Pino do sensor de batimentos cardíacos
const int BuzzerPin = 9;       // Pino do buzzer
const int CriticalLow = 40;    // Limite inferior crítico (BPM)
const int CriticalHigh = 120;  // Limite superior crítico (BPM)

// Objeto da biblioteca para o sensor
PulseSensorPlayground pulseSensor;

void setup() {
  Serial.begin(9600);             // Inicia comunicação serial
  pinMode(BuzzerPin, OUTPUT);     // Configura o buzzer como saída

  // Configurações básicas do sensor
  pulseSensor.analogInput(PulseSensorPin);

  if (!pulseSensor.begin()) {     // Verifica se o sensor iniciou corretamente
    Serial.println("Erro ao inicializar o sensor.");
    while (true);                 // Para o código se houver erro
  }
}

void loop() {
  int bpm = pulseSensor.getBeatsPerMinute(); // Lê os BPM

  if (pulseSensor.sawStartOfBeat()) { // Detecta batimento
    Serial.print("BPM: ");
    Serial.println(bpm);
  }

  // Ativa o buzzer se os BPM forem críticos
  if (bpm < CriticalLow || bpm > CriticalHigh) {
    digitalWrite(BuzzerPin, HIGH);
  } else {
    digitalWrite(BuzzerPin, LOW);
  }

  delay(500); // Espera 500 ms
}

Teste e Validação

Descreva os testes para validar cada parte do projeto:

  1. Testando Sensores: Conecte o sensor, verifique os BPM no Serial Monitor e confirme se os valores são consistentes.
  2. Validação dos Atuadores: Simule BPM fora dos limites e confira se o buzzer liga/desliga corretamente.

Expansões e Melhorias

Sugestões para melhorar o projeto, como:

  • Notificação para Médicos e Enfermeiros: Enviar alertas diretamente para dispositivos móveis dos responsáveis.
  • Buzzer Remoto: Adicionar um buzzer em ambientes afastados para alertar médicos quando longe do paciente.
  • Interface Gráfica: Desenvolver uma aplicação simples para visualização, análise de dados e notificar as alterações.

Referências

1.Link para simulação no Tinkercard: https://www.tinkercad.com/things/gQEuSWMbvBM-monitoramento-de-batimentos-cardiacos-com-alerta-sonoro 2.Site oficial da biblioteca PulseSensor Playground: https://pulsesensor.com/pages/installing-our-playground-for-pulsesensor-arduino 3.Site com informações sobre o buzzer: https://components101.com/misc/buzzer-pinout-working-datasheet

Obs.:: O sensor de de pulso não tem disponível no Tinkercard, logo para haver uma simulação fiz adaptações e comentários na simulação.