Obtener BPM de un sensor IR.

He usado un valor IR para obtener un gráfico de las pulsaciones cardíacas según este tutorial.

Ahora bien, los valores de entrada en Arduino varían hasta 1023, ¿cómo puedo contar las pulsaciones del sujeto? Es decir, cogiendo una muestra de 90 valores en 5 segundos, como puedo obtener la cantidad de pulsaciones, gráficamente o intuitivamente, es muy fácil, en una serie de valores máximos hay un latido y cuando viene una serie de valores pequeños, se que no lo es. ¿Como se traduce esto a código o a algoritmo?

Porque llega a 1023, es raro?
Lo has visto en un osciloscopio? Realmente siguen el ritmo cardíaco?

No había visto tu enlace, que por cierto está mal posteado. Normas del FORO EN ESPAÑOL. mira acá como se postea.
Luevo vuelve y edita tu primer post.

Estan muy amplificados pero bueno para medir los BPM suficiente.

La información es importante que se comparta para todos (mas allá que esta en el enlace). Asi es mas fácil hablar sobre lo mismo.

Yo armaría un comparador externo o modificaría el circuito para que actúe como tal.
Veo una descarga capacitiva al final.
Si tomas muestras rápidas deberias ver ese flanco y no es facil.
Si usas una ISR disparada por flanco de subida, tal vez respondería bien.
Prueba usando una interrupción en el pin 2
Y luego cuentas pulsos.

¿Le podrás restar a la magnitud de las entradas el valor del ruido de tal forma que cuando sobrepasa ese ruido sabrás que efectivamente es una pulsación?