Módulo sensor de sensor de frecuencia cardíaca de dedo, este sensor es una alternativa económica para medir la frecuencia cardíaca, es compatible con Arduino, Raspberry y microcontroladores.
especificaciones:
tensión de funcionamiento
Peso: g 4
Dimensiones: 25 x 12 x 12 mm
Código de muestra
El programa para este proyecto es difícil de acertar. De hecho, el primer paso es no ejecutar el
script final, sino scripts de prueba que recopilarán datos que podemos pegar en una hoja de cálculo y un gráfico para probar el algoritmo de suavizado (más sobre esto más adelante).
El script de prueba se proporciona en el Listado de proyectos 12.
pin led int = 13;
pin del sensor int = 0;
doble alfa = 0,75;
período int = 20;
cambio doble = 0,0;
configuración vacía ()
{
pinMode(ledPin, SALIDA);
Serial.begin(115200);
}
bucle vacío ()
{
valor antiguo doble estático = 0;
static double oldChange = 0;
int valor sin procesar =
lectura analógica (Pin del sensor);
valor doble = alfa * valor anterior
+ (1 – alfa) * valor sin procesar;
Serial.print(valor bruto);
Serial.print (",");
Serial.println(valor);
valorAntiguo = valor;
retraso (período);
}
Este script lee la señal sin procesar de la entrada analógica y aplica la función de suavizado, luego
escribe ambos valores en Serial Monitor, donde podemos capturarlos y pegarlos en una hoja de cálculo para su análisis. Tenga en cuenta que las comunicaciones de Serial Monitor están configuradas a su velocidad más rápida para
minimizar los efectos de los retrasos causados por el envío de datos. Cuando inicie Serial Monitor, deberá cambiar la velocidad de serie a 115200 baudios.
Copie y pegue el texto capturado en una hoja de cálculo. Los datos resultantes y un gráfico lineal tomado de las dos columnas se muestran en la Figura 5-17. El rastro más suave proviene de los datos sin procesar leídos desde el puerto analógico, y el rastro más suave elimina claramente la mayor parte del ruido. Si la traza suavizada muestra un ruido significativo, en particular, los picos falsos que confunden al monitor aumentan el nivel de suavizado al disminuir el valor alfa.
Una vez que haya encontrado el valor alfa correcto para su conjunto de sensores, puede transferirlo
valor para el boceto real y cambie a usar el boceto real en lugar del boceto de prueba. El boceto real se proporciona en la siguiente lista en la página siguiente.
pin led int = 13;
pin del sensor int = 0;
doble alfa = 0,75;
período int = 20;
cambio doble = 0,0;
configuración vacía ()
{
pinMode(ledPin, SALIDA);
Serial.begin(115200);
}
bucle vacío ()
{
valor antiguo doble estático = 0;
static double oldChange = 0;
int valor sin procesar =
lectura analógica (Pin del sensor);
valor doble = alfa * valor anterior
+ (1 – alfa) * valor sin procesar;
Serial.print(valor bruto);
Serial.print (",");
Serial.println(valor);
valorAntiguo = valor;
retraso (período);
}
Enlace: http://wiki.keyestudio.com/index.php/Ks0015_keyestudio_Pulse_Rate_Monitor