Sensor de Batimentos Cardiacos no arduino

19 SET
2015

Autor: Leonardo Dalla Porta

Sensor de Batimentos Cardiacos no arduino

O sensor de batimentos cardíacos é um dispositivo médico conhecido usado para monitoramento da freqüência cardíaca não invasiva. Sensor de Pulsações Amped responde a alterações relativas na intensidade da luz. Se a quantidade de luz incidente sobre o sensor mantém-se constante, o valor do sinal permanecerá no (ou perto) 512 (ponto médio da gama ADC). Mais luz e o sinal sobe.Menos luz, o oposto. A luz do LED verde que é refletida de volta para as mudanças sensor durante cada pulso.

figura 1

Nosso objetivo é encontrar momentos sucessivos de batimento cardíaco instantâneo e medir o tempo entre, chamado the Beat Inter Interval (IBI). Ao seguir a forma eo padrão da onda PPG previsível, somos capazes de fazer exatamente isso.

 

Alguns pesquisadores dizem que é do coração quando o sinal chega a 25% da amplitude, alguns dizem que quando é 50% da amplitude, e alguns dizem que é o ponto em que a inclinação é mais acentuada durante o evento ascensão para cima. Esta versão 1.1 do código do sensor de pulso é projetado para medir o IBI cronometrando entre momentos quando o sinal atravessa 50% da amplitude da onda durante esse aumento para cima rápido. O BPM é derivado cada batida de uma média dos tempos anteriores 10 IBI.  Aqui está como o fazemos!

Em primeiro lugar, é importante ter uma taxa de amostragem regular com resolução suficiente para obter medições fiáveis ​​de que o intervalo entre cada batimento. Para fazer isso, montamos Timer2, um temporizador de hardware 8 bit no ATmega328 (ONU), de modo que ele gera uma interrupção a cada dois milissegundos.Isso nos dá uma taxa de amostragem de 500Hz, e batimento a batimento resolução de temporização de 2mS (Nota 2). Isso irá desativar a saída PWM no pino 3 e 11. Além disso, ele irá desativar o comando tom (). Esse código funciona com Arduino UNO ou Arduino PRO ou Arduino Pro Mini 5V ou qualquer Arduino execução com um ATmega328 e relógio 16MHz.

 

Ligações

As ligações deste sensor são muito simples, basta conectar o fio preto ao GND, o fio vermelho aos 5V, e o fio roxo ao pino A0 do arduino:

PulseSensorAmpedFinger-web_2

 

 

 

Pra cair dentro do assunto:

NOME DA VARIÁVEL

TAXA DE ATUALIZAÇÃO

O QUE É ISSO

Sinal 2mS Sinal do sensor de pulso cru
IBI cada batida tempo entre batimentos cardíacos em MS
BPM cada batida batimentos por minuto
QS definir verdadeiro cada batida deve ser afastada pelo usuário
Pulso definir verdadeiro cada batida foi afastada pelo ISR
Lá você tem o código básico batida constatação. Tendo todas as variáveis ​​vitais atualizados automaticamente torna mais fácil fazer fazer coisas divertidas na função loop (). Nosso exemplo que trabalha com processamento para criar um batimento cardíaco e visualizar é um exemplo básico.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int pulsePin = 0;          
int blinkPin = 13;         
int fadePin = 5;           
int fadeRate = 0;  
volatile int BPM;                  
volatile int Signal;                
volatile int IBI = 600;             
volatile boolean Pulse = false; 
volatile boolean QS = false;  
volatile int rate[10];                  
volatile unsigned long sampleCounter = 0;   
volatile unsigned long lastBeatTime = 0;      
volatile int P =512;                
volatile int T = 512;               
volatile int thresh = 512;       
volatile int amp = 100;          
volatile boolean firstBeat = true;       
volatile boolean secondBeat = false; 
 
void setup(){
  pinMode(13,OUTPUT);  
  pinMode(10,OUTPUT);  
  Serial.begin(115200);  
  interruptSetup();      
//  analogReference(EXTERNAL);  
}

 

PulsePin é o número pino analógico que Pulso Sensor fio roxo está conectado. Você pode mudá-lo se você precisar. blinkPin piscará com o pulso. A variável fadeRate é usado para fornecer um efeito de desvanecimento opcional com cada batida em fadePin LED (deve ser um pino de PWM, mas não 3 ou 11). Ele parece mais agradável do que um piscar no pino 13. As outras variáveis ​​devem ser familiares para você agora.Eles são declarados volátil, porque eles se acostumar no ISR e as outras partes do código. Na instalação, instruções de pinos são declarados ea rotina interruptSetup é executado. A última linha na configuração só é usado quando você tem uma tensão diferente de ligar o sensor de pulsações do que você está usando para alimentar o Arduino. Principalmente, deve ser comentada.

 

Qualquer dúvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

Deixe um comentário

mugen 2d fighting games

*

 
Weboy
WordPress Themes