Módulo sensorial sensor de frequência cardíaca do dedo, este sensor é uma alternativa econômica para medir a freqüência cardíaca, é compatível com arduino, framboesa e microcontroladores.
Especificações:
Tensão de operação
Peso: 4 g
Dimensões: 25 x 12 x 12 mm
Código de amostra
O programa para este projeto é difícil de acertar. Na verdade, o primeiro passo é não executar o
script final, mas sim testar scripts que coletarão dados que podemos colar em uma planilha e gráfico para testar o algoritmo de suavização (mais sobre isso mais adiante).
O script de teste é fornecido no Projeto de Listagem 12.
int ledPin = 13;
int sensorPin = 0;
alfa duplo = 0,75;
int period = 20;
dupla alteração = 0,0;
void setup ()
{
pinMode (ledPin, OUTPUT);
Serial.begin (115200);
}
void loop ()
{
estático double oldValue = 0;
dupla estática oldChange = 0;
int rawValue =
analogRead (sensorPin);
valor duplo = alpha * oldValue
+ (1 – alfa) * rawValue;
Serial.print (rawValue);
Serial.print (“,”);
Serial.println (valor);
oldValue = valor;
atraso (período);
}
Este script lê o sinal bruto da entrada analógica e aplica a função de suavização e, em seguida,
grava ambos os valores no Serial Monitor, onde podemos capturá-los e colá-los em uma planilha para análise. Observe que as comunicações do Monitor Serial estão definidas para sua taxa mais rápida para
minimizar os efeitos dos atrasos causados pelo envio dos dados. Quando você inicia o Serial Monitor, você precisará alterar a velocidade serial para 115200 baud.
Copie e cole o texto capturado em uma planilha. Os dados resultantes e um gráfico de linhas retirado das duas colunas são mostrados na Figura 5-17. O traço mais irregular é dos dados brutos lidos da porta analógica, e o traço mais suave claramente remove a maior parte do ruído. Se o traçado suavizado mostrar um ruído significativo, em particular, quaisquer falsos picos que confundam o monitor aumentam o nível de suavização diminuindo o valor de alfa.
Depois de ter encontrado o valor correto de alfa para sua disposição de sensores, você pode transferir esse
valor para o esboço real e alternar para o uso do esboço real em vez do esboço de teste. O esboço real é fornecido na listagem a seguir na próxima página.
int ledPin = 13;
int sensorPin = 0;
alfa duplo = 0,75;
int period = 20;
dupla alteração = 0,0;
void setup ()
{
pinMode (ledPin, OUTPUT);
Serial.begin (115200);
}
void loop ()
{
estático double oldValue = 0;
dupla estática oldChange = 0;
int rawValue =
analogRead (sensorPin);
valor duplo = alpha * oldValue
+ (1 – alfa) * rawValue;
Serial.print (rawValue);
Serial.print (“,”);
Serial.println (valor);
oldValue = valor;
atraso (período);
}
Link: http://wiki.keyestudio.com/index.php/Ks0015_keyestudio_Pulse_Rate_Monitor