#include <Wire.h>
const int ledPin = 13;
const int analogInPin = A0;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT); // Define o pino do LED como saída (opcional)
}
void loop() {
int sensorValue = analogRead(analogInPin); // Lê o valor do sensor
int bpm = calculateBPM(sensorValue); // Calcula a frequência cardíaca
Serial.print("Valor do sensor: ");
Serial.print(sensorValue);
Serial.print(" | Frequência cardíaca: ");
Serial.print(bpm);
Serial.println(" BPM");
digitalWrite(ledPin, HIGH); // Acende o LED (opcional)
delay(500); // Espera 500ms
digitalWrite(ledPin, LOW); // Apaga o LED (opcional)
delay(500); // Espera 500ms
}
int calculateBPM(int sensorValue) {
// Ajuste esses valores com base na relação entre os valores do sensor e a frequência cardíaca
const int valorMinSensor = 0;
const int valorMaxSensor = 1023;
const int bpmMin = 60; // BPM mínimo esperado
const int bpmMax = 180; // BPM máximo esperado
// Mapeia o valor do sensor para um intervalo entre bpmMin e bpmMax
int bpm = map(sensorValue, valorMinSensor, valorMaxSensor, bpmMin, bpmMax);
// Retorna o valor mapeado
return bpm;
}