que hay, gente que lo sabe todo, tengo un problema. estoy realizando un proyecto de monitoreo del pulso cardiaco y la temperatura, como sensores de prueba estoy usando un sensor de pulsos (ese que tiene estampado un corazon) y el conocido LM35, a lo que voy es que necesito que ambos esten midiendo en un solo arduino (nano), cuando combino ambos codigos y trato de enlazar ambos codigos, la temperatura no la mide, cambia de manera repentina y bueno el sensor de pulsos, no me detecta mas de 10 bpm (latidos por minuto), este codigo lo hice buscando programas de por ahi para la temperatura y la frecuencia cardiaca. necesito solucionar este problema pues es para mi proyecto. y nose si tiene que ver que el arduino sea nano o uno, que los sensores sean anologos y se cruzen o quiza este mal el codigo. bueno espero que me ayuden con este problema.
aqui el codigo:
bool BPMTiming=false;
bool BeatComplete=false;
int LastTime=0;
int BPM=0;
#define UpperThreshold 550
#define LowerThreshold 500
float tempC; // Variable para almacenar el valor obtenido del sensor (0 a 1023)
int tempPin = 1; // Variable del pin de entrada del sensor (A1)
void setup() {
analogReference(INTERNAL);
Serial.begin(9600);
}
void loop()
{
int value=analogRead(0);
// calc bpm
if(value>UpperThreshold)
{
if(BeatComplete)
{
BPM=millis()-LastTime;
BPM=int(60/(float(BPM)/1000));
BPMTiming=false;
BeatComplete=false;
}
if(BPMTiming==false)
{
LastTime=millis();
BPMTiming=true;
}
}
if((value<LowerThreshold)&(BPMTiming))
BeatComplete=true;
// output bpm to serial monitor
Serial.print(BPM);
Serial.println(" BPM");
delay(1000);
// Lee el valor desde el sensor
tempC = analogRead(tempPin);
// Convierte el valor a temperatura
tempC = (1.1 * tempC * 100.0)/1024.0;
// Envia el dato al puerto serial
Serial.print(tempC);
Serial.print(" grados Celsius\n");
// Espera cinco segundo para repetir el loop
delay(1000);
}