Utilizando Sensor de Pulsos com Arduino

Sensor-de-Pulsos-com-Arduino
Font Size

Olá tudo bem? Hoje vamos estar utilizando o sensor de pulsos com Arduino. É bem verdade que em muitos projetos, nós trabalhamos apenas com algo mais voltado para a automação, seja ela na robótica ou até voltado para nossas casas.

Contudo, este sensor nos permite entrar em um ramo muito amplo do Arduino. Estou falando dos conhecidos projetos Wearables utilizando plataformas do Arduino como: Lilypad, Lilytiny, Flora, Gemma, Pro Mini, etc.

Mas isso é assunto para outro post, o fato é que vamos aprender hoje a medir os batimentos do coração. Então bora saber como está os seus batimentos cardíacos? Vamos nessa!

Como funciona o Sensor de Pulso com Arduino?

Este módulo é constituído de um sensor de pulsos, ou frequência cardíaca, que está sendo combinado por um sensor óptico com amplificador. Este amplificador será responsável por enviar o sinal analógico para o Arduino.

Observe portanto, que o nosso sensor vai estar enviando dados analógicos para o nosso Arduino, ou seja, iremos conectá-lo nos pinos analógicos do Arduino. Combinado?

Além disso, o seu tamanho é bem pequeno (16 x 2,7mm). Mas também, ele possui baixo consumo de energia (cerca de 4mA) e sua tensão de operação é na faixa de (3~5V).

Veja também –

Esquemático do Sensor de Pulso

Hardware do Sensor de Pulsos

Fonte: Naylamp Mechatronics

Então. analisando a imagem abaixo, podemos comprovar o tamanho reduzido do sensor de pulso além de perceber que ele possui apenas 3 pinos. Esses pinos se resume apenas em: Sinal, VCC, GND.

Então, é bem claro o lugar que cada pinos será colocado, não? No caso acima, a ligação está da seguinte forma:

Quais as utilizações do Sensor de Pulso com Arduino?

Para este tipo de sensor, é mais certo utilizar para projetos voltados para o cálculo dos batimentos cardíacos.

Então é possível utilizar ele em projetos para controlar um wearable que pisque na velocidade dos batimentos. Além disso, pode-se medir níveis de atividade, ansiedade de pessoas ou jogadores.

Um infinidade de projetos é possível, só ter aquela ideia bem legal!

Vamos agora entrar em nosso projeto de hoje. Onde iremos fazer diversos led’s piscarem de acordo com os nossos batimentos cardíacos. Vamos nessa?

Lista de Componentes

Ligação do Circuito com Sensor de Pulsos

Vamos agora realizar a ligação de nosso circuito seguindo a imagem abaixo:

Esquema de Ligação no Arduino

Fonte: AutoCore Robótica

Código do Projeto Comentado

Para executar o projeto, será preciso realizar o download da pasta com os código no site do Autor. Pois o código se reparte em outros 3. Por isso, realize o download do código e descompacta ele. Combinado?

Download Código do Arduino
/*  Autor: Joel Murphy and Yury Gitman  || visite o site: http://www.pulsesensor.com

----------------------  Observações ----------------------  
Para mais informações sobre o projeto acesse:
https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino/blob/master/README.md
 ---------------------------------------------------------
*/

#define PROCESSING_VISUALIZER 1
#define SERIAL_PLOTTER  2

// Definindo as Variáveis
int pulsePin = 0;                 // Pino de Dados do Sensor conectado a porta A0
int blinkPin = 13;                // Pino onde conectamos o LED (pino 13)
int fadePin = 5;                  // Pino onde será o conectado o LED do efeito 'Fade'
int fadeRate = 0;                 // Variavel para realizar o efeito 'Fade'

// Criação das variaveis voláteis usadas nas rotinas de interrupção
volatile int BPM;                   // Variável que vai armazenar o valor do A0 e atualiza a cada 2ms
volatile int Signal;                // Recebe os dados do sensor
volatile int IBI = 950;             // Essa variável vai determinar o intervlo de batidas
volatile boolean Pulse = false;     // "true" = detectou a pulsação.
volatile boolean QS = false;        // "true" = o Arduino encontrou uma pulsação de algo

/*
--------------------------------------------------------------
.  Você sabia que podemos mostrar tudo isso no Processing?
.  Olhe esse post do autor: https://github.com/WorldFamousElectronics/PulseSensor_Amped_Processing_Visualizer
--------------------------------------------------------------
*/

// Para visualizar os gráfico, basta acessa o 'Serial Plotter' ou pressionar CTRL + SHIFT + L

static int outputType = SERIAL_PLOTTER;

void setup(){
  pinMode(blinkPin,OUTPUT);         // Declarando os leds como saída!
  pinMode(fadePin,OUTPUT);
  Serial.begin(115200);
  interruptSetup();                 // Ativa a função para fazer a leitura a cada 2ms
}
//----------------------------------------------------------------
// Aqui é onde a mágica acontece!
void loop(){

    serialOutput();

if (QS == true){       // Uma pulsação foi encontrada
                       // Então vamos calcular o BPM e o IBI dele
                       
   fadeRate = 255;                  // Faz o efeito 'Fade
   serialOutputWhenBeatHappens();
   QS = false;                      
  }
  ledFadeToBeat();                       // Faz o efeito 'Fade' acontecer
  delay(95);                             // Dê uma pausa
}
//-------------------------------------------------------------------
void ledFadeToBeat(){
    fadeRate -= 30;                         
    fadeRate = constrain(fadeRate,0,255);
    analogWrite(fadePin,fadeRate);
  }
//--------------------------------  FIM  ----------------------------

Resultado do Projeto

Então para encerrar o projeto de hoje, estou deixando para você um vídeo do canal da AutoCore no Youtube. Nele, estamos mostrando o resultado do projeto desenvolvido!

Mas e ai? Gostou do post? Caso tenha ficado algo incompleto para você, comenta abaixo 

Dicas Dúvidas?  Idéias de post? Críticas?  Só comentar também! 

Forte abraço!

Posts relacionados

Conhecendo o Protocolo SPI com Arduino

por Danilo Nogueira
5 anos ago

Programando o arduino em português

por autocore
7 anos ago

Conhecendo o Protocolo I2C com Arduino

por Danilo Nogueira
5 anos ago
Sair da versão mobile